因此,在我的“模拟与建模”课程中,老师要求我们使用一种算法在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是旋转角度