【初心者】スレを立てる前にココで質問を【Part24】at GAMEDEV【初心者】スレを立てる前にココで質問を【Part24】 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト7:名前は開発中のものです。 12/02/19 00:31:01.45 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のベクトルの値をどうやって求めるのかがわかりません。 8:名前は開発中のものです。 12/02/19 01:19:21.17 fSh17k7j >>7 A(1, 0, 0), B(0, 1, 0), C(0, 0, 1)の3つのベクトルを、求める長さ・角度に合うよう拡大・回転してみるとか? 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch