Filter löschen
Filter löschen

Drawing a star with n points

16 Ansichten (letzte 30 Tage)
James Connor
James Connor am 16 Okt. 2015
Kommentiert: Adam Danz am 25 Mär. 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 Kommentare
Maria Koneva
Maria Koneva am 11 Jun. 2020
Sounds like python
Adam Danz
Adam Danz am 25 Mär. 2021
See createStarVertices() on the file exchange where you can set
  • number of rays
  • center point
  • inner and outer diameters
  • orientation

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Image Analyst
Image Analyst am 16 Okt. 2015
Attached are my only two star demos. You're welcome to adapt them.
  2 Kommentare
James Connor
James Connor am 18 Okt. 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 am 18 Okt. 2015
Bearbeitet: Image Analyst am 18 Okt. 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;

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by