WPF -- 三维空间(二)(WPF三维空间元素-Viewport3D)

1 Viewport3D 控件 查看详情》
     

Expression Blend中提供了Viewport3D控件,这是三维对象元素的上层容器,是相机对象元素Camera、三维图形呈现对象元素ModelVisual3D的集合。添加obj对象到【设计面板】后就自动建立了1Viewport3D控件,在【对象和时间线】面板中可以看到,其中包含下列属性设置:

1Camera:相机,可以在【属性】面板选择以下属性设置:

相机类型:远景相机、正交相机及有关参数;

Position照相机在三维空间中的位置;

Direction照相机在三维空间中的拍摄方向;

UP Vector正向矢量,指定此照相机的“上方”所指的方向。

Perspective Field ofView:透视视野,仅适用于远景相机,较小的数值会减少对象因远景拍摄而变形的程度。较大的数值会像使用鱼眼镜头一样导致对象大幅变形。

Near Clipping Plane/Far Clipping Plane近点/远点剪切平面,可控制对象与照相机之间的最近或最远距离,超出上述距离的对象将从所呈现的视图中消失。

2AmbientLight:环境光色彩设置,可以在上述的光类型中选择需要的光源。

3DirectionLight:定向光色彩设置,可以在上述的光类型中选择需要的光源。

4DefaultMaterial:材质设置,可以在前面介绍的材料类型中选择,可以选择图形刷资源。

2ModelVisual3D元素

三维元素ModelVisual3D可以再包含多个ModelVisual3D子元素,比如灯光,三维造型。

3GeometryModel3D元素

GeometryModel3DModelVisual3D子元素内的三维造型元素,材质是其属性,而三维图形构建又由最底层网格元素MeshGeometry3D完成。

4MeshGeometry3D元素

这是1个若干3D点(Point3D的集合,每33D点按一定环绕方向组成1个三角形,WPF采用逆时针的环绕方向,符合所谓“右手法则”,即垂直竖起右手的大拇指,弯曲其余4指,其余4指指向正是三角形的环绕方向,大拇指的指向是三角形的正面,反向是其背面,如图2-1所示,正是这些三角形构成了WPF中的三维造型世界。

WPF中的三维空间(1)
2-1MeshGeometry3D

2-2是【对象和时间线】面板呈现的1个三维对象元素的列表,可以看出上面所说的三维元素之间的关系。

                           WPF中的三维空间(1)

                                           图2-2三维对象元素

2-2中有1Viewport3D控件,其中有1Camera元素,1个名为“World”的三维元素ModelVisual3D,这是多个ModelVisual3D元素的集合,“AmbientLightContainer”、“DirectionalLightContainer”和“RootGeometryContainer”均属于ModelVisual3D元素,其中“RootGeometryContainer”元素又包含多个ModelVisual3D子元素,如“Cylinder01”、“Cylinder02”等。“Cylinder01”中又包含GeometryModel3D 元素。




猜你喜欢

转载自blog.csdn.net/qq_23018459/article/details/80394517