8,324
社区成员
发帖
与我相关
我的任务
分享//叉积建立第三条线
//叉积(vPolygon:3角形的点)
D3DXVECTOR3 vPolygon[3];
//起始点
vPolygon[0]=MapOb1[0].LHxx3DMVertex[2].LHxxMP;
//第一条线的终点
vPolygon[1]=MapOb1[0].LHxx3DMVertex[0].LHxxMP;
//第一条线的终点
vPolygon[2]=MapOb1[0].LHxx3DMVertex[3].LHxxMP;
// Get 2 vectors from the polygon (2 sides), Remember the order!
D3DXVECTOR3 vVector1 = vPolygon[2] - vPolygon[0];//第一条线向量
D3DXVECTOR3 vVector2 = vPolygon[1] - vPolygon[0];//第二条线向量
//计算出第3条,垂直线的向量(求出叉积)
D3DXVECTOR3 vNormal;
D3DXVec3Cross(&vNormal,&vVector1,&vVector2);
//标准化(0-1)
D3DXVec3Normalize(&vNormal,&vNormal);
float range=50;//长度
//设置第3条线的起始点
//求得发线长度为50*百分比.
//-D3DXVECTOR3(2.5,2.5,2.5):将终点偏移到左下角
ViewLine10[3].LHxxLP=(vNormal*range)+MapOb1[0].LHxxMove-D3DXVECTOR3(2.5,2.5,2.5);