D3D中 如何判断三角形是在背面还是在正面

jyg_mysoul 2011-09-12 06:49:13
已知三角形3个顶点坐标,以及一个参考原点坐标
如何计算这个三角形相对于这个参考原点是在正面还是在背面?

bool ComputeNormal(D3DXVECTOR3 v1,D3DXVECTOR3 v2,D3DXVECTOR3 v3,D3DXVECTOR3 &result)
{
D3DXVECTOR3 u = v2 - v1;
D3DXVECTOR3 v = v3 - v1;
D3DXVec3Cross(&result, &u, &v);
D3DXVec3Normalize(&result, &result);
return true;
}

bool AnalysPlanePositiveOrnegative(D3DXVECTOR3 v1,D3DXVECTOR3 v2,D3DXVECTOR3 v3,D3DXVECTOR3 origin)
{
D3DXVECTOR3 Normal;
ComputeNormal(v1,v2,v3,Normal);
D3DXPLANE Plane;
Plane.a=Normal.x;
Plane.b=Normal.y;
Plane.c=Normal.z;
Plane.d=0.0f;
float fval;
fval=::D3DXPlaneDotCoord(&Plane,&origin);
if (fval<0.0f)
{
return false;
}
else
{
return true;
}
}
//'=============================以上是我的代码===========================
好像不行,求大侠帮我改一改 谢谢!
...全文
101 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
fandh 2011-09-13
  • 打赏
  • 举报
回复
应该是靠求法向量来判断吧!

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧