2

さて、私は3D投影についてまったく何も知りませんが<Matrix3D/>、私が利用できるいくつかの事前定義された変数に基づいて、Silverlight()で画像を投影する方法を理解する必要があります。私はいくつかのサンプルコードまたは本当に基本的な「愚か者のための」一連の記事を高低で検索しましたが、意味のあるものはまだ見つかりませんでした。偉大なカーンアカデミーでさえ、私にとって十分に単純ではありませんでした。カメラ、視野、回転-私の脳はこのようなものを包み込むことができません。

次の予測が必要です。

  • 等尺性
  • 正書法
  • 斜め
  • 視点

したがって、X、Y、場合によってはZなど、いくつかの変数が提供されます。たとえば、これは-

タイプ:正書法
X:70°
 Y:10°
 Z:20°

どういうわけかこれ正常を->これに->正書法そして

タイプ:アイソメX : 314.7
 °
 Y:35.4°
 Z:299.8°

これに->等尺性

キャンバス上の画像が表示される場所の座標、幅/高さなど、他の情報もあります。その情報も役立つ場合は。

これを説明できるリソースを知っている人はいますか(ウィキペディアをスクラッチしてください-そのようなものは私には意味がありません)。または、これらの計算がどのように機能するかを知っていますか(.NET、WPF 3D関数なし)。

4

3 に答える 3

1

ここでレッスンを読んで、数学の素晴らしいものを手に入れましょう... http://chortle.ccsu.edu/vectorlessons/vectorIndex.html#01

于 2013-03-06T19:03:32.730 に答える
1

わかった。Matrix3D 自体は単純なクラスなので、行列に何を入力すればよいかわかりません。コーディングに入る前に、次のいずれかをお読みください。

  1. コンピュータグラフィックスに関する本
  2. Windows® 向けの 3D プログラミング: Charles Petzold による Windows Presentation Foundation 向けの 3 次元グラフィックス プログラミング
  3. 最悪の場合、時間がない場合は、少なくとも OpenGL レッドブックの 3 章 (変換行列の計算のみ) を読んでください。

あなたが必要としているのは迅速な解決策であるのに、なぜ私が何冊かの巨大な本を読むようにあなたに頼むのか疑問に思うかもしれません. 私の意見では、3D グラフィックス プログラミングは、その背後にある数学を理解していれば、非常に簡単です (複雑ではありません)。そうでない場合は、プログラムが目的の動作をしない理由を見つけようとして、2 倍の時間を費やすことになります。

于 2010-07-09T04:45:25.217 に答える
1

このサイトには、.net で行列演算を実行するための優れた紹介があります: http://www.simple-talk.com/dotnet/.net-framework/building-a-simple-3d-engine-with-silverlight/

また、ウィキペディアで行列の回転に関するバックラウンドを確認してください: http://en.wikipedia.org/wiki/Rotation_matrix

そして、Petzold を使えば間違いはありません: http://www.charlespetzold.com/blog/2009/07/Using-the-Matrix3DProjection-Class-in-Silverlight-3.html

これは、行列を使用して線形変換を処理するための優れた紹介でもあります

于 2010-07-09T19:46:46.260 に答える