specifying the coordinates of the corners of astraight line segments

1 visualización (últimos 30 días)
Mads Albertsen
Mads Albertsen el 13 de Ag. de 2021
Respondida: DGM el 13 de Ag. de 2021
i have tried multiple different ways but always end up with errors, i need to make the following equation into a loop
The initial point is x0 = (0, 0)T and the initial direction is along a unit vector d0 = (1, 0)T .
the angel i get from a row vector consisting of alternating length and angle specifications [l1, φ1, l2, φ2, . . . ].
the l_n is always the same, but the angel changes, i split it up so i got 2 vectors, 1 with the length and 1 with the angels.
idk if it is enough information, in short, i want the equation to run the same number of times there is l_n in the vector.
if anymore information is needed let me know, and thanks in advance

Respuestas (1)

DGM
DGM el 13 de Ag. de 2021
Something like this?
pt0 = [0 0]; % initial position [x y]
segl = 1; % segment length
N = 10; % number of segments
% these are the polar component vectors
segments = ones(1,N)*segl;
angles = [0 45 90 45 -90 180 -135 -180 45 90];
% convert to rectangular deltas
pts = [segments.*cosd(angles); segments.*sind(angles)].';
% accumulate deltas
pts = cumsum([pt0; pts],1);
plot(pts(:,1),pts(:,2))
If the angles are relative, you could just do cumsum on the angle vector before converting.

Categorías

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

Productos


Versión

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by