在opengl中怎样判断点是否在立方体内2
发布网友
发布时间:2023-11-23 17:56
我来回答
共1个回答
热心网友
时间:2023-12-31 21:15
opengl 好像没有专门函数判断点是否在立方体内。
如果 立方体边 是平行 xyz坐标轴的,那么很容易判断,因为我们可以找出立方体8个角点的坐标最大最小值 x_min,x_max,y_min,y_max,z_min,z_max
如果一个点 [p_x,p_y,p_z]
x_min < p_x < x_max; y_min < p_y < y_max; z_min < p_z < z_max;
它就在立方体内。
如果 立方体 是空间 任意位置,则不太好判断。
一种办法是通过 两次 旋转立方体,让立方体转到 与xyz坐标轴平行,
当然 也把 这个点 旋转两次 ,转同样 角度。 opengl 有 rotate 函数做旋转变换。然后 再用 x_min < p_x < x_max; y_min < p_y < y_max; z_min < p_z < z_max; 判断
再有,通过该点,对立方体的6个面作 垂线(斜率等于立方体楞边的斜率),比较垂线坐标和点的坐标可以判断是否在立方体内。
当然也可以用别的方法。不过,同 opengl 似无直接关系。