平面に最も近いor遠い点を求める

plane-nearest.png

平面法線に最も方向が近い点を求めるには?
各短点が、平面のどちら側に存在しているのか?を示す。

負の頂点を得るコード 正の頂点を得るコード
        vec3<T> getVertexN(const vec3<T> &normal) const{//Negative
                vec3<T> res = corner;
        //軸境界ボックスの中で最小値を持つの頂点
                if (normal.x < 0)
                        res.x += x;
                if (normal.y < 0)
                        res.y += y;
                if (normal.z < 0)
                        res.z += z;
                return(res);
        }
        vec3<T>  getVertexP(const vec3<T>  &_normal)const {//Positive
                vec3<T> res = corner;
                if (_normal.x > 0)
                        res.x += x;
                if (_normal.y > 0)
                        res.y += y;
                if (_normal.z > 0)
                        res.z += z;      
                return(res);
        }

aabb plane

サポートサイト Wikidot.com aabbplane