2016-12-28 4 views
0

キャンバスに回転楕円を描きたい、私はlineToメソッドを使用しようとしています。 x軸またはy軸の周りを公転するように、回転するようにそれを作るためのパラメータとして、いくつかの天使を追加する方法を知っているlineTo()メソッドを使用してキャンバスに回転楕円を描画する方法は?

私は楕円形を描くことができ、この式

xposition = centerX + Math.cos(angle) * radiusX; yposition = centerY + Math.sin(angle) * radiusY;

を使用して知っているが、私はいけません軸またはz軸に沿って移動する。

答えて

2

あなたが数式を使用することができ、その中心の周りに楕円を回転させる:Y-またはXの周りを回転するように

x = (cx + rx * Cos(t)) * Cos(fi) - (cy + ry * Sin(t)) * Sin(fi) 
y = (cx + rx * Cos(t)) * Sin(fi) + (cy + ry * Sin(t)) * Cos(fi) 

を使用して、(約原点座標)をZ軸の周りを回転するように

x = rx * Cos(t) * Cos(fi) - ry * Sin(t) * Sin(fi) + cx 
y = rx * Cos(t) * Sin(fi) + ry * Sin(t) * Cos(fi) + cy 

を-axes、回転のアフィン変換を適用し、Z座標を無視する(OXY平面上で投影する)

+0

この式がどのように出てきたかについてもう少し説明できますか? –

+0

またはそれに関連するリンクがありますか? –

+0

https://en.wikipedia.org/wiki/Transformation_matrix楕円は中心点を中心に回転 - 回転+翻訳 – MBo

関連する問題