WPF --三维空间(一)(简介)
1.三维空间坐标
WPF中二维图形的坐标系原点定位在呈现区域(屏幕)的左上角,其X 轴上的正方向朝右,Y轴的正向朝下。 在WPF的三维坐标系中,原点一般位于在WPF中创建的三维对象的中心(导入的三维对象的情况就不一定了,比如从3DMax中导入的obj文件),三维坐标的X 轴正方向朝右,Y轴的正方向朝上,Z轴的正方向从原点向外朝向观察者。
图 1 给出了WPF三维空间坐标系(X:红色,Y:绿色,Z:蓝色),两个坐标轴之间的弧线表示可以旋转,其中:
Y-Z之间的弧线(红色)表示可以围绕X轴旋转;
X-Z之间的弧线(绿色)表示可以围绕Y轴旋转;
X-Y之间的弧线(蓝色)表示可以围绕Z轴旋转。
2.照相机及典型位置
照相机是观察者观察三维对象形态和位置的工具,照相机的位置坐标及与对象的距离直接影响到三维对象的呈现。WPF中的相机有正交相机(OrthographicCamera)和透视(远景)相机(PerspectiveCamera)两类,从观察者的角度来说前者对观察对象没有透视感,远近都一样。后者的工作原理与普通照相机镜头类似,对象离照相机越远,看起来就越小,观察到的对象则有远小近大的效果。
照相机的位置坐标是可以变化的,一个典型的透视相机位置设置如图2所示。
图2典型的透视相机位置设置
图2中,当相机位置靠近Z轴中心时,即Z坐标值变小,观察到的对象变大,当相机位置远离Z轴中心时,即Z坐标值变大,观察到的对象变小。
3.材料
三维对象使用的材料分三类:
漫射材料:确定三维对象在直射光(白光)照射下的颜色,其作用就如同墙面喷漆一样。
放射材料:使对象产生发光效果。光的颜色由材料的颜色决定。
反射材料:控制三维对象上高光反射区域的颜色。高光反射区域指在金属铬等光滑亮泽表面上看到的光亮区域。
4.光的分类
照射在三维对象上的光线分为4类,如图3所示。
图3光的分类
(1)环境光:环境光将光投向各个方向,使所有对象均匀受光。如果只用环境光,则
对象可能会显得褪色,而且颜色单一。为了获得最佳效果,需要使用其他光。如图3左一图。
(2)投射光:投射光所投射的光如同聚光灯一般,光从发光位置发出,并在锥形区域内传播。投射光不会影响到位于锥形发光区域以外的那部分三维对象。如图3左二图。
(3)定向光:定向光沿着特定的方向均匀平行投射,就像太阳光一样。如图3左三图。
(4)点光:点光从一个点向所有方向投射光,就像普通的灯泡一样。如图3右图。