找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 4151|回復(fù): 3
收起左側(cè)

stm32+oled組成顯示3d旋轉(zhuǎn)圖演示視頻

[復(fù)制鏈接]
ID:244158 發(fā)表于 2018-7-25 12:41 | 顯示全部樓層 |閱讀模式
提到3d渲染引,通常只會(huì)用,現(xiàn)在呢把這東西移植到了stm32上,大家可以學(xué)習(xí)下,不光能旋轉(zhuǎn)立方體,只要是簡(jiǎn)單的3d圖(例如紙飛機(jī))都能顯示


視頻:https://v.youku.com/v_show/id_XMzc0NDEyNzc4NA==.html



回復(fù)

使用道具 舉報(bào)

ID:1 發(fā)表于 2018-7-25 16:36 | 顯示全部樓層
有源碼嗎?沒(méi)有源碼不要發(fā)技術(shù)區(qū),會(huì)導(dǎo)致扣分的
回復(fù)

使用道具 舉報(bào)

ID:244158 發(fā)表于 2018-8-2 08:45 | 顯示全部樓層
貼上源碼

float cube[8][3]={{-15,-15,-15},{-15,15,-15},{15,15,-15},{15,-15,-15},{-15,-15,15},{-15,15,15},{15,15,15},{15,-15,15}};//立方體坐標(biāo)
int lineid[25]={1,2,2,3,3,4,4,1,5,6,6,7,7,8,8,5,8,4,7,3,6,2,5,1};//記錄點(diǎn)之間連接順序
float *matconv(float *a,float b[3][3]){//計(jì)算矩陣算法
float res[3];
        int i;
        for(i=0;i<3;i++){
         res[i]=b[i][0]*a[0]+b[i][1]*a[1]+b[i][2]*a[2];
        }
        for(i=0;i<3;i++){
         a[i]=res[i];
        }
        return a;
}
void rotate(float *obj,float x,float y,float z){//旋轉(zhuǎn)這個(gè)向量

        float rz[3][3]={{cos(z),sin(z),0},{sin(z),cos(z),0},{0,0,0}};
        float ry[3][3]={{0,0,0},{0,cos(y),sin(y)},{0,sin(y),cos(y)}};
        float rx[3][3]={{cos(x),0,sin(x)},{0,0,0},{sin(x),0,cos(x)}};
        matconv(matconv(matconv(obj,rz),ry),rx);
}
回復(fù)

使用道具 舉報(bào)

ID:364278 發(fā)表于 2018-8-2 17:03 | 顯示全部樓層
樓主能分享一下程序嗎?

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表