Borrar filtros
Borrar filtros

Drawing a star with n points

16 visualizaciones (últimos 30 días)
James Connor
James Connor el 16 de Oct. de 2015
Comentada: Adam Danz el 25 de Mzo. de 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 comentarios
Maria Koneva
Maria Koneva el 11 de Jun. de 2020
Sounds like python
Adam Danz
Adam Danz el 25 de Mzo. de 2021
See createStarVertices() on the file exchange where you can set
  • number of rays
  • center point
  • inner and outer diameters
  • orientation

Iniciar sesión para comentar.

Respuesta aceptada

Image Analyst
Image Analyst el 16 de Oct. de 2015
Attached are my only two star demos. You're welcome to adapt them.
  2 comentarios
James Connor
James Connor el 18 de Oct. de 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 el 18 de Oct. de 2015
Editada: Image Analyst el 18 de Oct. de 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;

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Assembly en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by