OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 8368|回复: 1

求助!!!!!!!!!STM32的3D图形问题。

[复制链接]

2

主题

4

帖子

0

精华

新手入门

积分
32
金钱
32
注册时间
2013-4-22
在线时间
0 小时
发表于 2013-4-22 11:43:21 | 显示全部楼层 |阅读模式
综合实验里 3dplay.c 下有这么一段 void t3d_pixel_transform,这是是什么样的模型? 求详述。

//核心算法部分
//3d转2D函数, pangle-旋转角度,ptrandis-移动位置, ppixel-要转换的像素, ppreturn-转换后的2D值保存到这
//pangle:角度.单位为弧度,而不是°.如果要用度表示的话,需要乘以π/180
//ptrandis:移动位置(当前点所围绕操作的点的坐标,3D像素点)
//ppixel:要转换的像素点(3D像素点)
//ppreturn:转换完成后的像素点(2D像素点)  
void t3d_pixel_transform(_t3d_obj* t3dx,u16 pixindex)
{  
signed long lsinx,lcosx,lsiny,lcosy,lsinz,lcosz;
signed long ltempx,ltempy,ltempz;
signed long ldx,ldy,ldz;  
    float tdx,tdy;//必须要的2个个浮点数据,否则在x/y轴上会有点问题.  
lsinx=my_sin(t3dx->ang.x);
  lcosx=my_cos(t3dx->ang.x);
lsiny=my_sin(t3dx->ang.y);
lcosy=my_cos(t3dx->ang.y);
lsinz=my_sin(t3dx->ang.z);
  lcosz=my_cos(t3dx->ang.z); 
    //开始计算和转换 
    ldx = t3dx->p3dbuf[pixindex].x;
ldy = t3dx->p3dbuf[pixindex].y;
ldz = t3dx->p3dbuf[pixindex].z;
    ltempy = ldy*lcosx - ldz*lsinx;
    ltempz = ldy*lsinx + ldz*lcosx;
    ldy = ltempy;
    ldz = ltempz;
    ltempx = ldx*lcosy*1000 - ldz*lsiny;
    ltempz = ldx*lsiny*1000 + ldz*lcosy;
    ldx = ltempx/1000;  
    ldz = ltempz/10000;//得到扩大100倍的结果
    ltempx = ldx * lcosz - ldy * lsinz;
    ltempy = ldx * lsinz + ldy * lcosz;
    ldx = ltempx/100000;
    ldy = ltempy/100000;  
    tdx = ldx + t3dx->dis.x*10;
tdy = ldy + t3dx->dis.y*10;
ldz = ldz - t3dx->dis.z*100 + t3dx->offz*100;   
  t3dx->p2dbuf[pixindex].x = (((tdx-USRX)*USRZ)/ldz) + t3dx->offx;
t3dx->p2dbuf[pixindex].y = (((tdy-USRY)*USRZ)/ldz) + t3dx->offy;    
t3dx->p2dbuf[pixindex].color=t3dx->p3dbuf[pixindex].color;    
  
}  
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-4-22 14:37:17 | 显示全部楼层
照搬别人的代码.无解释.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-21 02:08

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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