視点に一番近い立方体の頂点を求める

nearestvertex.png

内積
モデル行列に何もかかってないときだけ有効かも

CVector viewVec(-lookAtMatrix[2],-lookAtMatrix[6],-lookAtMatrix[10],0.0);
 
    double dMaxDist = viewVec * m_pVertices[0];//内積を求める
    double dMinDist = dMaxDist;
    int nMaxIdx = 0;//nMaxIdxは、m_pEdgeListのためのインデックス
    for(int i = 1; i < 8; ++i) {
        double dist = viewVec * m_pVertices[i];//各頂点との内積を求める
        if ( dist > dMaxDist) {
            dMaxDist = dist;
            nMaxIdx = i;//マウスで箱を動かすとここの値が変わる。初期値では0
        }
        if ( dist < dMinDist) {
            dMinDist = dist;
        }
 
    }

aabb cube

サポートサイト Wikidot.com aabbcube