Method: Mageo::Triangle#normal_vector
- Defined in:
- lib/mageo/triangle.rb
#normal_vector ⇒ Object
法線ベクトルの1つを返す。法線ベクトルは正反対の方向を示す 2つがあるが、内部的には頂点の順が右ねじとなる方向(正確には外積の定義される方向) のものが選ばれる。また、長さが1に規格化されたものが返される。
157 158 159 160 161 162 163 164 |
# File 'lib/mageo/triangle.rb', line 157 def normal_vector edge1 = (@vertices[1] - @vertices[0]) edge2 = (@vertices[2] - @vertices[1]) vec = edge1.exterior_product( edge2 ) normal = vec * (1.0/vec.r) return normal end |