(自用)WPF3d图形代码

自用

 <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="30"/>
            <RowDefinition/>
        </Grid.RowDefinitions>
        <Slider Name="slider" Minimum="0" Maximum="360" Value="0"/>
        <Viewport3D Grid.Row="1" MouseLeftButtonDown="Viewport3D_MouseLeftButtonDown">
            <!--相机-->
            <Viewport3D.Camera>
                <!--正交相机-->
                <!--<OrthographicCamera/>-->
                <!--透视相机-->
                <PerspectiveCamera Position="10,3,10"
                                   LookDirection="-7,-2,-10"
                                   FarPlaneDistance="40"
                                   NearPlaneDistance="10"
                                   FieldOfView="60">
                    <PerspectiveCamera.Transform>
                        <RotateTransform3D CenterX="1.5" CenterY="1" CenterZ="0.5">
                            <RotateTransform3D.Rotation>
                                <AxisAngleRotation3D  Angle="{Binding ElementName=slider,Path=Value}" Axis="0,1,0"/>
                                
                            </RotateTransform3D.Rotation>
                          
                        </RotateTransform3D>
                    </PerspectiveCamera.Transform>
                </PerspectiveCamera>
            </Viewport3D.Camera>
 
            <!--光线-->
            <ModelVisual3D>
                <ModelVisual3D.Content>
                    <Model3DGroup>
                        <!--散射光线-->
                        <AmbientLight Color="#FFF"/>
                        <!--平行光-->
                        <!--<DirectionalLight Color="#FFF" Direction="0,-1,0"/>
                        --><!--点光源--><!--
                        <PointLight Position="0,0,0"/>
                        --><!--锥形辐射光:手电筒--><!--
                        <SpotLight Position="0,0,0" Direction="0,0,-3"/>-->
                    </Model3DGroup>
                </ModelVisual3D.Content>
            </ModelVisual3D>
                <!--正面-->
            <Viewport2DVisual3D>
                <Viewport2DVisual3D.Geometry>
                    <MeshGeometry3D Positions="0,0,1 0,2,1 2,2,1 2,0,1
                                   0,0,0 0,2,0 2,2,0 2,0,0"
                        TriangleIndices="0,2,1 0,3,2 6,4,5 6,7,4"
                        TextureCoordinates="0,1 0,0 1,0 1,1"/>
                    <!--TextureCoordinates:表示的二维平面坐标,原点:左上角-->
                </Viewport2DVisual3D.Geometry>
                <Viewport2DVisual3D.Material>
                    <DiffuseMaterial Viewport2DVisual3D.IsVisualHostMaterial="True" Brush="Red"/>
                </Viewport2DVisual3D.Material>
                <Border BorderBrush="Orange" BorderThickness="2">
                    <StackPanel>
                <!--正面内容-->
                    </StackPanel>
                </Border>
            </Viewport2DVisual3D>
            <!--蓝色面-->
            <ModelUIElement3D >
                <ModelUIElement3D.Model>
                    <GeometryModel3D>
                        <!--材质-->
                        <GeometryModel3D.Material>
                            <!--散射材质-->
                            <DiffuseMaterial Brush="Blue"/>
                            <!--镜面材质-->
                            <!--<SpecularMaterial SpecularPower="1" Brush="Blue"/>-->
                            <!--自发光材质-->
                            <!--<EmissiveMaterial Color="Green" />-->
                        </GeometryModel3D.Material>
                        <GeometryModel3D.Geometry>
                            <MeshGeometry3D Positions="0,0,1 0,2,1 2,2,1 2,0,1
                                                       0,0,0 0,2,0 2,2,0 2,0,0"
                                            TriangleIndices="2,3,7 7,6,2 1,5,4 0,1,4"/>
                        </GeometryModel3D.Geometry>
                    </GeometryModel3D>
                </ModelUIElement3D.Model>
            </ModelUIElement3D>
            <!--绿色面-->
            <ModelUIElement3D >
                <ModelUIElement3D.Model>
                    <GeometryModel3D>
                        <GeometryModel3D.Material>
                            <DiffuseMaterial Brush="Green"/>
                        </GeometryModel3D.Material>
                        <GeometryModel3D.Geometry>
                            <MeshGeometry3D Positions="0,0,1 0,2,1 2,2,1 2,0,1
                                                       0,0,0 0,2,0 2,2,0 2,0,0"
                                            TriangleIndices="5,1,2 6,5,2"/>
                        </GeometryModel3D.Geometry>
                    </GeometryModel3D>
                </ModelUIElement3D.Model>
            </ModelUIElement3D>
        </Viewport3D>
    </Grid>```


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值