問題タブ [viewport3d]

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.

0 投票する
1 に答える
2844 参照

c# - 正投影カメラ クリッピングを使用した Viewport3D

正投影カメラで ViewPort3D を使用すると、以下の 2 番目のリンクで確認できるように、3D モデルがクリッピングします。ビューがパースペクティブ カメラに基づいており、正投影カメラを使用しているにもかかわらず、その背後にあるものを表示していないようです。

3D モデル全体の表示

透視図と正投影図

上記の画像を生成するためにコードを使用しました

この問題を解決する方法について何か考えはありますか?

ありがとう、

編集:私は実際に解決策を見つけました。正射投影カメラの NearPlaneDistance を -Infinity に設定するだけです。以下のコードを参照してください。

0 投票する
2 に答える
955 参照

c# - WPF Incanvas は、ストロークの下のすべてのピクセルにアクセスします

WPFInkCanvasはストロークのポイントしか提供できないようです (ストロークの幅と高さとは関係ありません)。アプリケーションの場合、 によって描画されるすべてのポイントを知る必要がありInkCanvasます。

たとえば、ストロークの幅と高さが 16 であるとします。このストローク サイズを使用して、上にドットをペイントしInkCanvasます。このドットの 256 ピクセルすべてを取得する簡単な方法はありますか (この巨大なドットの中心点だけではありません)。

気にする理由:
私のアプリケーションでは、ユーザーは を使用して 、いくつかの 3D オブジェクトを表示しているInkCanvasの上に描画します。Viewport3Dストロークのすべてのポイントを使用してレイ キャスティングを実行Viewport3Dし、ユーザーのストロークによってオーバーレイされたオブジェクトを特定したいと考えています。

0 投票する
1 に答える
314 参照

c# - 複数のスレッドを使用した WPF VisualTreeHelper.HitTest

InkCanvas私のアプリケーションでは、オブジェクトの上に透明がありViewport3Dます。はViewport3D、大きな 3D メッシュを示しています。ユーザーは でスケッチして、がレンダリングInkCanvasしている 3D モデルの一部を選択します。Viewport3Dユーザーは に円を描くことができますInkCanvas
ユーザーがスケッチすると、描画された円の内側にあるすべての点を繰り返し処理し、VisualTreeHelper.HitTest関数を使用してレイキャスティングを実行し、メッシュのどの頂点がViewport3Dスケッチと一致するかを判断します。

問題は、VisualTreeHelper.HitTest非常に遅いことです。を使用した場合Parallel.Forでも、Viewport3D で複数のレイキャスティングを並行して実行することはできません (オブジェクトの所有スレッドがViewport3DUI スレッドであり、オブジェクトを無効にするViewport3DDispatcher.Invoke関数を使用する必要があるため)。Parallel.Forそもそもの目的です。)

複数のスレッドを使用してこれを高速化する方法はありますか? さらに良いことに、代替ソリューションはありますか?

0 投票する
1 に答える
2894 参照

c# - WPFでViewPort3Dの背景色を変更するには?

私はviewport3dを持っていて、その背景色を変更したい.

私はWpfに非常に慣れていません。他の投稿から何をすべきか理解できませんでした。だから私はここで尋ねます。

viewport3d のブラシ プロパティを変更しましたが、何もしません

0 投票する
1 に答える
2258 参照

c# - WPF Viewport3dでカメラのLookDirectionを自動的に調整するには?

HelixToolKit の ModelImporter 関数を使用して Viewport3d にモデル (STL ファイル) を追加しましたが、最初は何も表示されません。追加された 3DModel を表示するには、ズームアウトする必要があります。私の質問は、新しく追加されたモデルまたはそれをすぐに表示するために必要なものに動的/プログラム的にズームアウトしたり、カメラを回転させたりする方法はありますか?

プロジェクトに C# WPF で helix ツールキットを使用しています。