当前位置: 首页 > news >正文

wpf 3d 坐标系和基本三角形复习

wpf 3d 坐标系的描述见此, 

WPF 3d坐标系和基本三角形_wpf 坐标系_bcbobo21cn的博客-CSDN博客

    X轴正向向右,Y轴正向向上;Z轴,正向是从屏幕里边出来,负向是往屏幕里边去;坐标原点是在呈现区域的中心;

 画一个三角形如下;

        看摄像机属性,摄像机是在呈现区域正中,往屏幕里边看;给定一组点的坐标和点的顺序,画出如上的三角形;三角形整个是在屏幕里边,因为三个点的Z坐标都是-8;

如果把第一个点的Z坐标调为-16,看到如下;看上去更远的点,就是第一个点,用红笔标注;

再把第二个点Z坐标调为-16,第2个点看上去更远,如下红笔标注;

第三个点的Z坐标调为-16,看到如下;现在三个点都离观察者更远;

三个点是有顺序;三角形也分前面和后面;见,

https://blog.csdn.net/bcbobo21cn/article/details/127956508
https://blog.csdn.net/bcbobo21cn/article/details/113414064

现在把第一个点的Z坐标调到更小,看到如下;

然后来调整点的顺序,看一下会有什么不同;

如果点的顺序改为1、0、2,这样看到的是三角形的背面,背面是不渲染的,呈现区域啥也没有;

如果点的顺序改为1、2、0,如下,外观看到是一样,点的顺序是不一样,

如果点的顺序改为如下,外观看到还是没区别,点的顺序变了;

现在把x和y坐标数值都增大一倍,看到的三角形会变大,

如果把三个Z坐标数值同时增大到50,50是负的,则三角形更远,看起来比较小;

 定义的时候如果没有指定顶点顺序,那么就是默认的0、1、2;如果不是0、1、2则需要指定;

<Pagexmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"><Grid>
<Viewport3D>
<Viewport3D.Camera>
<PerspectiveCamera Position="0 0 0" LookDirection="0 0 -8" />
</Viewport3D.Camera>
<ModelVisual3D>
<ModelVisual3D.Content>
<AmbientLight Color="White" />
</ModelVisual3D.Content>
</ModelVisual3D>
<ModelVisual3D>
<ModelVisual3D.Content>
<GeometryModel3D>
<GeometryModel3D.Geometry>
<MeshGeometry3D
Positions="-2 -2 -50, 2 -2 -50, 2 2 -50"
TriangleIndices="0,1,2" />
</GeometryModel3D.Geometry>
<GeometryModel3D.Material>
<MaterialGroup>
<DiffuseMaterial>
<DiffuseMaterial.Brush>
<SolidColorBrush Color="Yellow" />
</DiffuseMaterial.Brush>
</DiffuseMaterial>
</MaterialGroup>
</GeometryModel3D.Material>
</GeometryModel3D>
</ModelVisual3D.Content>
</ModelVisual3D>
</Viewport3D>
</Grid></Page>

http://www.lryc.cn/news/113618.html

相关文章:

  • 如何安全变更亚马逊收款账户?
  • 大数据面试题:Hadoop中的几个进程和作用
  • 题解:ABC276D - Divide by 2 or 3
  • 后台管理系统
  • C++数据结构之平衡二叉搜索树(一)——AVL的实现(zig与zag/左右双旋/3+4重构)
  • 静态库和动态库
  • 用于Voronoi图构建的Fortune算法的C++实现
  • 笔记汇总 | 斯坦福 CS229 机器学习
  • git 版本管理工具 学习笔记
  • Bean基本注解开发和Bean依赖注入注解开发
  • 使用IIS服务器搭建一个网站
  • HCIP 三层交换机
  • 利用python 进行数据分析(第三版)第二章小结
  • 【ASP.NET MVC】使用动软(四)(12)
  • 【web逆向】全报文加密及其登录流程的分析案例
  • MyBatis枚举映射类讨论
  • 微信开发之朋友圈自动点赞的技术实现
  • Linux命令200例:sed对文本进行修改、替换和删除等操作的强大工具(常用)
  • python 合并多个excel文件
  • 【Docker】性能测试监控平台搭建:InfluxDB+Grafana+Jmeter+cAdvisor
  • wordpress日主题Ripro9.0最新二开修正源码下载+美化包和插件
  • fib Model Code史海拾贝
  • 6.7.tensorRT高级(1)-使用onnxruntime进行onnx模型推理过程
  • 360未来安全研究院笔试题
  • Linux SSH 远程连接主机,并执行命令
  • FAST协议详解1 不同数据类型的编码与解码
  • 黑马大数据学习笔记5-案例
  • 网络编程——TCP/IP协议族(IP协议、TCP协议和UDP协议……)
  • Oracle SQL存储过程能够返回表吗
  • 2 Vue使用v-bind来代替{{}}取值