怎样找到从.x文件导入的Mexh的第n个面的法线?解决思路

怎样找到从.x文件导入的Mexh的第n个面的法线?
我从.x文件导入一个mesh,指针为pMesh,它包含法线信息。一条光线与它的第n个面相交,我想找到这个面的的法线矢量,该怎样做?或者找到它的三个顶点的位置信息也行。
谢谢!

------解决方案--------------------
这个你找到组成这个面的任意2个向量 就可以计算了啊 可以按面遍历MESH的
------解决方案--------------------
公式

JScript code
三角形的三个顶点设为(v0, v1, v2),则三角形的面法向量为
normal = (v1 - v0) cross (v2 - v0)

------解决方案--------------------
先 pMesh->LockIndexBuffer(...) 在里面找 n*3 n*3+1 n*3+2的值,比如说对应为 i1,i2,i3
然后再lockVertexBuffer取得迭代用的 VertexStruct 结构指针 pVert;
那么你的三个点就是 pVert[i1],pVert[i2],pVert[i3]

喵,龙书里面应该有这个东东的

还有,如果你的MESH从X文件导入后,本身就有法线的话......
直接把FACE三个顶点的法线加一下,喵,CROSS喵喵是数学方法,直接三点法线相加是因为d3dxMesh的特性
(关于这个我在GAMERES还和几个大仙吵过架 ,但我自己做例程实验表明三点法线相加,绝对和CROSS出来的法线一样)