- 7 名前:名前は開発中のものです。 mailto:sage [2012/02/19(日) 00:31:01.45 ID:mGMBQaJU]
- 質問です。3Dのプログラミングをしていて
ポリゴンにローカルなXYZ軸を持たせたいのですが、 座標が(Ax,Ay,Az)のベクトルAがあったときに 直角で長さが同じベクトルB(Bx,By,Bz)を作って ベクトルAとBと同じ長さでAとBと直角なベクトルC(Cx,Cy,Cz)を作るには どうすればよいでしょうか? AとBの角度が90度ならBの垂直方向の向きはどこを向いていても構いません。Cも同様です。 式としては (Ax^2 + Ay^2 + Az^2)^0.5 = |A| // Aの長さ (Bx^2 + By^2 + Bz^2)^0.5 = |A| // Bの長さ == Aの長さ Ax * Bx + Ay * By + Az * Bz = 0 // AとBは直角 → 内積0 (Cx^2 + Cy^2 + Cz^2)^0.5 = |A| // Cの長さ == Aの長さ Cx * Ax + Cy * Ay + Cz * Az = 0 // CとAは直角 → 内積0 Bx * Cx + By * Cy + Bz * Cz = 0 // BとCは直角 → 内積0 という形です。Aのベクトルの値は決まっています。 BとCのベクトルの値をどうやって求めるのかがわかりません。
|

|