0

七角形を作成する必要があります。これを行うには、1 つの三角形を作成し、回転させた後にループして再度描画します。

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 をその量だけ移動する必要があります。開始座標を変更して、x 軸に沿って 1 つのエッジを持つ (0, 0) から始まる三角形にしました。

于 2012-04-23T22:12:48.550 に答える