0

我需要创建一个七边形。我想通过创建一个三角形来做到这一点,然后在我旋转它之后再次循环绘制它。

x1 = [ 0.5, 0.48, 0.55 ];
y1 = [ 0.5, 0.578, 0.558 ];
fill( x1, y1, 'w')

这给了我第一个三角形,但是我试图找出一种方法来循环遍历它并每次旋转它(我假设七边形为 51.43 度)。

4

1 回答 1

0

你想要一个旋转矩阵。我试过这个:

t = pi / 3.5;
R = [cos(t) sin(t); -sin(t) cos(t)];
c = [0 1 cos(t); 0 0 sin(t)];
hold on;
for i=1:7
  fill(c(1, :), c(2, :), 'w');
  c = R * c;
end

R 围绕原点旋转 - 所以如果你想以 (0.5, 0.5) 为中心,那么你需要在绘制之前将 c 平移那个量。我更改了您的起始坐标,使它们成为一个三角形,从 (0, 0) 开始,一条边沿 x 轴。

于 2012-04-23T22:12:48.550 回答