如何在Matlab中使用此算法制作多边形?

时间:2019-02-28 18:57:59

标签: algorithm matlab matlab-figure polygon

因此,在我的“模拟与建模”课程中,老师要求我们使用一种算法在matlab中绘制具有7个边的多边形。

这是算法:

考虑一个矢量i,该矢量i的方向为多边形的边之一,并应用旋转矩阵,找到其他矢量i1,i2,i3,...,n(边的数量),且方向为多边形。在n次旋转结束时,您应该获得初始向量。

我似乎无法理解。 我该怎么办?

res矩阵只是存储矢量坐标然后绘制它们。

这是我编写的代码:

clear all
close all

n = 7;
ang = ((n - 2) * pi) / n;
R = [cos(ang), -sin(ang); sin(ang), cos(ang)];
p = [2; 2];
v = [sqrt(2); sqrt(2)];
res = zeros(2, n);
res(:, 1) = p;

for i = 1:n + 1
    p = v + p;
    v = R * v;
    res(:, i) = v;
end

plot(res(1, :), res(2, :), '-r')
axis equal

p是起点

v是向量

R是旋转矩阵

ang是旋转角度

0 个答案:

没有答案