コンテンツにスキップ

Topic:個別の数学に関する議論/3次元デカルト座標系の描き方/2

提供:ウィキバーシティ

前述の議論を、透視投影、透視図法に一般化する

[編集]

まず、前回も書いた、三次元の矢印座標の z軸を手前に( y軸の負方向に)θラジアン倒し、さらに その z軸を軸に右回転させ、グローバル座標上、 x-y、 y-z平面が作る角を二等分する平面上に矢印座標の y軸が載るようにしたときの、 1の長さのローカル矢印座標の先の点のグローバル上での座標は、

x軸 ( Sqrt(1/(Sin(θ)^2+1)) , -Sin(θ)Cos(θ)/Sqrt(Sin(θ)^2+1) , -Sin(θ)^2/Sqrt(Sin(θ)^2+1) )

y軸 ( Sin(θ)/Sqrt(Sin(θ)^2+1) , Cos(θ)/Sqrt(Sin(θ)^2+1) , Sin(θ)/Sqrt(Sin(θ)^2+1) )

z軸 ( 0 , -Sin(θ) , Cos(θ) )

になります。

ここで、我々はこの3次元矢印座標系をグローバル y軸の正方向に、グローバル y座標が負の地点から見るわけですね。そこで一気に結論を書いていきますが、グローバル座標の (x,y,x) からy軸正方向に見た透視投影は,

矢印座標系の原点 ( -x , -x )

x軸の先 ( y*(x*Sqrt[Sin[θ]^2+1]-1)/(-y*Sqrt[Sin[θ]^2+1]-Sin[θ]*Cos[θ]) , y*(x*Sqrt[Sin[θ]^2+1]+Sin[θ]^2)/(-y*Sqrt[Sin[θ]^2+1]-Sin[θ]*Cos[θ]) )

y軸の先 ( y*(x*Sqrt[Sin[θ]^2+1]-Sin[θ])/(-y*Sqrt[Sin[θ]^2+1]+Cos[θ]) , y*(x*Sqrt[Sin[θ]^2+1]-Sin[θ])/(-y*Sqrt[Sin[θ]^2+1]+Cos[θ]) )

z軸の先 ( x*y/(-y-Sin[θ]) , y*(Cos[θ]-x)/(y+Sin[θ]) )

x,y,θの取りうる値は,

y < -Sin[θ]

0 < x < Cos[θ]

0 <= θ < Pi/2

ローカル y軸の透視投影上の消失点は?

[編集]

これも一気に結論を書いてしまいますが,視点が (x,y,x) のときの矢印座標 y軸の消失点は,

( -y*Sin[θ]/Cos[θ] , -y*Sin[θ]/Cos[θ] )

です。

透視投影上のローカル軸 x軸 の長さとみていいもの

[編集]

ローカルy軸の消失点と水平の長さを考えて計算してみると…,これ,実は計算してみて驚いたんですが, x と y が消えて,θだけに依存する値になりますね。

Sqrt[Sin[θ]^2+1]

ただここで x軸の長さとみていいものとは,ローカル x軸の透視投影上の長さそのものではなく,消失点を考慮した,透視投影上グローバル x軸方向の長さのことです。

透視投影上のローカル y軸の長さ

[編集]

Sqrt[2]*(y*Sin[θ]-x*Cos[θ])/(y*Sqrt[Sin[θ]^2+1]-Cos[θ])

透視投影上のローカル軸 z軸 の長さとみていいもの

[編集]

(x*Cos[θ]^2-y*Sin[θ]*Cos[θ])/(x*Cos[θ]-Sin[θ]*(y+Sin[θ]))

透視投影上のローカル y軸の長さの2倍がローカル x軸の長さ様の値だとした時の x,y,θ の関係式

[編集]

x=-y*(Sin[θ]^2-2*Sqrt[2]*Sin[θ]+1)/(2*Sqrt[2]*Cos[θ])+Sqrt[Sin[θ]^2+1]/(2*Sqrt[2])

そして…

[編集]

この xが,前々々々々々項の条件を満たさなければいけないわけです。

そこでまず左項を考えると…。

-y*(Sin[θ]^2-2*Sqrt[2]*Sin[θ]+1)/(2*Sqrt[2]*Cos[θ]) > -Sqrt[Sin[θ]^2+1]/(2*Sqrt[2])

これは, Sin[θ] > Sqrt[2]-1 のとき,

y > Cos[θ]*Sqrt[Sin[θ]^2+1]/(Sin[θ]^2-2*Sqrt[2]*Sin[θ]+1)

になり,結局θはこの 6次不等式を満たさなければいけません。

Sin[θ]^6-4*Sqrt[2]*Sin[θ]^5+11*Sin[θ]^4-4*Sqrt[2]*Sin[θ]^3+Sin[θ]^2-1 < 0

結局この条件でのθは

θ < (Sin[θ]^6-4*Sqrt[2]*Sin[θ]^5+11*Sin[θ]^4-4*Sqrt[2]*Sin[θ]^3+Sin[θ]^2-1=0 の 61.76379°付近の解) = 61.76379…°

になりますね…。

そして Sin[θ] = Sqrt[2]-1 の時は…,

x=Sqrt[2-Sqrt[2]]/2

そして

Sqrt[2-Sqrt[2]]/2 < Sqrt[2*(Sqrt[2]-1)]

なので,結局このθの時は最初の条件を満たす全ての y を勘定に入れることができます。

では次に Sin[θ] > Sqrt[2]-1 のときの右項を考えます。

この不等式は前述の条件を満たすときには成り立っています。

そこで次は,Sin[θ] < Sqrt[2]-1 の時の左項ですね。

これは与えられている全ての y ,θでなりたっている。

右項は…。

y > -Cos[θ]*(2*Sqrt[2]*Cos[θ]-Sqrt[Sin[θ]^2+1])/((Sin[θ]-(Sqrt[2]+1))*(Sin[θ]-(Sqrt[2]-1)))

この条件が意味を持つためにはθは

-Sin[θ] > -Cos[θ]*(2*Sqrt[2]*Cos[θ]-Sqrt[Sin[θ]^2+1])/((Sin[θ]-(Sqrt[2]+1))*(Sin[θ]-(Sqrt[2]-1)))

これは結局,与えられているすべてのθで成り立っています。

次に…

[編集]

透視投影上のローカル y軸の長さの2倍がローカル z軸の長さ様の値だとした時の x,y,θ の関係式,

-2*Sqrt[2]*Cos[θ]^2*x^2+(y*Cos[θ]*(4*Sqrt[2]*Sin[θ]-Cos[θ]*Sqrt[Sin[θ]^2+1])+Cos[θ]*(2*Sqrt[2]*Sin[θ]^2+Cos[θ]^2))*x+y*Sin[θ]*(-2*Sqrt[2]*Sin[θ]^2-2*Sqrt[2]*y*Sin[θ]+y*Cos[θ]*Sqrt[Sin[θ]^2+1]-Cos[θ]^2) = 0

そこでなんですが…

[編集]

今回はここまで来たところで UP してしまいます。今後計算,考察を続けますが,果たして無事にゴールまでたどり着けるかな…。

計算に関してはかなり慎重に行いましたし,検算もある程度しているので問題ないと思いますが,もし間違いがあるのを見つけた場合は適切な方法で指摘して頂くと,ありがたいです。

数学能力がものすごい高い方が最後まで結論を出して下さるのも歓迎です^^。手間が省けて助かります^^。

2021/7以降の続き

[編集]