タグ付けされた質問 「transformations」

変換は、オブジェクトに適用してそのスケール、位置、および向きを変更できる数学演算です。

2
モデルビュー行列の転置された逆行列が法線ベクトルの変換に使用されるのはなぜですか?
オブジェクトに変換が適用された3Dシーンをレンダリングする場合、法線はモデルビュー行列の転置された逆行列で変換される必要があります。したがって、法線、modelViewMatrix場合、変換された法線はnnnn ′MMMn′n′n' n′= (M− 1)T⋅ n個n′=(M−1)T⋅nn' = (M^{-1})^{T} \cdot n オブジェクトを変換するとき、それに応じて法線を変換する必要があることは明らかです。しかし、数学的に、これが対応する変換行列なのはなぜですか?



4
四元数を使用して3Dで回転とスケーリングを表すのはいつですか?
クォータニオン(複素数の4次元拡張)は、3Dベクトルの回転とスケーリングを表すために使用でき、3Dベクトルへのクォータニオンの適用には2つのクォータニオン乗算が含まれるため、対応する変換行列による乗算よりも少ない操作で済みます。ただし、特にシェーダーコードでは、代わりに線形およびアフィン変換行列がよく使用されます。 対応する変換マトリックスの代わりに、クォータニオンを使用してスケーリングと回転を3次元で表現するのが適切で望ましい(速度、安定性などのため)のはいつですか?

2
モーションブラーのオブジェクト空間へのレイ変換
私のレイトレーサーは多種多様なオブジェクトをサポートしています。それらを交差させるには、光線をオブジェクト空間に変換する標準的な手法を使用します。モーションブラーを追加するまで、これは素晴らしく機能します。 モーションブラーは、1つではなく一連の変換として説明します(説明を簡単にするために、2つだけとしましょう)。私のアプローチは、両方のキーフレームでレイの逆変換を行い、位置/方向を変更することです。 これは翻訳ではうまくいくように見えますが、回転では壊れます。たとえば、30度と90度回転する2つの三角形があります。 (4つのサンプル、MN再構成、赤いサンプルは2つのキーフレームの近くから来ました) コーナーでは、重複したサンプルが2つの頂点間の直線上にあると予想されます。代わりに、外側に膨らみます。これは間違っています。より興味深い変換を持つより興味深いシーンでは、さまざまな障害モードが発生します。たとえば、45回転するプロペラがあります。 (100サンプル、可視化された法線) いくつかの問題は、BVHの破損によるものです(オブジェクトの極値がキーフレームにあると想定しています)が、ブルートフォースレンダリングでさえ正しくありません。 フォワードトランスフォーム(レイではなくオブジェクトを変換する)のみを行うことでこれをすべて修正できますが、これは可能な場合にのみ機能します(実際には三角形のみ)。 レイトレーサーに、オブジェクトではなくレイを変換することで、変換(特に回転)の線形近似を作成させるにはどうすればよいですか?


2
にきびの原因
シャドウマッピングのしくみはわかっていますが、シャドウニキビの原因がわかりません。誰でも簡単にシャドウニキビの原因を教えてもらえますか?それはデプスマップの解像度とどのように関連していますか?

1
ベジェサーフェスに歪みを適用する
Adobe Photoshopで使用されている画像ワープ効果をシミュレートしようとしています。 長方形の画像は、3次ベジエ曲面に従って歪められます(2Dでは、すべてのZ成分は0です)。ベジエ曲面があれば、垂直歪み をそれに適用できます。d∈ [ 0 、1 ]d∈[0、1]d \in[0,1] 左:入力ベジェサーフェス、、右:出力サーフェス、 d= 0d=0d=0d= 0.8d=0.8d=0.8 左側のバージョンから右側の出力に変換するときに、ベジェサーフェス(16ポイント)に対して何が行われますか?

1
サーフェスの各ポイントを対応する法線の方向に移動する
凸状の滑らかで閉じていない表面があると仮定しましょう。各ポイントを法線方向に一定の係数で移動しています(この係数はサーフェス上のすべてのポイントで同じです)。 この操作を均一または非均一スケーリング+変換で置き換えることはできますか? これらの場合、結果のサーフェスは数学的に同一になりますか? たとえば、このサーフェス(側面図)を変換したいとします。

1
3D空間の2D形状からアスペクト比を計算します
3D空間での2D形状の4つの座標を考慮して、そのアスペクト比を計算します。 3Dスペースは2つの消失点で作成されます。 青でマークされた4つの座標は、ディスプレイ上の2D座標です。この例では、おおよそ(14、5.5)、(19、5)、(20.3、7.3)、(25.3、6)になります。 これが可能かどうかは不明ですが、2つの異なるアスペクト比で2D座標が同じであるという証拠を誰かが見つけた場合、この問題は解決できません。 私の例:

3
2軸の回転を1つの行列に組み合わせる方法
ローテーションを実行するために使用する必要がある行列についてはすでに知っています。Z軸、X軸の順に回転する必要がある場合は、2つのステップで実行します。私の質問は、両方の回転を単一の行列に結合することは可能ですか?私はあなたのフィードバックに感謝します。

2
部分モデルマトリックスを頂点シェーダーにアップロードした方がよいのはいつですか?
現在のところ、シーンをレンダリングするとき、およびシーングラフを反復処理するとき、各ノードのモデルマトリックスは、親のモデルマトリックスとシーンノードのポーズから計算されます。これは非常に単純で、行列の乗算の数をノードとフレームごとに1回の乗算にすでに減らしています。 しかし、これらのすべての行列乗算は、シーンノードの(複数の連続した)動きを非常に高速に実行できるように、CPUとすべてのフレームで実行する必要があります。ただし、GPUは多くの行列乗算を実行するのに適しているため、CPUですべてを計算するのではなく、複数の部分モデル行列を頂点シェーダーに送信することを検討しています。 この場合、すべての計算がすべてのノードではなくすべての頂点に対して行われるため、実際にはパフォーマンスが低下するため、GPUにすべてのパーツ(したがって、すべてのノードのポーズ)を送信することはおそらく意味がありません。しかし、多くの子を持つシーンノード、または(親に対して)移動しない子のみを持つシーンノードは、モデルマトリックスを分割し、乗算をシェーダーにシフトする場所になる可能性があります。 では、部分モデルマトリックスをシェーダーに送信して、乗算をGPUに移動するのはどのような場合に適していますか?それともこれは単に悪い考えですか?

2
この3D効果を生成するには、モデルにどの変換を適用する必要がありますか?
YouTubeで動画を見て、人が透明な結び目のあるピラミッドを使用して、スマートフォンで「ホログラム」を表示しました。(私はまだこれを再現することができていないので、それが機能するかどうかはっきりとはわかりません)。 モデルを考えると、この効果を生成するために必要なさまざまな投影を取得するためにどの変換を適用する必要があるのか​​と思いましたか。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.