C#利用DirectX显示.x三维动画
C#利用DirectX显示.x三维动画
最开始在研究 四轴/捷联式惯性导航 的时候,想做个三维上位机来玩一下,经大师兄介绍一个阿莫上面帖子:
http://www.amobbs.com/forum.php?mod=viewthread&tid=3868706
帖子中的方法是利用solidworks画的三维模型导出XAML文件,然后用WPF进行渲染显示和控制。于是仿着这个方法,师兄用solidworks画了四轴,我用WPF做了软件,效果如下:
控制左下角三根条子可以进行旋转操作:
但是,后来发现,这里的旋转并不是我们所需要的Yaw,Pitch,Roll,也不是物体的体坐标x y z三个轴。(代码虽然是写着x y z,但是实测不是!有一个夹角是45°的,好奇怪。)
研究了许久,虽然把串口通信等功能都加上了,但是没有找到Yaw,Pitch,Roll和那三个旋转之间的关系,所以没搞下去了……
后来,了解到了DirectX 的3D动画功能!
初次参考到了:http://download.csdn.net/detail/acaic/1810027 里头就是通过用DirectX技术载入 .x 文件,然后按键盘的“上下左右”能控制动画。
机遇来了!熟悉的C#,而且有我们想要的YawPitchRoll以及四元素旋转方法……
然后,有了一些成果:http://www.amobbs.com/forum.php?mod=viewthread&tid=5546053
成果中的那个三维飞机动画是用官方DirectX SDK里头的 .x文件(里头还有很多其它.x文件),然后那支钢笔是我托同学用3DMAX画的,然后通过某插件,才导出的 .x 文件。
于是,问题来了, .x 文件不好弄呀~~不可能老托朋友帮我画帮我转换导出吧??
千辛万苦,找了好久将其它三维文件(例如STL)转化为 .x 文件的方法,终于找到了:
http://blog.csdn.net/lin381825673/article/details/46910725
于是,自己刚学的Solidworks能够排上用场了,自己能画什么,C#就能显示什么!
邪恶的源代码传送门:http://download.csdn.net/detail/lin381825673/8905119
C#利用DirectX显示.x三维动画相关推荐
- 利用计算机制作动画的好处是什么,计算机三维动画有哪些优点?
计算机三维动画的介绍 动画是一种动态生成一系列相关画面的过程,其中每一帧与前后一帧略有不同.由于这些画面的制作手段.实现手段不同,可分为传统动画和计算机动画,传统的动画可以是利用拍摄图片的方法实现的, ...
- 十大经典三维动画制作软件
十大三维动画制作软件(转载) <侏罗纪公园>.<第五元素>.<泰坦尼克号><终结者3>这些电影想必大家都看过了吧,我们为这些影片中令人惊叹的特技镜头所打 ...
- 十大三维动画制作软件(转载)
<侏罗纪公园>.<第五元素>.<泰坦尼克号><终结者3>这些电影想必大家都看过了吧,我们为这些影片中令人惊叹的特技镜头所打动,当我们看着那些 异常逼真的 ...
- 玛雅三维动画制作软件:Maya 2019 for Mac
最新的玛雅2019 mac破解版已登陆MacDown.com,小编第一时间为大家带来Maya 2019 for Mac中文版下载,玛雅2019 mac破解版主要用于电影特效.平面设计.游戏开发等,提供 ...
- 三维动画在计算机上的应用,三维动画设计有哪些应用
原标题:三维动画设计有哪些应用 所谓的三维动画设计,也称为3D动画设计,是随着计算机技术的发展而出现的新兴技术.随着人们生活水平的提高,三维动画设计越来越广泛地应用于人们生活的各个方面.由于三维动画设 ...
- 如何利用 Blender GIS 制作三维地形
1.概述 三维地形虚似可视化仿真技术是指在计算机上对数字地形模型中的地形数据实时的进行三维逼真显示.模拟仿真.简化和多分辨率表达等内容的一项技术.它涉及到遥感与测绘.现代数学.计算几何.地理信息系统. ...
- 浙江大学软件学院三维动画与交互技术考试概念整理
第一讲 1. 增强现实技术AR: --融合了三维动画.立体视觉和图像处理: --建模.渲染.位置标定.图像融合: 2. OpenGL是一种用于创建实时3D图像的编程接口. 3. 三维 ...
- 利用MATLAB实现图片切换动画效果详解
内容摘要:本博文介绍MATLAB图片切换动画效果的制作以及GIF文件保存,并结合具体代码详细解释.介绍了利用MATLAB编程进行几幅图片的轮流切换,切换时实现与幻灯片切换相似的炫酷的图片切换特效.其中 ...
- Maya 2022.2 for Mac中文版(玛雅三维动画制作软件)
Maya 2022 for Mac是一款Mac平台上面最热门的三维动画制作软件,集动画.建模.模拟等功能于一身,内置丰富的渲染工具.Maya功能全面性能稳定,应用对象是专业的影视广告,角色动画,电影特 ...
最新文章
- python【数据结构与算法】KMP算法模板(我吐了!)
- 【ASP.NET开发】ASP.NET(MVC)三层架构知识的学习总结
- 添加附件列表的方法 (数组或)arraylist为datalist的datasource时 datalist中的绑定方式
- 玩转springboot2.x之自定义项目内自动配置
- linux shell常用函数,ps
- gitserver提交代码的总结
- linux子系统gdp调试,GDB调试命令_Linux编程_Linux公社-Linux系统门户网站
- 今日头条php笔试题,2017年今日头条笔试题目
- 深入理解计算机系统-cachelab
- 你不知道的HelloGitHub!
- 阿里天池大数据之移动推荐算法大赛总结及代码全公布
- java中使用集合模拟斗地主发牌的两种排序(根据大小或者花色)
- 第四届橙瓜网络文学奖《元尊》的排行竟然比《剑来》低?
- about 松峰山:
- 10公斤快递怎么用计算机,10公斤快递
- [附源码]Python计算机毕业设计服装销售商城系统
- java 线程亲缘性_线程的调度、优先级和亲缘性
- 深圳信息通信研究院与深圳市广和通无线股份有限公司签署战略合作协议
- asp.net+sqlserver固定资产管理系统系统c#项目
- Docker学习-基本上手操作
热门文章
- 高等数学之函数与极限
- [2019红帽杯]easyRE1题解
- 与dB相关的参数(B/dB/dBW/dBm/dBV/dBu)
- 长沙理工大学第十二届ACM大赛-重现赛
- 运用多线程知识写一个火车站售票系统
- [J2EE][shiro][授权和认证框架]
- c 语言程序编辑,C语言程序编辑学习篇—编程者说之C语言
- 表头顺序不一样的表格如何合并_不同表头的多表合并
- vue中v-charts图表数据如何从后台获取?【篇二】
- getTime()得到时间戳不一样