ベジェ曲線で、円を描けるだろうか。
ためしにペイントで描いてみた。180度まではきれいに描けた。
青と赤と細い緑の線がベジェ曲線で、それぞれ90, 180, 270度の円弧を描こうとしたものである。
270度の線はゆがんでしまい、描けなかった。
どのあたりに制御点を置けばいいのかというと、下図のとおりである。
直線らしいゆがんだ線の頂点が、制御点である。
中間にある2つの制御点は、どちらも、始点と終点から、接線の方向に向かってずらした位置にある。
そのずらす長さを考えてみた。
単位円上で、適当な角度の円弧をベジェ曲線で描く。
始点と終点は分かる。
t=0.5において通りたい点 M は、角度が1/2の地点なので、
B(0.5)=0.125P0+0.375P1+0.375P2+0.125P3 = M となる。
これを変形すると、P1 と P2 の中点、(P2+P1) / 2 = O が求まる。
そして、P0とP3の中点と、Oの間の長さを求め、l を求める。
l = ( |O| – cos(θ/2) ) / sin(θ/2)
となるので、始点と終点からそれぞれ、接線の方向に移動した場所を P1, P2 とする。
#手書き汚い
これを基に表計算に入力して、各地点から原点への長さをグラフにすると以下の様になった。
始点と中点と終点を確実に通るようにしたので、1/4 地点と 3/4 地点で誤差が最大になり、誤差が大きい場合、膨らんだ形になる。
角度ごとの最大誤差での原点への距離を計算した。
45 | 1.0000040 |
50 | 1.0000076 |
55 | 1.0000134 |
60 | 1.0000227 |
65 | 1.0000366 |
70 | 1.0000572 |
75 | 1.0000865 |
80 | 1.0001275 |
85 | 1.0001835 |
90 | 1.0002587 |
95 | 1.0003581 |
100 | 1.0004876 |
105 | 1.0006541 |
110 | 1.0008658 |
115 | 1.0011321 |
120 | 1.0014638 |
125 | 1.0018735 |
130 | 1.0023755 |
135 | 1.0029862 |
140 | 1.0037243 |
145 | 1.0046108 |
150 | 1.0056696 |
155 | 1.0069278 |
160 | 1.0084160 |
165 | 1.0101685 |
170 | 1.0122243 |
175 | 1.0146271 |
180 | 1.0174262 |
185 | 1.0206776 |
190 | 1.0244441 |
195 | 1.0287971 |
200 | 1.0338173 |
205 | 1.0395965 |
210 | 1.0462393 |
215 | 1.0538651 |
220 | 1.0626108 |
225 | 1.0726340 |
グラフにした
180度ぐらいから一気に誤差が増える。
180度でも2%近い誤差なので、90度ぐらいで分割するほうが無難だろう。
下の如き 曲線 C2 を 深く考察された(例えば 曲率 その縮閉線等)経験がお在りでしょうか?
C2は円C1に「近い」と云えます…
學生さん 向けに;
(x,y)∈[0,Pi]×[0,Pi]とし, 2つの 曲線
C1;(x – Pi/2)^2 + (y – Pi/2)^2 = (Pi/(3*Sqrt[2]))^2,
C2; Sin[x] + Sin[y] == Sqrt[3] を考察する。
(1)共通点を求めよ。
(2)2曲線で囲まれる部分の面積を求めよ。(狭間の面積で遠近定義..)
(3)C2 と x+y=k が 接するkと 接点の座標と 接線 を求めよ。
(4)(3,1)を中心とする円が C2 に 接する半径 r と 接点の座標と 接線 を求めよ
いいねいいね