Clear Filters
Clear Filters

Drawing a star with n points

16 views (last 30 days)
James Connor
James Connor on 16 Oct 2015
Commented: Adam Danz on 25 Mar 2021
Hi guys I have this question to do but I have no clue for any of it.
First write a function file star.m with first line function turtle=star(turtle,npoints,R,r) which uses turtle to draw a star centred at the turtle’s current location. Inputs: • turtle: an initialized turtle to draw the star with; • npoints: the number of points the star; • R: distance from the centre of the star to the points; • r: distance from the centre to the inward corners between the points. Output turtle: turtle used for drawing in its new state. One point of the star should point in the initial direction of the turtle.
Thanks help would be appreciated.
  4 Comments
Maria Koneva
Maria Koneva on 11 Jun 2020
Sounds like python
Adam Danz
Adam Danz on 25 Mar 2021
See createStarVertices() on the file exchange where you can set
  • number of rays
  • center point
  • inner and outer diameters
  • orientation

Sign in to comment.

Accepted Answer

Image Analyst
Image Analyst on 16 Oct 2015
Attached are my only two star demos. You're welcome to adapt them.
  2 Comments
James Connor
James Connor on 18 Oct 2015
Hey I'm not really sure what to modify on your code to turn it into a regular star? Thanks for the help
Image Analyst
Image Analyst on 18 Oct 2015
Edited: Image Analyst on 18 Oct 2015
James, try this to draw one star. Change parameters to do whatever else you need to do with your turtle to define the location and angle of the star.
% Define parameters
numberOfPoints = 5;
rotationAngle = 0;
xCenter = 3;
yCenter = 4;
% Determine the angles that the arm tips are at
theta = (0 : (numberOfPoints-1)/numberOfPoints*pi : (numberOfPoints-1)*pi) + rotationAngle;
% Define distance from the arm tip to the center of star.
amplitude = 3;
% Get x and y coordinates of the arm tips.
x = amplitude .* cos(theta) + xCenter;
y = amplitude .* sin(theta) + yCenter;
% Draw it.
plot(x, y, 'b-', 'LineWidth', 2);
grid on;
axis square;

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!