WPF 3D相机基本坐标简介
基本概念
WPF中3D空间基本坐标系是右手坐标系。
WPF中3D空间的原点是(0,0,0)
Position:
这个参数用来表示相机在空间内的坐标。参数是(X,Y,Z)。当修改相机的这个参数时,这个坐标是根据原点修改。这个概念是最为简单理解的(绿色方块为相机)
LookDirection:
这个参数表示相机看的方向。参数同样也是(X,Y,Z)但注意这个参数的类型是向量。 这个参数有个最基本的算法是 LookDirection=你要看的位置-相机位置。
UpDirection:
这个参数决定相机顶部的方向,也就是向上方向。这个参数是决定相机的倾斜方向。注意这个参数的坐标是根据自身为原点。 同样这个参数类型是向量,也是(X,Y,Z)。默认数值是(0,1,0)。
那么如何理解这个参数呢?
首先需要明白,这个UpDirection是指相机在3D坐标系中向量。
向量A的坐标分别是投影在X,Y,Z上的坐标也就是(AX,AY,AZ),
向量的长度为 根号下(X^2+Y^2+Z^2)
而向量有方向角公式为
cos(A)=AX/A的长度 Ax=A*cos(A)
cos (B) =AY/A的长度 Ay=A*cos(B)
cos (C) =AZ/A的长度 Az=A*cos(C)
并由恒等式: cos^2(A)+cos^2(B)+cos^2(C)=1
根据这些公式就可以求出相机的倾斜的角度