搜索
bottom↓
回复: 33

3D图形显示STM32版——源码及资料

  [复制链接]

出0入0汤圆

发表于 2012-10-31 00:44:17 | 显示全部楼层 |阅读模式
原程序3dcube来自PIC版本,坛上AVR版本移植过http://www.amobbs.com/forum.php? ... ;highlight=avr%2B3d
atmel有另外一个版本http://www.amobbs.com/forum.php? ... ;highlight=avr%2B3d

本贴根据3dcube移植,不过目前还不知道怎么定义数据,出来的立方图很小
相机数据线出了问题,图就不上了,直接上传程序吧

stm3210e-eval上的工程:


其他相关资料
原版3dcube.c程序,解压后把.txt改为.c即可:


atmel 3D资料:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2012-10-31 00:44:55 | 显示全部楼层
沙发。沙发。沙发。

出0入0汤圆

发表于 2012-10-31 00:49:23 | 显示全部楼层
顶一下,感谢楼主分享。

出0入0汤圆

发表于 2012-10-31 05:09:51 | 显示全部楼层
好像fpga 有彩色的

出0入0汤圆

发表于 2012-10-31 08:17:57 | 显示全部楼层
牛啊!感谢分享,有机会研究下

出0入0汤圆

发表于 2012-10-31 10:09:01 | 显示全部楼层
红牛上跑了,挺好的

出0入0汤圆

发表于 2012-10-31 10:18:07 | 显示全部楼层
好东西啊,先收藏了

出0入0汤圆

 楼主| 发表于 2012-11-5 14:30:35 | 显示全部楼层
sky5566 发表于 2012-10-31 05:09
好像fpga 有彩色的

厉害,这个有点难度

出0入0汤圆

发表于 2012-11-5 16:13:12 | 显示全部楼层
把LZ的程序搬到了C#跑了。。。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2012-11-6 16:07:04 | 显示全部楼层
本帖最后由 jisaowang 于 2012-11-6 16:08 编辑

我写了个cortex m4的汇编三角形固体填充程序,stm32f4 跑168mhz时,加上3d变换矩阵操作等等,秒间填充10000部分出屏的三角形无压力,如果三角形完全在屏幕范围内15000无压力。。。

出0入0汤圆

发表于 2012-11-6 16:13:42 | 显示全部楼层
好东西!!!下来看看

出0入0汤圆

 楼主| 发表于 2012-11-12 09:19:39 | 显示全部楼层
jisaowang 发表于 2012-11-6 16:07
我写了个cortex m4的汇编三角形固体填充程序,stm32f4 跑168mhz时,加上3d变换矩阵操作等等,秒间填充10000 ...

强,居然还有用汇编写STM32程序的

出0入0汤圆

发表于 2012-11-12 15:02:56 | 显示全部楼层
xi_liang 发表于 2012-11-12 09:19
强,居然还有用汇编写STM32程序的

自己写可以做到只用寄存器,用c估计出入栈就不可避免了,有了fpu的额外的32个寄存器,可以玩的汇编花样多很多,各种好玩

出0入0汤圆

发表于 2012-11-12 15:10:33 | 显示全部楼层
MARk!!!!!!!!!!!!

出0入0汤圆

发表于 2012-11-13 20:15:59 | 显示全部楼层
确实是个好东西,学习一下,虽然现在2d还没弄明白!

出0入0汤圆

 楼主| 发表于 2012-11-19 08:58:37 | 显示全部楼层
涉及到3D到2D的矩阵变换,要有一定的线性代数基础

出0入0汤圆

发表于 2012-12-18 23:58:41 | 显示全部楼层
5分钟在野火的板子上搞定。程序很短,原理貌似很简单,难道就没高人出来解释下这个原理?

出0入0汤圆

 楼主| 发表于 2012-12-19 00:03:46 | 显示全部楼层
汗啊,辛辛苦苦搞出来的程序被别人拿来做广告

出0入0汤圆

发表于 2012-12-20 00:28:09 | 显示全部楼层
http://www.amobbs.com/forum.php? ... 687&pid=3818216
原理不难,想玩出花样来不容易。

出0入0汤圆

发表于 2012-12-20 01:03:16 | 显示全部楼层
可能英语注释的不太清楚,动笔花花就清楚了。
const signed int aa[8]={40,-40,-40,40,   40,-40,-40,40};           // x data for shape vertex
const signed int bb[8]={40,40,-40,-40,   40,40,-40,-40};          // y data for shape vertex
const signed int cc[8]={-40,-40,-40,-40, 40,40,40,40};                // z data for shape vertex
上边三个数组存的立方体8个顶点坐标,如(40,40,-40)。我改成40了,在320*240的TFT上看起来更大。

const int ff[12]={1,2,3,4,  5,6,7,8, 1,2,3,4};                    // start vertex for lines
const int gg[12]={2,3,4,1,  6,7,8,5, 5,6,7,8};                        // end vertex for lines
这两个数组存的12条边的顺序,如1-2,表示顶点1到顶点2的那条边。

newx[i] = (x / (z / 256 + 1)) + OFFSETX;        // translate 3d to 2d coordinates for screen
newy[i] = (y / (z / 256 + 1)) + OFFSETY;        // drawing so we can see the cube
按照书上的,上面改成这样了,觉得效果好些。

rotx = rotx + 0.01;          // rotate the cube on X axis
roty = roty + 0.01;          // and on its y axis
rotz = rotz + 0.0;          // dont bother with z or it gets confusing
可以改旋转速度。

其实确实挺简单的,不难理解,看看那本书Chapter 6 图形变换,for语句里的就不难理解了。原理知道了,可是能做出什么东西呢?STM32上的3D游戏?呵呵,可以做个3D版的陀螺仪。

这代码应该可以优化。不知有没有更好的算法,这个太占资源了。不加外部SRAM,STM32刷320*240TFT都成问题。

出0入0汤圆

发表于 2012-12-26 23:54:34 | 显示全部楼层
学习了,好东西

出0入0汤圆

发表于 2012-12-26 23:59:53 | 显示全部楼层
谢谢楼主!收藏

出0入0汤圆

发表于 2013-2-15 16:38:56 | 显示全部楼层
谢谢分享!

出0入0汤圆

发表于 2013-7-11 13:27:52 | 显示全部楼层
先标记。很想了解

出0入0汤圆

发表于 2013-11-18 11:22:09 | 显示全部楼层
好东西,收藏了

出0入0汤圆

发表于 2013-11-18 16:00:43 | 显示全部楼层
zhenghe 发表于 2012-12-20 00:28
http://www.amobbs.com/forum.php?mod=redirect&goto=findpost&ptid=985687&pid=3818216
原理不难,想玩出 ...

遥遥,切克闹,矩阵论图形学是一套····

出0入0汤圆

发表于 2013-11-18 16:01:46 | 显示全部楼层
好东西 标记  3d图形

出0入0汤圆

发表于 2013-11-19 18:40:46 | 显示全部楼层
好东西,

出0入0汤圆

发表于 2013-11-19 19:22:15 | 显示全部楼层
感觉碉堡了!学习了

出0入0汤圆

 楼主| 发表于 2014-2-21 17:41:19 | 显示全部楼层
这个移植不难,原理要看计算机图形学的

出0入0汤圆

 楼主| 发表于 2014-6-26 19:37:20 | 显示全部楼层
这个只是最简单的版本,还有更高级的,纹理什么的

出0入0汤圆

发表于 2014-6-27 09:52:56 | 显示全部楼层
mark        

出0入0汤圆

发表于 2014-6-27 10:52:09 来自手机 | 显示全部楼层
mark           

出0入0汤圆

发表于 2018-1-23 21:12:05 | 显示全部楼层
搞来玩一下.
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-5 19:41

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表