WPF_3D绘图一

1.WPF使用DirectX渲染3D元素,它的坐标系如下所示

WPF_3D绘图一_第1张图片

原点位于呈现区域的中心,x 轴上的正值朝右,但是 y 轴上的正值朝上,z 轴上的正值从原点向外朝向观察者。

2. 3D绘图的四要素

2.1 Viewport3D:视口。

2.2 Camera:相机,提供了三个摄像机类,如下:

      1.PerspectiveCamera:透视相机,近大远小。

      2.OrthographicCamera:正交相机,3D对象保持相同的尺寸。

      3.MatrixCamera:矩阵相机,3D场景变换到2D视图的矩阵。

2.3 Lights:光源,提供了四个灯光类,如下:

     1.AmbientLight:自然光(环境光),它所提供的环境光会照亮所有的对象,而不考虑对象的位置或方向。

     2.DirectionalLight:方向光(平行光),像远处的光源那样照亮(如太阳光)。

     3.PointLight:点光源,像近处的光源那样照亮。

     4.SpotLight:聚光源,它既具有位置又具有方向,在 InnerConeAngle 和 OuterConeAngle 属性所设置的锥形区域(以度为单位指定)中投射光。

      WPF_3D绘图一_第2张图片

2.4 GeometryModel3D:3D模型

3. 创建一个3D立方体,相关代码如下:

  
        
            
            
        
        
              
            
                
            
            
            
                
                    
                    
                
            
            
            
                
                    
                    
                
            
             
            
                
                    
                        
                            
                            


                            
                        
                        
                            
                                
                                    
                                
                            
                        
                    
                
                
                
                    
                        
                            
                                
                            
                        
                        
                            
                                
                            
                        
                        
                            
                                
                            
                        
                    
                
            
        
        
            
            
            
        
    

效果图如下:分别绕x,y,z轴旋转

WPF_3D绘图一_第3张图片

 WPF_3D绘图一_第4张图片

 4.案例中使用到的属性说明

     4.1 MeshGeometry3D类,常用的属性如下:

           1.Positions:在计算机的3D世界里,所有的图形都是有三角形组成的,一个正方形由两个三角形组成,一个立方体由12个三角形组成,Positions就是来表示组成3D图形的所有三角形的顶点的,以正方形为例,组成一个正方形需要两个三角形,那就是六个顶点,但是因为这两个三角形共享了一条边,所以只需要四个顶点就可以表示了,当然,你也可以选择把六个点都表示出来,这会为你更好渲染你的3D图形留下方便,不过更多的时候,我们还是选择不重复表示那些共享点。

         2.TriangleIndices:将Positions的顶点集合按一定顺序组合起来,组成所需要的三角形。

         3.TextureCoordinates:将一副2D纹理映射到所建立的3D网格上,参考图如下:

          WPF_3D绘图一_第5张图片

         

你可能感兴趣的:(WPF,wpf)