三角形について

triangle.png

Triangle構造体

#ifndef MIFFYTRIANGLE
#define MIFFYTRIANGLE
#include "vec3.h"
namespace miffy{
    template <typename T>
    struct tri{
    vec3<T> a;
    vec3<T> b;
    vec3<T> c;
    tri(){}
    tri(vertex<T>& _a,vertex<T>& _b,vertex<T>& _c):a(_a.to_vec3()),b(_b.to_vec3()),c(_c.to_vec3()){}
    tri(vec3<T>& _a,vec3<T>& _b,vec3<T>& _c):a(_a),b(_b),c(_c){}
    ~tri(){}
    template <typename T>
    vec3<T> CalcNormalVector(){
     vec3<T> ba=a-b;
     vec3<T> bc=c-b;
     vec3<T> normal=bc.cross(ba);
     normal.normalize();//長さ1に正規化する。
     return normal;
    }
    };
}
#endif

サポートサイト Wikidot.com