如何在3D
中查看WPF
模型的正面?
我很困惑为LookDirection设置X Y Z.
我不知道当我设置xyz时会发生什么,我不知道相机在哪里看。我对UpDirection
并不知道同样的事情。
以下是我的相机属性:
camera.Position = new Point3D(100, 100, 150);
camera.LookDirection = new Vector3D(-100, -100, -100);
camera.UpDirection = new Vector3D(0, 0, 1);
问题是相机从后面看。 模型显示为下面的立方体。
如何让它看起来正面?
另外请解释如何设置xyz。我知道什么属性做但我无法想象它们。
我认为X是从右到左.Y是深度。 Z上升了。
答案 0 :(得分:12)
想象一下,你在3D空间中移动头部而不是相机。然后Camera.Position
指定您的头部位置,Camera.LookDirection
确定您正在查看的方向,Camera.UpDirection
显示您的头部方向。以下图片为您清理了一切。
在第一张图片中,相机以+ Z轴为中心,向下看-Z轴和你的形状:
当您将camera.Position
设置为例如(x = 1,y = 0,z = 10)时,相机位置会改变如下:
因此,相机向右移动一点,因此您将在视图的左侧看到您的形状。
现在,如果将camera.LookDirection
更改为说(x = 0,y = 1,z = -1),那么相机只会查看点(0,1,-1),如下所示:
重要编辑:
根据DaveInCaz的评论,LookDirection
与LookAtPoint
不同
(PrespectiveCamera
以前的属性是Point3D
而不是Vector3D
LookDirection
)。
LookDirection
实际上等于“要点”减去“相机位置”。
这意味着在上图中,如果我们想要位于(1,0,10)的相机看点(0,1,-1),那么camera.UpDirection
应该是:< / p>
(0,1,-1) - (1,0,10)=( - 1,1,-11)。
最后,camera.UpDirection
确定相机顶部指向的位置。在下图中,将require 'combine_pdf'
watermark = CombinePDF.load("watermark.pdf").pages[0]
pdf = CombinePDF.load "content_file.pdf"
pdf.pages.each {|page| page.fix_rotation << watermark}
pdf.save "content_with_watermark.pdf"
设置为(-0.5,1,0)会导致相机逆时针旋转:
我希望这些照片能为你清楚。