问题标签 [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# - 绑定 AxisAngleRotation3D 保存角度变化
我的目标是在旋转 3d 模型后将其保存xAngle
在我的 .ViewModel
由于某种原因,properties
未在ViewModel
我在这里想念什么?
这是我的代码:
我在xaml中有以下代码:
以及ViewModel中的以下代码:
wpf - 是否可以围绕三个轴中的任何一个旋转 Viewport3D?
我知道 aModelVisual3D
可以通过 围绕任何轴旋转AxisAngleRotation3D
,但是是否可以对包含 9 ModelVisual3D
s 的 Viewport3D 执行相同操作,因此它们可以一起旋转,就好像它们是一个对象一样。例如,我可以这样做ModelVisual3D
:
但这假设Viewport3D
只包含一个ModelVisual3D
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 批评家!:)
c# - 有什么方法可以在 Viewport3D 中绘制 2D 形状,如弧、线、点和平面?
现在我正在使用 Viewport3D,我在其中绘制所有 3D 形状,但我还想在 Viewport3D 中绘制弧线、点和线。谁能帮我这个?
我正在使用路径几何绘制这条弧线并将其添加到 Viewport2DVisual3D 中,但它没有显示出来......我在这里缺少什么......请提出任何解决方案
wpf - 如何在 WPF c# 中使用 MeshGeometry3D 绘制弧?
我想使用 MeshGeometry3D 在 Vieport3D 中绘制 Arc。我已经搜索了很多但没有找到任何东西,我发现使用的是 PathGeometry。我是 WPF 新手,所以对 3D 图形不太了解。我该怎么做?
谢谢
c# - 如何使所有内容自动适合 ViewPort3D 的大小?
我有一个 ViewPort3D,其中插入了许多对象。ViewPort3D 定义了它的宽度和高度。如何使对象完全显示在宽度和高度内
c# - WPF:画布 (XAML) 内的 Viewport3D (C#)
我是 WPF 的初学者,所以我不完全了解 C# 如何与 XAML 一起使用来制作应用程序。
我正在尝试制作一个软件来绘制和操作 3D 几何图形。我已经按照这个示例来了解如何创建 3D 场景并且成功了。
但是,当我尝试将Viewport3D
acanvas
放在 XAML 中时(这样我就可以在 UI 中放置其他元素,如按钮来操作 3D 场景),我无法弄清楚为什么Viewport3D
没有出现。
我不想Viewport3D
在 XAML 中定义所有内容,因为我计划对几何图形进行更复杂的绘制和操作。我认为最好用 C# 来做。
C# 文件中的 MainWindow 与 XAML 文件中的不同?
这是我得到的窗口:
这是代码:
XAML
C#
c# - 围绕 x 和 y 轴的 3D 立方体旋转
我正在编写一个 WPF 应用程序,它使用 Viewport 3D 来显示一个由 6 个不同颜色的面组成的立方体。最后,我试图创建一个可旋转的魔方。
我已经内置了两种方法来围绕立方体旋转相机,一种使用“WASD”键,另一种通过拖动鼠标。
相对于 y 轴旋转相机效果很好(所以“水平”)。但是,当尝试相对于 x 轴旋转相机时,它仅在相机尚未水平旋转时才能正常工作。如果是这样,立方体似乎总是向上旋转同一个面,无论它在哪里。
例如,假设我们使用的是标准魔方。白色面朝上,蓝色面朝前。当相机还没有旋转并且我按下'W'键或向上拖动鼠标时,蓝色面朝白色面的方向移动,所以立方体看起来正在向上旋转,这就是我想要的。但是,如果我首先将相机水平旋转 180 度,这样白色的脸仍然朝上,但正面现在是绿色的脸,我使用“W”键或向上拖动鼠标,旋转仍然是那个蓝色的面朝白色的面移动,因此立方体看起来是向下旋转的。
我的猜测是,这与相机旋转时 x 轴保持在同一位置有关,但我不确定如何修复它。任何帮助将非常感激。
这是我的相机 XAML 代码:
这是我在拖动鼠标时旋转相机的代码(CanvasCube 是包含我的 Viewport3D 的画布):
这是我使用“WASD”键旋转相机的代码:
PS我希望通过这种方式解决问题。我觉得很难解释。如果没有,我很乐意进一步解释以澄清。
c# - : 隐藏元素识别
我有一个 XAML 布局:
FlipPanel 是一个复杂的组件,取自第三方库。在执行期间,我需要<Canvas>
用另一组元素替换 。“搜索删除”代码不起作用:
原因在于隐藏的中间元素<Viewport3D>
,它位于面板上。
问题:如何获得指向此隐藏元素的链接以使用它(添加和删除元素)?
wpf - 在 mousedown 事件上从 3D 视口中删除 ContainerUIElement3D 后无法执行旋转
ContainerUIElement3D
当鼠标悬停在我在PreviewMouserightbuttondown
事件期间移除的对象上时,我无法在 viewport3d 上使用鼠标右键执行旋转。如果我单击元素外部的其他位置,则会发生旋转并且ContainerUIElement3D
将被删除,然后添加到ViewPort3d_PreviewMouseRightButtonUp
. 这是代码:
主要目的是在使用鼠标右键旋转期间隐藏元素,如前所述,如果我在元素外部单击,它将旋转并隐藏元素而不会出现问题,如果我在鼠标悬停在元素上时尝试旋转我正在隐藏,它会隐藏元素并在释放鼠标按钮后再次添加它,但它不会旋转。