3Dで平面上に点を投影するには?
2023-08-08 08:02:47
質問
3次元の点(point_x,point_y,point_z)があり、それを3次元空間の2次元平面に投影したい。平面とは、点座標 (orig_x,orig_y,orig_z) と単項垂直ベクトル (normal_dx,normal_dy,normal_dz) で定義される。
これはどのように扱えばよいのでしょうか?
どのように解決するのですか?
1) ベクタを作成します。
orig
の点から注目する点までのベクトルを作る。
v = point-orig (in each dimension);
2) そのベクトルと単位法線ベクトルとの内積をとる。
n
:
dist = vx*nx + vy*ny + vz*nz;
dist = 法線に沿った点から面までのスカラー距離
3) 単位法線ベクトルに距離を乗じ、そのベクトルを点から引く。
projected_point = point - dist*normal;
画像で編集する
あなたの写真を少し修正しました。 赤は
v
;
v
ドット
normal
= 青と緑の長さ(
dist
上記)。青は
normal*dist
.
Green = blue * -1
: planar_xyz を見つけるには、以下の場所から始めます。
point
から始めて、緑のベクトルを加える。
関連
-
[解決済み] テスト
-
[解決済み】システムが指定されたファイルを見つけられませんでした。
-
[解決済み] 文字列の単語を反復処理するにはどうすればよいですか?
-
[解決済み] SQLiteのINSERT/per-secondのパフォーマンスを向上させる
-
[解決済み] 1ビットのセット、クリア、トグルはどのように行うのですか?
-
[解決済み] コピーアンドスワップ慣用句とは?
-
[解決済み] C++11では、標準化されたメモリモデルが導入されました。その意味するところは?そして、C++プログラミングにどのような影響を与えるのでしょうか?
-
[解決済み] なぜ、オブジェクトそのものではなく、ポインタを使用しなければならないのですか?
-
[解決済み] Project Eulerとの速度比較。CとPythonとErlangとHaskellの比較
-
[解決済み】画像処理。コカ・コーラ缶」認識のためのアルゴリズム改良
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】C++エラー。アーキテクチャ x86_64 に対して未定義のシンボル
-
[解決済み】Visual Studio 2015で「非標準の構文; '&'を使用してメンバーへのポインターを作成します」エラー
-
[解決済み】C++ 式はポインタからオブジェクトへの型を持っている必要があります。
-
[解決済み] 非常に基本的なC++プログラムの問題 - バイナリ式への無効なオペランド
-
[解決済み】fpermissiveフラグは何をするのですか?
-
[解決済み】エラー:不完全な型へのメンバーアクセス:前方宣言の
-
[解決済み】エラー:free(): 次のサイズが無効です(fast)。
-
[解決済み】1つ以上の多重定義されたシンボルが見つかる
-
[解決済み】C++ - ステートメントがオーバーロードされた関数のアドレスを解決できない。
-
[解決済み] 変数サイズのオブジェクトが初期化されないことがある c++