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

  根据这些公式就可以求出相机的倾斜的角度

 

posted @ 2019-08-12 22:29  ARM830  阅读(1003)  评论(0编辑  收藏  举报