游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1547|回复: 4

怎么求点在面的那一边

[复制链接]

2

主题

3

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2006-9-30 08:19:00 | 显示全部楼层 |阅读模式
如何判定点和面的位置关系!

16

主题

65

帖子

75

积分

注册会员

Rank: 2

积分
75
发表于 2006-10-1 10:01:00 | 显示全部楼层

Re:怎么求点在面的那一边

D3DXIntersect()

0

主题

6

帖子

6

积分

新手上路

Rank: 1

积分
6
发表于 2006-10-2 00:10:00 | 显示全部楼层

Re:怎么求点在面的那一边

计算出点和面之间的距离

27

主题

179

帖子

259

积分

中级会员

Rank: 3Rank: 3

积分
259
发表于 2006-10-6 13:06:00 | 显示全部楼层

Re:怎么求点在面的那一边

根据面的方程  AX+BY+CZ+D = 0 把点坐标<X,Y,Z>带入面方程,如果结果 >0就是在正面 <0是反面,=0 是在面上

1

主题

78

帖子

82

积分

注册会员

Rank: 2

积分
82
发表于 2006-10-6 15:24:00 | 显示全部楼层

Re:怎么求点在面的那一边

如果是用DX9的,直接有函数判断。
float D3DXPlaneDotCoord(const D3DXPLANE *pP,const D3DXVECTOR *pV)
D3DXPLANE p(0.0f,1.0f,0.0f,0.0f):
D3DXVECTOR3 v(3.0f,5.0f,2.0f):
float x=D3DXPlaneDotCoord(&p,&v):
if(x appruximately equals 0.0f)在平面
if(x>0)                                点在正半
if(x<0)                                点在负半
具体的东西请自己看DX9的SDK
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-25 14:03

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表