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


评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值