回答編集履歴
1
追記
answer
CHANGED
@@ -1,3 +1,21 @@
|
|
1
1
|
「円」を描画する手段を用意し,
|
2
2
|
「楕円」は,それを適当に変換すれば良いのではないでしょうか.
|
3
|
-
`glRotated` とか `glScaled` とかそういうので.
|
3
|
+
`glRotated` とか `glScaled` とかそういうので.
|
4
|
+
|
5
|
+
---
|
6
|
+
|
7
|
+
> どういった数式
|
8
|
+
|
9
|
+
と問われたならば,結局は「上記のことで行われる演算」ということになります.
|
10
|
+
「円を引き延ばし(あるいは縮め),回転し,所望の位置に平行する」という.
|
11
|
+
|
12
|
+
* スケーリング変換の行列を **S**
|
13
|
+
* 回転変換の行列を **R**
|
14
|
+
* 平行移動のための行列を **T**
|
15
|
+
|
16
|
+
とすれば,「円」の周上の座標 **p** から,
|
17
|
+
|
18
|
+
結果座標(所望の楕円の周上の座標) = **T** * **R** * **S** * **p**
|
19
|
+
|
20
|
+
とかして計算してやればいい.
|
21
|
+
(あなたがいつもやっていることですよね)
|