問題タブ [homogenous-transformation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - Vector.Multiply は行列のオフセット値を無視します
WPF 変換クラスに関する私の理解では、Matrixクラスは、最終列が常に (0,0,1)
. この設計の理由は、2x2 行列が使用された場合に必要となるベクトルとして個別に変換するのではなく、回転、スケール、およびスキュー変換と同じ方法で、変換を行列乗算として表現できるようにするためであることを理解しています。
したがって、ベクトルに翻訳を含む行列を掛けると、結果のベクトルが翻訳されるはずです。これは、WPF マトリックス クラスを使用している場合には発生していないようですが、何が間違っているのでしょうか?
結果:
opengl - OpenGLでパースペクティブ分割を変更するには?
OpenGL でパースペクティブ分割の計算をどのように変更またはオーバーライドしますか?
また、OpenGL の行列の変数として x、y、z、および w を使用することは可能ですか?
vector - GLSL 同種変換の問題
列で表されるポイントを GLSLvec3
で同種に変換しようとしています。mat4
行列は、x 軸に沿って 1 だけ単純に平行移動したものです。マトリックスが実際にこの形式の適切な列優先マトリックスとしてシェーダーに作成されることをできる限り確認しました。
最初に を試し(matrix * vec4(point, 1)).xyz
ましたが、シーンに変換の効果が見られませんでした。ある時点で、絶望から、私はこの変換を自分と同等と思われるさまざまな方法で再実装し、自分が望んでいたことを行う方法を見つけました。ただし、なぜその1つだけが機能するのかを理解するのに途方に暮れています:
奇妙なことに、Y 変換を使用すると、機能しない変換が影響しますが、X 変換では効果がありません。
明らかな何かを見落としていることを願っています。何か案は?
更新:
さらにいくつかのテストを行いましたvector * transpose(matrix)
が、 と同じ結果にはなりませんmatrix * vector
。どうしたの?
c++ - C++ と opencv でユークリッド空間を同次空間に変換する
ポイント座標のタプルに1を追加することにより、ユークリッドを同次空間に変換する簡単なプログラムがあります。元のマトリックスは 2x3 で、変換後は 3x3 にする必要があります。ここに私のコードhttp://pastebin.com/HWhj7Fcdがありますが、なぜこのエラーが発生するのかわかりません:
OpenCV Error: Assertion failed (npoints >= 0 && (src.depth() == CV_32F || src.depth() == CV_32S)) in convertPointsToHomogeneous
誰が私が何を変える必要があるか教えてもらえますか?
matlab - 空間内の 2 つの 5 次多項式曲線間の変換行列/数学的関係を見つけるにはどうすればよいですか?
互いに交差しない 2 つの 5 次多項式の方程式があります。各曲線は 100 個のポイントで構成されており、これら 2 つの曲線は似ていますが、わずかな違いがあります。これらの 2 つの曲線間の数学的関係を説明するために、これら 2 つの曲線間の変換行列/数学的関係を探しています。
各行の方程式は次の形式で定義され、すべてのパラメーターが既知です。
ある曲線を別の曲線に基づいてマッピングするために、これら 2 つの曲線間の変換行列を探しています。この問題を解決するための MATLAB コードまたは数学的な解決策を教えていただければ幸いです。
graphics - 2D 変換によるオブジェクトの移動
左側の正方形が与えられた場合、変換を使用して右側の正方形を作成する必要があります。
これは私の試み ですが、ポイントの1つ(ポイントD(-1,1))でチェックしたところ、正しい結果(D(4,4,))が得られませんでした。
どこが間違っているのか分かりません。
回転は正しいですか(-90)?
opencv - opencvで3Dカメラ座標を3D実世界座標に変換する
現在、正しい3D座標を返しますが、視点が間違っているopenCVに基づくステレオビジョンシステムに取り組んでいます。
カメラの 3D 座標とチーズボードから予想される実際の座標を取得する関数をプログラムしましたが、このデータから変換行列を生成する方法がわかりませんでした。
OpenCV で見つけたすべての可能な関数は、計算された 3D 座標ではなく、画像の 2D 座標で機能するため、機能しません。
scala - Sparkで2つの異なるAPIを集約して折りたたむのはなぜですか?
Scala 標準ライブラリを使用すると、次のようなことができます。
多くの Int から 1 つの Int を作成します。
そして、私は次のようなことができます:
多くの Int から 1 つの String を作成します。
したがって、foldLeft は同種または異種のいずれかである可能性があり、必要に応じて 1 つの API に含まれます。
Spark で、多くの Int から 1 つの Int が必要な場合は、次のようにできます。
フォールド API は foldLeft に似ていますが、均一であるだけで、RDD[Int] はフォールドでのみ Int を生成できます。
spark にも集約 API があります。
これは異種混合であり、RDD[Int] は String を生成できるようになりました。
では、なぜフォールドと集約が Spark で 2 つの異なる API として実装されているのでしょうか?
同種と異種の両方であるfoldLeftのように設計されていないのはなぜですか?
(私は Spark に非常に慣れていないため、これがばかげた質問である場合はご容赦ください。)