|
|
1
我现在有这么一个函数
它的作用是绘制一个模型
当然这段元代码不是我写的……
这个函数可以让模型转向
loat rx, float ry, float rz是转向的角度,例如rz=90的话模型就会竖起来
现在我的问题是
这个模型在(x1,y1,z1)这个点
要让它面向(x2,y2,z2)
请问我应该怎么做?
或者说怎么把向量转为角度?
- void CLoadNJ::ShowACMD(unsigned long ACMID, float tx, float ty, float tz, float rx, float ry, float rz, float size)
- {
- unsigned long *pHeader; // 创建文件头
- pHeader = (unsigned long*)ACMD.pData; // 指向文件头
- if(ACMID<pHeader[0])
- {
- if((ACMD.pData+pHeader[ACMID])[0] == 'A' && (ACMD.pData+pHeader[ACMID])[1] == 'C' && (ACMD.pData+pHeader[ACMID])[2] == 'M')
- {
- glPushMatrix();
- glTranslatef(tx,ty,tz);
- glRotatef(rx, 1.0f, 0.0f, 0.0f);
- glRotatef(ry, 0.0f, 1.0f, 0.0f);
- glRotatef(rz, 0.0f, 0.0f, 1.0f);
- glScaled(size,size,size);
-
- ReadACM(ACMD.pData+pHeader[ACMID]); // 读取ACM块
-
- glPopMatrix();
- }
- }
- }
复制代码
2
已知(x0,y0,z0)方向上过点(x1,y1,z1)的直线
求这条直线上与(x1,y1,z1)相距l的点的坐标
求这个问题的代码
|
|