問題タブ [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.
c# - 正投影カメラ クリッピングを使用した Viewport3D
正投影カメラで ViewPort3D を使用すると、以下の 2 番目のリンクで確認できるように、3D モデルがクリッピングします。ビューがパースペクティブ カメラに基づいており、正投影カメラを使用しているにもかかわらず、その背後にあるものを表示していないようです。
上記の画像を生成するためにコードを使用しました
この問題を解決する方法について何か考えはありますか?
ありがとう、
編集:私は実際に解決策を見つけました。正射投影カメラの NearPlaneDistance を -Infinity に設定するだけです。以下のコードを参照してください。
c# - WPF Incanvas は、ストロークの下のすべてのピクセルにアクセスします
WPFInkCanvas
はストロークのポイントしか提供できないようです (ストロークの幅と高さとは関係ありません)。アプリケーションの場合、 によって描画されるすべてのポイントを知る必要がありInkCanvas
ます。
たとえば、ストロークの幅と高さが 16 であるとします。このストローク サイズを使用して、上にドットをペイントしInkCanvas
ます。このドットの 256 ピクセルすべてを取得する簡単な方法はありますか (この巨大なドットの中心点だけではありません)。
気にする理由:
私のアプリケーションでは、ユーザーは を使用して 、いくつかの 3D オブジェクトを表示しているInkCanvas
の上に描画します。Viewport3D
ストロークのすべてのポイントを使用してレイ キャスティングを実行Viewport3D
し、ユーザーのストロークによってオーバーレイされたオブジェクトを特定したいと考えています。
c# - 複数のスレッドを使用した WPF VisualTreeHelper.HitTest
InkCanvas
私のアプリケーションでは、オブジェクトの上に透明がありViewport3D
ます。はViewport3D
、大きな 3D メッシュを示しています。ユーザーは でスケッチして、がレンダリングInkCanvas
している 3D モデルの一部を選択します。Viewport3D
ユーザーは に円を描くことができますInkCanvas
。
ユーザーがスケッチすると、描画された円の内側にあるすべての点を繰り返し処理し、VisualTreeHelper.HitTest
関数を使用してレイキャスティングを実行し、メッシュのどの頂点がViewport3D
スケッチと一致するかを判断します。
問題は、VisualTreeHelper.HitTest
非常に遅いことです。を使用した場合Parallel.For
でも、Viewport3D で複数のレイキャスティングを並行して実行することはできません (オブジェクトの所有スレッドがViewport3D
UI スレッドであり、オブジェクトを無効にするViewport3D
のDispatcher.Invoke
関数を使用する必要があるため)。Parallel.For
そもそもの目的です。)
複数のスレッドを使用してこれを高速化する方法はありますか? さらに良いことに、代替ソリューションはありますか?
c# - WPFでViewPort3Dの背景色を変更するには?
私はviewport3dを持っていて、その背景色を変更したい.
私はWpfに非常に慣れていません。他の投稿から何をすべきか理解できませんでした。だから私はここで尋ねます。
viewport3d のブラシ プロパティを変更しましたが、何もしません
c# - WPF Viewport3dでカメラのLookDirectionを自動的に調整するには?
HelixToolKit の ModelImporter 関数を使用して Viewport3d にモデル (STL ファイル) を追加しましたが、最初は何も表示されません。追加された 3DModel を表示するには、ズームアウトする必要があります。私の質問は、新しく追加されたモデルまたはそれをすぐに表示するために必要なものに動的/プログラム的にズームアウトしたり、カメラを回転させたりする方法はありますか?
プロジェクトに C# WPF で helix ツールキットを使用しています。