📄 our_module.c
字号:
/**************************************************************************
Copyright (C) jianbo miao Corporation. All Rights Released.
this is a 3d engin named our_3d_engin.
our_3d_engin feature:
1:there is no float.
2:it do the 3d things all by softwear.
3:base on 1 and 2 , it can execution on arm which have no 3d hardwear accelerate.
if you have any suggestion or question,pls contact with me
mail:miaojb@126.com
msn:miaojianbo@hotmail.com
qq:30209027
2008/01/01
***************************************************************************/
#include "our_math.h"
#include "our_3d.h"
#include "our_draw32.h"
#include "math.h"
//FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
//FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
//==================================================================================
//==================================================================================
//==================================================================================
//==================================================================================
void OUR_creat_cube_mofang(OUR_3D_OBJ_PTR obj,//这个是我们要建造的物体的指针,
//具体内容我们会在下一章讲
int CUBE_1R) //这个参数是这个正方体的长的一半。
{
//#define CUBE_R 1000
int i;
FIX_POINT3D_PTR point_org=obj->pPoints; //得到组成物体的点的指针,下一张会详细解释
OUR_3D_TRAG_PTR triangle_work=obj->pTriangle;//得到组成物体的三角形的指针,以后详细解释
char point[][3]={ //构造我们需要的那些点的xyz的坐标
{ -1, 1, -1 },// 点0 //这里点的坐标和上面图上的有些不一样,
{ -1, 1, 1 },// 点1 //因为那个图是我在其他地方考的,不是我画的:)
{ 1, 1, 1 },// 点2
{ 1, 1, -1 },// 点3
{ -1, -1, -1 },// 点4
{ -1, -1, 1 },// 点5
{ 1, -1, 1 },// 点6
{ 1, -1, -1 },// 点7
};
char triangle[][3]={ //把我们要表现的3角形用上面的点的号码来表示出来
{ 0, 1, 2 },// 三角形0//一个三角形是3个点,而且这3个点的顺序是不能变的
{ 0, 2, 3 },// 三角形1
{ 4, 7, 6 },// 三角形2
{ 4, 6, 5 },// 三角形3
{ 1, 5, 6 },// 三角形4
{ 1, 6, 2 },// 三角形5
{ 0, 4, 5 },// 三角形6
{ 0, 5, 1 },// 三角形7
{ 0, 3, 7 },// 三角形4
{ 0, 7, 4 },// 三角形5
{ 2, 6, 7 },// 三角形6
{ 2, 7, 3 },// 三角形7
};
CLR clr[]={ 0xff0000, //三角形0,1 的颜色,红色
0x00ff00, //三角形2,3 的颜色,红色
0x0000ff, //三角形4,5 的颜色,红色
0xffff00, //三角形6,7 的颜色,红色
0xff00ff, //三角形8,9 的颜色,红色
0x00ffff}; //三角形10,11 的颜色,红色
for(i=0;i<8;i++)
{
point_org[i].MM.x= CUBE_1R*point[i][0];//把前面的点的信息给正方体
point_org[i].MM.y= CUBE_1R*point[i][1];
point_org[i].MM.z= CUBE_1R*point[i][2];
}
for(i=0;i<12;i++)
{
triangle_work[i].p1=triangle[i][0]; //把三角形的信息给正方体
triangle_work[i].p2=triangle[i][1];
triangle_work[i].p3=triangle[i][2];
triangle_work[i].CC.clor=clr[i>>1]; //给三角形颜色
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -