问题标签 [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 投票
0 回答
262 浏览

c# - 绑定 AxisAngleRotation3D 保存角度变化

我的目标是在旋转 3d 模型后将其保存xAngle在我的 .ViewModel

由于某种原因,properties未在ViewModel

我在这里想念什么?

这是我的代码:

我在xaml中有以下代码:

以及ViewModel中的以下代码:

0 投票
1 回答
290 浏览

wpf - 是否可以围绕三个轴中的任何一个旋转 Viewport3D?

我知道 aModelVisual3D可以通过 围绕任何轴旋转AxisAngleRotation3D,但是是否可以对包含 9 ModelVisual3Ds 的 Viewport3D 执行相同操作,因此它们可以一起旋转,就好像它们是一个对象一样。例如,我可以这样做ModelVisual3D

但这假设Viewport3D只包含一个ModelVisual3D

0 投票
1 回答
75 浏览

wpf - 为什么 MeshGeometry3D 平面在非仿射变换期间在某些位置不可见?

大家好,这是我在这里的第一个问题。所以请随时给我CC :)

关于该项目。我想在不触及 Z 轴(0,0,0 0,1,0 1,0,0 1,1,0)的情况下从平面多边形平面进行非仿射变换。我需要通过定位它的 4 个角点来做到这一点。我通过使用 Charles Petzold ( http://www.charlespetzold.com/blog/2007/08/250638.html ) 的“2D 非仿射变换”实现了这一点。

到目前为止一切都很好。也没有消失的飞机。

因为我需要画笔/纹理来扩展平面的边缘。我决定添加三角形,直到我有 5x5 的平面网格。(通过选择第一个平面的角点(它是中间的那个),整个几何图形仍然可以变换。)

可悲的是,我还不允许发布图片。

https://i.imgur.com/oG3gKRD.png

浅蓝色的矩形是具有可选角的矩形,紫色是其余的(对于图片我包含另一个平面(与大平面没有连接,只是为了表明没有疯狂的变换效果)只有值相差 1(无论哪个角)

https://i.imgur.com/wSkywVk.png

据我所知,这不是相机的问题。改变很多东西的值,比如相机/近和远平面距离。如果我将网格缩小到 3x3 平面,这种定位总是会导致不可见的几何图形(它不是唯一的位置,其中有一些,但我看不到连接)我有同样的问题,仅在其他职位上。对象仍然存在,只是不可见(我仍然可以选择角点,它会立即再次可见)

有谁知道会导致什么?或者有人知道我如何调试这样的“错误”吗?

也许它是一般增长可变形平面的错误方法?如果有人有想法,请告诉我!

设置两个平面的几何图形(两个自定义类“scalingCanvas”和“CenterOnPoint”,您可以使用具有正常定位的普通画布)

由于字符的限制,Projektor 课程将作为答案发布。如果您需要任何事情来解决问题,请告诉我!& 这个问题一般来说大吗?我欢迎 cunstructive 批评家!:)

0 投票
1 回答
819 浏览

c# - 有什么方法可以在 Viewport3D 中绘制 2D 形状,如弧、线、点和平面?

现在我正在使用 Viewport3D,我在其中绘制所有 3D 形状,但我还想在 Viewport3D 中绘制弧线、点和线。谁能帮我这个?

我正在使用路径几何绘制这条弧线并将其添加到 Viewport2DVisual3D 中,但它没有显示出来......我在这里缺少什么......请提出任何解决方案

0 投票
1 回答
616 浏览

wpf - 如何在 WPF c# 中使用 MeshGeometry3D 绘制弧?

我想使用 MeshGeometry3D 在 Vieport3D 中绘制 Arc。我已经搜索了很多但没有找到任何东西,我发现使用的是 PathGeometry。我是 WPF 新手,所以对 3D 图形不太了解。我该怎么做?

谢谢

0 投票
0 回答
135 浏览

c# - 如何使所有内容自动适合 ViewPort3D 的大小?

我有一个 ViewPort3D,其中插入了许多对象。ViewPort3D 定义了它的宽度和高度。如何使对象完全显示在宽度和高度内

0 投票
1 回答
2925 浏览

c# - WPF:画布 (XAML) 内的 Viewport3D (C#)

我是 WPF 的初学者,所以我不完全了解 C# 如何与 XAML 一起使用来制作应用程序。

我正在尝试制作一个软件来绘制和操作 3D 几何图形。我已经按照这个示例来了解如何创建 3D 场景并且成功了。

但是,当我尝试将Viewport3Dacanvas放在 XAML 中时(这样我就可以在 UI 中放置其他元素,如按钮来操作 3D 场景),我无法弄清楚为什么Viewport3D没有出现。

我不想Viewport3D在 XAML 中定义所有内容,因为我计划对几何图形进行更复杂的绘制和操作。我认为最好用 C# 来做。

C# 文件中的 MainWindow 与 XAML 文件中的不同?

这是我得到的窗口:

在此处输入图像描述

这是代码:

XAML

C#

0 投票
1 回答
1025 浏览

c# - 围绕 x 和 y 轴的 3D 立方体旋转

我正在编写一个 WPF 应用程序,它使用 Viewport 3D 来显示一个由 6 个不同颜色的面组成的立方体。最后,我试图创建一个可旋转的魔方。

我已经内置了两种方法来围绕立方体旋转相机,一种使用“WASD”键,另一种通过拖动鼠标。

相对于 y 轴旋转相机效果很好(所以“水平”)。但是,当尝试相对于 x 轴旋转相机时,它仅在相机尚未水平旋转时才能正常工作。如果是这样,立方体似乎总是向上旋转同一个面,无论它在哪里。
例如,假设我们使用的是标准魔方。白色面朝上,蓝色面朝前。当相机还没有旋转并且我按下'W'键或向上拖动鼠标时,蓝色面朝白色面的方向移动,所以立方体看起来正在向上旋转,这就是我想要的。但是,如果我首先将相机水平旋转 180 度,这样白色的脸仍然朝上,但正面现在是绿色的脸,我使用“W”键或向上拖动鼠标,旋转仍然是那个蓝色的面朝白色的面移动,因此立方体看起来是向下旋转的。

我的猜测是,这与相机旋转时 x 轴保持在同一位置有关,但我不确定如何修复它。任何帮助将非常感激。

这是我的相机 XAML 代码:

这是我在拖动鼠标时旋转相机的代码(CanvasCube 是包含我的 Viewport3D 的画布):

这是我使用“WASD”键旋转相机的代码:

PS我希望通过这种方式解决问题。我觉得很难解释。如果没有,我很乐意进一步解释以澄清。

0 投票
1 回答
47 浏览

c# - : 隐藏元素识别

我有一个 XAML 布局:

FlipPanel 是一个复杂的组件,取自第三方库。在执行期间,我需要<Canvas>用另一组元素替换 。“搜索删除”代码不起作用:

原因在于隐藏的中间元素<Viewport3D>,它位于面板上。

问题:如何获得指向此隐藏元素的链接以使用它(添加和删除元素)?

0 投票
1 回答
47 浏览

wpf - 在 mousedown 事件上从 3D 视口中删除 ContainerUIElement3D 后无法执行旋转

ContainerUIElement3D当鼠标悬停在我在PreviewMouserightbuttondown事件期间移除的对象上时,我无法在 viewport3d 上使用鼠标右键执行旋转。如果我单击元素外部的其他位置,则会发生旋转并且ContainerUIElement3D将被删除,然后添加到ViewPort3d_PreviewMouseRightButtonUp. 这是代码:

主要目的是在使用鼠标右键旋转期间隐藏元素,如前所述,如果我在元素外部单击,它将旋转并隐藏元素而不会出现问题,如果我在鼠标悬停在元素上时尝试旋转我正在隐藏,它会隐藏元素并在释放鼠标按钮后再次添加它,但它不会旋转。