zoukankan      html  css  js  c++  java
  • WPF3D模型

    <Viewport3D x:Name="MyViewport3D">
    <Viewport3D.Camera>
    <!-- 照相机--> <PerspectiveCamera Position="0,0,8" x:Name="MyCamera"></PerspectiveCamera>
    </Viewport3D.Camera>

    <!--照相机有了我们开始绘制立方体模型了,6个面-->
    <Viewport3D.Children>
    <ModelVisual3D>
    <ModelVisual3D.Content>
    <Model3DGroup>
    <!--第一个面-->
    <!--Positions="0,0,0 2,0,0 2,2,0 0,2,0" 定义了四个点。
    有了这四个点,就应该开始绘制三角形基元,就是要把点串起来。
    TriangleIndices="0,1,2 0,2,3",意思是将0、1、2这三个顶点连
    起来组成一个三角形,将0、2、3这三个顶点连起来组成另一个三角。
    这里有一个技巧,我姑且这样理解,在建立三角形时,如果是逆时针连接顶点,
    那么建立的三角形就是面向视野的,如果是顺时针连接,就是背向视野的(向外)
    ,大家可以试一下TriangleIndices="0,3,2 0,2,1"。这样就绘制出如下图所示的一个面了。-->
    <GeometryModel3D x:Name="F1">
    <GeometryModel3D.Material>
    <DiffuseMaterial Brush="Green"></DiffuseMaterial>
    </GeometryModel3D.Material>

    <GeometryModel3D.Geometry>
    <MeshGeometry3D Positions="0,0,0 2,0,0 2,2,0 0,2,0" TriangleIndices="0,1,2 0,2,3"></MeshGeometry3D>
    </GeometryModel3D.Geometry>
    </GeometryModel3D>

    <!--第二个面-->
    <GeometryModel3D x:Name="F2">
    <GeometryModel3D.Material>
    <DiffuseMaterial Brush="Blue"></DiffuseMaterial>
    </GeometryModel3D.Material>
    <GeometryModel3D.Geometry>
    <MeshGeometry3D Positions="0,0,0 0,0,2 0,2,2 0,2,0" TriangleIndices="0,1,2 0,2,3"></MeshGeometry3D>
    </GeometryModel3D.Geometry>
    </GeometryModel3D>

    <!--第三个面-->
    <GeometryModel3D x:Name="F3">
    <GeometryModel3D.Material>
    <DiffuseMaterial Brush="Gray"></DiffuseMaterial>
    </GeometryModel3D.Material>
    <GeometryModel3D.Geometry>
    <MeshGeometry3D Positions="0,0,0 0,0,2 2,0,2 2,0,0" TriangleIndices="0,2,1 0,3,2"></MeshGeometry3D>
    </GeometryModel3D.Geometry>
    </GeometryModel3D>

    <!--第四个面-->
    <GeometryModel3D>
    <GeometryModel3D.Material>
    <DiffuseMaterial Brush="Bisque"></DiffuseMaterial>
    </GeometryModel3D.Material>
    <GeometryModel3D.Geometry>
    <MeshGeometry3D Positions="2,0,0 2,2,0 2,2,2 2,0,2" TriangleIndices="0,1,2 0,2,3"></MeshGeometry3D>
    </GeometryModel3D.Geometry>
    </GeometryModel3D>

    <!--第五个面-->
    <GeometryModel3D>
    <GeometryModel3D.Material>
    <DiffuseMaterial Brush="Yellow"></DiffuseMaterial>
    </GeometryModel3D.Material>
    <GeometryModel3D.Geometry>
    <MeshGeometry3D Positions="0,2,2 2,2,2 2,2,0 0,2,0" TriangleIndices="0,1,2 0,2,3"></MeshGeometry3D>
    </GeometryModel3D.Geometry>
    </GeometryModel3D>

    <!--第六个面-->
    <GeometryModel3D>
    <GeometryModel3D.Material>
    <DiffuseMaterial Brush="Red"></DiffuseMaterial>
    </GeometryModel3D.Material>
    <GeometryModel3D.Geometry>
    <MeshGeometry3D Positions="0,2,2 2,2,2 0,0,2 2,0,2" TriangleIndices="0,2,3 0,3,1"></MeshGeometry3D>
    </GeometryModel3D.Geometry>
    </GeometryModel3D>
    </Model3DGroup>
    </ModelVisual3D.Content>
    </ModelVisual3D>
    <!--添加光源,如果没有光源则是黑色(也就是黑天)-->
    <ModelVisual3D x:Name="light">
    <ModelVisual3D.Content>
    <AmbientLight></AmbientLight>
    </ModelVisual3D.Content>
    </ModelVisual3D>
    </Viewport3D.Children>
    </Viewport3D>
    <Viewport3D Margin="10,163,300,10">
    <Viewport3D.Camera>
    <PerspectiveCamera Position="0,0,8" x:Name="camera"></PerspectiveCamera>
    </Viewport3D.Camera>
    <Viewport3D.Children>
    <ModelVisual3D>
    <ModelVisual3D.Content>
    <!--<span style="color:#ff0000;">-->
    <GeometryModel3D x:Name="F9">
    <GeometryModel3D.Material>
    <DiffuseMaterial Brush="Green"/>
    </GeometryModel3D.Material>
    <GeometryModel3D.Geometry>
    <MeshGeometry3D Positions="0,0,0 2,0,0 2,2,0 0,2,0 0,2,2 0,0,2 2,0,2 2,2,2"
    TriangleIndices="0,2,1 0,3,2 0,4,3 0,5,4 0,1,6 0,6,5 3,4,7 3,7,2 4,5,6 4,6,7 7,6,1 7,1,2">
    </MeshGeometry3D>
    </GeometryModel3D.Geometry>
    </GeometryModel3D>
    <!--</span>-->
    </ModelVisual3D.Content>
    </ModelVisual3D>
    <ModelVisual3D x:Name="light2">
    <ModelVisual3D.Content>
    <AmbientLight></AmbientLight>
    </ModelVisual3D.Content>
    </ModelVisual3D>
    </Viewport3D.Children>
    </Viewport3D>

  • 相关阅读:
    网络编程_UDP协议_发送端与接收端
    网络编程_IP对象_InetAddress
    Java对XML文件解析方式之一_SAX
    GUI练习3
    GUI_菜单练习
    GUI_文件管理器(练习)
    HTTP数据组织方式
    web前端面试题
    19-字符串匹配(kmp || substr,find)
    17-逆序数(树状数组+离散)
  • 原文地址:https://www.cnblogs.com/zhihai/p/2437786.html
Copyright © 2011-2022 走看看