像电影一样,在电脑上通过3D模型显示飞行姿态!(C# .NET3.5 WPF) <编辑完成&
1:准备3D模型做4轴,难免会涉及到3D模型的绘制,每个人都有自己上手的,熟悉的3D机械设计软件。这里我就以Solidworks为例子。
http://cache.amobbs.com/bbs_upload782111/files_25/ourdev_531953.JPG
(原文件名:1.JPG)
2:将模型导出到一个WPF认识的文件格式
http://cache.amobbs.com/bbs_upload782111/files_25/ourdev_531955.jpg
(原文件名:2.jpg)
3:创建一个WPF应用程序项目;可以使用Visual Studio;也可以使用Blend。如果你是十分十分NB的人,后面的所有操作你都可以选择记事本+命令行的组合。
http://cache.amobbs.com/bbs_upload782111/files_25/ourdev_531957.JPG
(原文件名:3.JPG)
4:导入和打开刚才导入的XAML文件。可以看见三维模型可以被正确的显示出来。
http://cache.amobbs.com/bbs_upload782111/files_25/ourdev_531958.JPG
(原文件名:4.JPG)
5:将刚才导出的3D模型复制,粘贴到主要的窗体里面。
http://cache.amobbs.com/bbs_upload782111/files_25/ourdev_531959.jpg
(原文件名:5.jpg)
http://cache.amobbs.com/bbs_upload782111/files_25/ourdev_531960.jpg
(原文件名:6.jpg)
6:调整一下,让3D模型平铺蛮整个窗口,还可以调整下摄像机,让模型以透视图的方式显示出来。
http://cache.amobbs.com/bbs_upload782111/files_25/ourdev_531961.JPG
(原文件名:7.JPG)
7:F5运行,可以看见一个基本的包含3D模型的程序已经做好了。下面的步骤就是编码,然模型能够动起来。
http://cache.amobbs.com/bbs_upload782111/files_25/ourdev_531965.JPG
(原文件名:8.JPG)
8:我的硬件还么有弄好,现在只能模拟一下T_T 放3个那啥控件在窗体上,我们就可以通过拖动鼠标来模拟LIS302DL的测量结果了
http://cache.amobbs.com/bbs_upload782111/files_25/ourdev_531967.JPG
(原文件名:9.JPG)
9:调整属性,偏转角度是90度到-90度(很明显,实际的是不可能达到这个水平的,早炸鸡了)
http://cache.amobbs.com/bbs_upload782111/files_25/ourdev_531969.JPG
(原文件名:10.JPG)
10:用VisualStudio打开项目。新建一个类型,用来表示4轴的姿态,这个类型应该实现System.ComponentModel名字空间里面的INotifyPropertyChanged接口,这样当4轴姿态改变时有机会通知程序。
http://cache.amobbs.com/bbs_upload782111/files_25/ourdev_531971.JPG
(原文件名:11.JPG)
11:加点盐
http://cache.amobbs.com/bbs_upload782111/files_25/ourdev_531973.JPG
(原文件名:12.JPG)
12:给窗体添加一个属性,一定在窗体被初始化之前初始化这个属性。
http://cache.amobbs.com/bbs_upload782111/files_25/ourdev_531975.JPG
(原文件名:13.JPG)
完成后,我们通过WPF强大的数据绑定功能完成模型的控制。 13:为3D模型添加三维旋转变换,并将角度绑定到之前创建的属性上。
http://cache.amobbs.com/bbs_upload782111/files_25/ourdev_531985.JPG
(原文件名:14.JPG)
14:同时也将之前添加的,模拟用的那3个那啥控件的Value属性也绑定到Device属性上面。
http://cache.amobbs.com/bbs_upload782111/files_25/ourdev_531987.JPG
(原文件名:15.JPG)
15:F5运行,可以看见模拟的效果,只要修改Device属性就可以控制模型的倾斜了。
http://cache.amobbs.com/bbs_upload782111/files_25/ourdev_531989.JPG
(原文件名:16.JPG)
http://cache.amobbs.com/bbs_upload782111/files_25/ourdev_531990.JPG
(原文件名:17.JPG)
最后,如果要通过代码来更新模型的倾斜,还要小心处理WPF的UI线程。 完整项目文件:
点击此处下载 ourdev_531993.rar(文件大小:454K) (原文件名:WpfApplication1.rar)
贴完了,欢迎拍砖 牛贴,先顶一个! 超牛,顶 顶 顶一个 牛贴,顶一个! mark mark mark 牛贴,先顶一个! 太牛了,WPF都用上了。。。超简捷的代码啊 强帖留名~~~ 相当牛~~ 楼主,辛苦了。菜鸟请教,该软件和飞控版,如何连接?谢谢! 通讯接口还没做吗? 确实很厉害的。 至今不会用WPF,=,= 学习, 牛贴,膜拜中... pfpf 不错, 不知有没有可能改成一个上位机的控制器。就是在电脑里控制四轴的飞行。 牛! 通信接口我想写,只不过没有飞行器做测试,谁愿意把机器给用下
QQ:4987222 回复【15楼】fzy2007a
-----------------------------------------------------------------------
回复【15楼】fzy2007a
楼主,辛苦了。菜鸟请教,该软件和飞控版,如何连接?谢谢!
-----------------------------------------------------------------------
可以用GPS和无线通信进行数据传输 Awesome 必须顶~~ 顶顶 顶一个 给我们提供了制做上位机的思路,学习了,谢谢楼主分享。 mark mark
牛啊 谢谢 LZ分享 学习中 牛人,受教了 mark mark mark mark ding MARK 顶 MARK Mark 其实也可以调试用,飞起来了再观测? 很强大。 喜欢 强帖留名 mark mark 强! 测试视频:
点击此处下载 ourdev_599965IPV0HM.rar(文件大小:8.27M) (原文件名:DSCF2026.rar) 嗯,要留名。 不知道楼主的能不能显示浆的旋转状态?再配上声音,这样做出来是不是更加炫呢 厉害!!!! WPF mark~~~ 牛! mark ^_^ mark 请问楼主这个接口部分的电路是怎么连接的呢?(PC端和这个电路连接图) 串口 强~~学习一下 牛,顶! 强贴留名 MARK 楼主很牛 很值得学习~~ mark MMMMMMMMMMMark! 酷,Mark! 绝对的机械达人,不能让这种人才轻易溜走论坛。所以出个题目,不知您有没有时间?
把做好的模型,当然加上桨叶,加上飞控代码,在计算机上跑起来,数学吹风~
这个可能很难,可能要有熟悉有限元分析的同学做流体力学这一块。这个对飞控算法设计是个革_命性的工具。
当然这个能做好,你肯定不愁好工作,不用看人家脸色啦!呵呵 mark 这个设计思路可以用到很多地方 必须MARK 不错!!! 顶 受教了…… 看到C#完成 顶四川老乡一个 mark beautiful 顶一个 牛帖,不懂,帮顶一个 mark 回复【71楼】yuxuanqq
绝对的机械达人,不能让这种人才轻易溜走论坛。所以出个题目,不知您有没有时间?
把做好的模型,当然加上桨叶,加上飞控代码,在计算机上跑起来,数学吹风~
这个可能很难,可能要有熟悉有限元分析的同学做流体力学这一块。这个对飞控算法设计是个革_命性的工具。
当然这个能做好,你肯定不愁好工作,不用看人家脸色啦!呵呵
-----------------------------------------------------------------------
对啊对啊,想关心一下有木有加上飞控,实时显示飞行控制效果的3D仿真哦? 回复【28楼】wxws 我行我素
顶顶
----------------------------------------------------------------------- 这个要好好学习下 mark 牛人牛贴 mark 虽然是新来的,但是我刚好需要这方面的资料,非常感谢 厉害,学习了 牛牛牛 牛人啊感谢 希望以后多多发帖哦./emotion/em013.gif 回复【1楼】linhaimi
-----------------------------------------------------------------------
楼主VC好强呀!!! 请问有木有solidworks模型源文件?? 强悍 mark! 见识了,WPF还没有摸过 MARK 出于好奇,扫描了下楼主的头像,原来是个网址。。。
http://cache.amobbs.com/bbs_upload782111/files_45/ourdev_675626CXZVRT.png
(原文件名:豌豆荚截屏(1).png)
./emotion/em011.gif./emotion/em011.gif ./emotion/em011.gif