test/test_triangle.rb in mageo-0.0.1 vs test/test_triangle.rb in mageo-0.0.2
- old
+ new
@@ -1,235 +1,237 @@
#! /usr/bin/env ruby
# coding: utf-8
-require "test/unit"
-require "mageo/triangle.rb"
-require "mageo/vector3d.rb"
+require "helper"
+#require "test/unit"
+#require 'mageo.rb'
+#require "mageo/triangle.rb"
+#require "mageo/vector3d.rb"
-class Triangle
+class Mageo::Triangle
public :internal_axes
end
class TC_Triangle < Test::Unit::TestCase
$tolerance = 10.0 ** (-10)
- VEC_O = Vector3D[0.0, 0.0, 0.0]
- VEC_X = Vector3D[1.0, 0.0, 0.0]
- VEC_Y = Vector3D[0.0, 1.0, 0.0]
- VEC_Z = Vector3D[0.0, 0.0, 1.0]
+ VEC_O = Mageo::Vector3D[0.0, 0.0, 0.0]
+ VEC_X = Mageo::Vector3D[1.0, 0.0, 0.0]
+ VEC_Y = Mageo::Vector3D[0.0, 1.0, 0.0]
+ VEC_Z = Mageo::Vector3D[0.0, 0.0, 1.0]
def setup
- @t00 = Triangle.new([VEC_O, VEC_X, VEC_Y])
- @t01 = Triangle.new([VEC_X, VEC_Y, VEC_Z])
- @t02 = Triangle.new([[10.0,10.0,10.0], [20.0,10.0,10.0], [10.0,20.0,10.0]])
- @t03 = Triangle.new([[10.0,20.0,30.0], [ 0.0,20.0,30.0], [10.0, 0.0,30.0]])
+ @t00 = Mageo::Triangle.new([VEC_O, VEC_X, VEC_Y])
+ @t01 = Mageo::Triangle.new([VEC_X, VEC_Y, VEC_Z])
+ @t02 = Mageo::Triangle.new([[10.0,10.0,10.0], [20.0,10.0,10.0], [10.0,20.0,10.0]])
+ @t03 = Mageo::Triangle.new([[10.0,20.0,30.0], [ 0.0,20.0,30.0], [10.0, 0.0,30.0]])
end
def test_initialize
- assert_raise( ArgumentError ){ Triangle.new }
- assert_raise( ArgumentError ){ Triangle.new() }
- assert_raise( Triangle::InitializeError ){ Triangle.new( nil ) }
- assert_raise( Triangle::InitializeError ){ Triangle.new( [] ) }
- assert_raise( Triangle::InitializeError ){ Triangle.new( [ 0, 1 ] ) }
- assert_raise( Triangle::InitializeError ){ Triangle.new( [ 0, 1, 2 ] ) }
- assert_raise( Triangle::InitializeError ){ Triangle.new( [ 0, 1, 2, 3 ] ) }
- assert_raise( Triangle::InitializeError ){ Triangle.new( [ [ 0, 0, 0 ], [ 1, 1, 1 ], [ 2, 3 ] ] ) } #3次元座標になっていないものがある。
+ assert_raise( ArgumentError ){ Mageo::Triangle.new }
+ assert_raise( ArgumentError ){ Mageo::Triangle.new() }
+ assert_raise( Mageo::Triangle::InitializeError ){ Mageo::Triangle.new( nil ) }
+ assert_raise( Mageo::Triangle::InitializeError ){ Mageo::Triangle.new( [] ) }
+ assert_raise( Mageo::Triangle::InitializeError ){ Mageo::Triangle.new( [ 0, 1 ] ) }
+ assert_raise( Mageo::Triangle::InitializeError ){ Mageo::Triangle.new( [ 0, 1, 2 ] ) }
+ assert_raise( Mageo::Triangle::InitializeError ){ Mageo::Triangle.new( [ 0, 1, 2, 3 ] ) }
+ assert_raise( Mageo::Triangle::InitializeError ){ Mageo::Triangle.new( [ [ 0, 0, 0 ], [ 1, 1, 1 ], [ 2, 3 ] ] ) } #3次元座標になっていないものがある。
- assert_raise( Triangle::LinearException ){ Triangle.new( [ [ 0, 0, 0 ], [ 0, 0, 0 ], [ 2, 2, 2 ] ] ) } #同一の点を含む。
- assert_raise( Triangle::LinearException ){ Triangle.new( [ [ 0, 0, 0 ], [ 1, 1, 1 ], [ 2, 2, 2 ] ] ) } #直線上に並ぶ
+ assert_raise( Mageo::Triangle::LinearException ){ Mageo::Triangle.new( [ [ 0, 0, 0 ], [ 0, 0, 0 ], [ 2, 2, 2 ] ] ) } #同一の点を含む。
+ assert_raise( Mageo::Triangle::LinearException ){ Mageo::Triangle.new( [ [ 0, 0, 0 ], [ 1, 1, 1 ], [ 2, 2, 2 ] ] ) } #直線上に並ぶ
- assert_equal( Triangle, Triangle.new( [ Vector3D[ 0, 0, 0 ], Vector3D[ 1, 0, 0 ], Vector3D[ 0, 1, 0 ] ] ).class )
+ assert_equal( Mageo::Triangle, Mageo::Triangle.new( [ Mageo::Vector3D[ 0, 0, 0 ], Mageo::Vector3D[ 1, 0, 0 ], Mageo::Vector3D[ 0, 1, 0 ] ] ).class )
end
def test_vertices
assert_equal( Array, @t00.vertices.class )
assert_equal( 3, @t00.vertices.size )
- assert_equal( Vector3D[0, 0, 0], @t00.vertices[0] )
- assert_equal( Vector3D[1, 0, 0], @t00.vertices[1] )
- assert_equal( Vector3D[0, 1, 0], @t00.vertices[2] )
+ assert_equal( Mageo::Vector3D[0, 0, 0], @t00.vertices[0] )
+ assert_equal( Mageo::Vector3D[1, 0, 0], @t00.vertices[1] )
+ assert_equal( Mageo::Vector3D[0, 1, 0], @t00.vertices[2] )
end
def test_same_side?
- assert_raise(Triangle::TypeError){ @t00.same_side?( [ 2, 3, 7 ], [ -2, -3, 2 ])}
+ assert_raise(Mageo::Triangle::TypeError){ @t00.same_side?( [ 2, 3, 7 ], [ -2, -3, 2 ])}
- assert_equal( true , @t00.same_side?( Vector3D[ 2, 3, 7 ], Vector3D[ -2, -3, 2 ] ) )
- assert_equal( true , @t00.same_side?( Vector3D[ 2, 3, -7 ], Vector3D[ -2, -3, -2 ] ) )
- assert_equal( false, @t00.same_side?( Vector3D[ 2, 3, 7 ], Vector3D[ -2, -3, -2 ] ) )
- assert_equal( false, @t00.same_side?( Vector3D[ 2, 3, -7 ], Vector3D[ -2, -3, 2 ] ) )
- assert_equal( false, @t00.same_side?( Vector3D[ 1, 2, 0 ], Vector3D[ 10, 10, 10 ] ) ) #pos0 が面上の点
- assert_equal( false, @t00.same_side?( Vector3D[10, 10,10 ], Vector3D[ 1, 2, 0 ] ) ) #pos1 が面上の点
- assert_equal( false, @t00.same_side?( Vector3D[10, 10, 0 ], Vector3D[ 1, 2, 0 ] ) ) #両方 が面上の点
+ assert_equal( true , @t00.same_side?( Mageo::Vector3D[ 2, 3, 7 ], Mageo::Vector3D[ -2, -3, 2 ] ) )
+ assert_equal( true , @t00.same_side?( Mageo::Vector3D[ 2, 3, -7 ], Mageo::Vector3D[ -2, -3, -2 ] ) )
+ assert_equal( false, @t00.same_side?( Mageo::Vector3D[ 2, 3, 7 ], Mageo::Vector3D[ -2, -3, -2 ] ) )
+ assert_equal( false, @t00.same_side?( Mageo::Vector3D[ 2, 3, -7 ], Mageo::Vector3D[ -2, -3, 2 ] ) )
+ assert_equal( false, @t00.same_side?( Mageo::Vector3D[ 1, 2, 0 ], Mageo::Vector3D[ 10, 10, 10 ] ) ) #pos0 が面上の点
+ assert_equal( false, @t00.same_side?( Mageo::Vector3D[10, 10,10 ], Mageo::Vector3D[ 1, 2, 0 ] ) ) #pos1 が面上の点
+ assert_equal( false, @t00.same_side?( Mageo::Vector3D[10, 10, 0 ], Mageo::Vector3D[ 1, 2, 0 ] ) ) #両方 が面上の点
- assert_equal( true , @t01.same_side?( Vector3D[ 10, 10, 10 ], Vector3D[ 20, 30, 40 ] ) )
- assert_equal( true , @t01.same_side?( Vector3D[ 0, 0, 0 ], Vector3D[ -10, -10, -10 ] ) )
- assert_equal( false, @t01.same_side?( Vector3D[ 10, 10, 10 ], Vector3D[ -10, -10, -10 ] ) )
- assert_equal( false, @t01.same_side?( Vector3D[ 0, 0, 0 ], Vector3D[ 20, 30, 40 ] ) )
- assert_equal( false, @t01.same_side?( Vector3D[ 0.5, 0.5, 0 ], Vector3D[ 10, 10, 10 ] ) ) #pos0 が面上の点
- assert_equal( false, @t01.same_side?( Vector3D[ 10, 10, 10 ], Vector3D[ 0.5, 0.5, 0 ] ) ) #pos1 が面上の点
- assert_equal( false, @t01.same_side?( Vector3D[ 0.5, 0.5, 0 ], Vector3D[ 0, 0.5, 0.5 ] ) ) #両方 が面上の点
+ assert_equal( true , @t01.same_side?( Mageo::Vector3D[ 10, 10, 10 ], Mageo::Vector3D[ 20, 30, 40 ] ) )
+ assert_equal( true , @t01.same_side?( Mageo::Vector3D[ 0, 0, 0 ], Mageo::Vector3D[ -10, -10, -10 ] ) )
+ assert_equal( false, @t01.same_side?( Mageo::Vector3D[ 10, 10, 10 ], Mageo::Vector3D[ -10, -10, -10 ] ) )
+ assert_equal( false, @t01.same_side?( Mageo::Vector3D[ 0, 0, 0 ], Mageo::Vector3D[ 20, 30, 40 ] ) )
+ assert_equal( false, @t01.same_side?( Mageo::Vector3D[ 0.5, 0.5, 0 ], Mageo::Vector3D[ 10, 10, 10 ] ) ) #pos0 が面上の点
+ assert_equal( false, @t01.same_side?( Mageo::Vector3D[ 10, 10, 10 ], Mageo::Vector3D[ 0.5, 0.5, 0 ] ) ) #pos1 が面上の点
+ assert_equal( false, @t01.same_side?( Mageo::Vector3D[ 0.5, 0.5, 0 ], Mageo::Vector3D[ 0, 0.5, 0.5 ] ) ) #両方 が面上の点
end
def test_include?
- assert_raise(Triangle::TypeError){ @t00.include?([11.0, 11.0, 10.0], $tolerance)}
+ assert_raise(Mageo::Triangle::TypeError){ @t00.include?([11.0, 11.0, 10.0], $tolerance)}
# on face
- assert_equal(true, @t02.include?(Vector3D[11.0, 11.0, 10.0], $tolerance))
+ assert_equal(true, @t02.include?(Mageo::Vector3D[11.0, 11.0, 10.0], $tolerance))
# on vertices
- assert_equal(true, @t02.include?(Vector3D[10.0, 10.0, 10.0], $tolerance))
- assert_equal(true, @t02.include?(Vector3D[20.0, 10.0, 10.0], $tolerance))
- assert_equal(true, @t02.include?(Vector3D[10.0, 20.0, 10.0], $tolerance))
+ assert_equal(true, @t02.include?(Mageo::Vector3D[10.0, 10.0, 10.0], $tolerance))
+ assert_equal(true, @t02.include?(Mageo::Vector3D[20.0, 10.0, 10.0], $tolerance))
+ assert_equal(true, @t02.include?(Mageo::Vector3D[10.0, 20.0, 10.0], $tolerance))
# on edge
- assert_equal(true, @t02.include?(Vector3D[15.0, 10.0, 10.0], $tolerance))
- assert_equal(true, @t02.include?(Vector3D[10.0, 15.0, 10.0], $tolerance))
- assert_equal(true, @t02.include?(Vector3D[15.0, 15.0, 10.0], $tolerance))
+ assert_equal(true, @t02.include?(Mageo::Vector3D[15.0, 10.0, 10.0], $tolerance))
+ assert_equal(true, @t02.include?(Mageo::Vector3D[10.0, 15.0, 10.0], $tolerance))
+ assert_equal(true, @t02.include?(Mageo::Vector3D[15.0, 15.0, 10.0], $tolerance))
# out
- assert_equal(false, @t02.include?(Vector3D[ 30.0, 10.0, 10.0], $tolerance))
- assert_equal(false, @t02.include?(Vector3D[ 10.0, 30.0, 10.0], $tolerance))
- assert_equal(false, @t02.include?(Vector3D[-10.0, 10.0, 10.0], $tolerance))
- assert_equal(false, @t02.include?(Vector3D[ 10.0,-10.0, 10.0], $tolerance))
- assert_equal(false, @t02.include?(Vector3D[ 10.0, 10.0, 0.0], $tolerance))
+ assert_equal(false, @t02.include?(Mageo::Vector3D[ 30.0, 10.0, 10.0], $tolerance))
+ assert_equal(false, @t02.include?(Mageo::Vector3D[ 10.0, 30.0, 10.0], $tolerance))
+ assert_equal(false, @t02.include?(Mageo::Vector3D[-10.0, 10.0, 10.0], $tolerance))
+ assert_equal(false, @t02.include?(Mageo::Vector3D[ 10.0,-10.0, 10.0], $tolerance))
+ assert_equal(false, @t02.include?(Mageo::Vector3D[ 10.0, 10.0, 0.0], $tolerance))
- assert_equal(false, @t03.include?(Vector3D[ 3.0, 6.0, 30.0], $tolerance))
+ assert_equal(false, @t03.include?(Mageo::Vector3D[ 3.0, 6.0, 30.0], $tolerance))
# 計算誤差
- assert_equal(false, @t01.include?(Vector3D[ 0.3, 0.3, 0.3], $tolerance))
- assert_equal(true, @t01.include?(Vector3D[ 0.3, 0.3, 0.3], 1.0))
+ assert_equal(false, @t01.include?(Mageo::Vector3D[ 0.3, 0.3, 0.3], $tolerance))
+ assert_equal(true, @t01.include?(Mageo::Vector3D[ 0.3, 0.3, 0.3], 1.0))
end
def test_intersection
# 平行
- pos0 = Vector3D[0.0, 0.0, 2.0]
- pos1 = Vector3D[2.0, 0.0, 2.0]
- seg01 = Segment.new(pos0, pos1)
- assert_raise(Triangle::NoIntersectionError){ @t00.intersection(seg01, $tolerance) }
+ pos0 = Mageo::Vector3D[0.0, 0.0, 2.0]
+ pos1 = Mageo::Vector3D[2.0, 0.0, 2.0]
+ seg01 = Mageo::Segment.new(pos0, pos1)
+ assert_raise(Mageo::Triangle::NoIntersectionError){ @t00.intersection(seg01, $tolerance) }
# 面に含まれる
- pos0 = Vector3D[0.0, 0.0, 0.0]
- pos1 = Vector3D[2.0, 0.0, 0.0]
- seg01 = Segment.new(pos0, pos1)
- assert_raise(Triangle::NoIntersectionError){ @t00.intersection(seg01, $tolerance) }
+ pos0 = Mageo::Vector3D[0.0, 0.0, 0.0]
+ pos1 = Mageo::Vector3D[2.0, 0.0, 0.0]
+ seg01 = Mageo::Segment.new(pos0, pos1)
+ assert_raise(Mageo::Triangle::NoIntersectionError){ @t00.intersection(seg01, $tolerance) }
# 平行ではないが、三角形の外を通過。
- pos2 = Vector3D[0.0,10.0, 0.0]
- pos3 = Vector3D[0.0,10.0, 2.0]
- seg01 = Segment.new(pos0, pos1)
- assert_raise(Triangle::NoIntersectionError){ @t00.intersection(seg01, $tolerance) }
+ pos2 = Mageo::Vector3D[0.0,10.0, 0.0]
+ pos3 = Mageo::Vector3D[0.0,10.0, 2.0]
+ seg01 = Mageo::Segment.new(pos0, pos1)
+ assert_raise(Mageo::Triangle::NoIntersectionError){ @t00.intersection(seg01, $tolerance) }
# 三角形を通る
- pos2 = Vector3D[0.5, 0.5,-1.0]
- pos3 = Vector3D[0.5, 0.5, 2.0]
- seg01 = Segment.new(pos2, pos3)
- assert_equal(Vector3D[0.5, 0.5, 0.0], @t00.intersection(seg01, $tolerance))
+ pos2 = Mageo::Vector3D[0.5, 0.5,-1.0]
+ pos3 = Mageo::Vector3D[0.5, 0.5, 2.0]
+ seg01 = Mageo::Segment.new(pos2, pos3)
+ assert_equal(Mageo::Vector3D[0.5, 0.5, 0.0], @t00.intersection(seg01, $tolerance))
#
- pos2 = Vector3D[0.5, 0.5, 0.0]
- pos3 = Vector3D[0.5, 0.5, 1.0]
- seg01 = Segment.new(pos2, pos3)
- assert_equal(Vector3D[0.5, 0.5, 0.0], @t00.intersection(seg01, $tolerance))
+ pos2 = Mageo::Vector3D[0.5, 0.5, 0.0]
+ pos3 = Mageo::Vector3D[0.5, 0.5, 1.0]
+ seg01 = Mageo::Segment.new(pos2, pos3)
+ assert_equal(Mageo::Vector3D[0.5, 0.5, 0.0], @t00.intersection(seg01, $tolerance))
#
- pos2 = Vector3D[ 1.5, 1.5, 1.0]
- pos3 = Vector3D[-0.5,-0.5,-1.0]
- seg01 = Segment.new(pos2, pos3)
- assert_equal(Vector3D[0.5, 0.5, 0.0], @t00.intersection(seg01, $tolerance))
+ pos2 = Mageo::Vector3D[ 1.5, 1.5, 1.0]
+ pos3 = Mageo::Vector3D[-0.5,-0.5,-1.0]
+ seg01 = Mageo::Segment.new(pos2, pos3)
+ assert_equal(Mageo::Vector3D[0.5, 0.5, 0.0], @t00.intersection(seg01, $tolerance))
#
- pos2 = Vector3D[ 0.00, 0.00, 0.00]
- pos3 = Vector3D[ 1.00, 1.00, 1.00]
- seg01 = Segment.new(pos2, pos3)
+ pos2 = Mageo::Vector3D[ 0.00, 0.00, 0.00]
+ pos3 = Mageo::Vector3D[ 1.00, 1.00, 1.00]
+ seg01 = Mageo::Segment.new(pos2, pos3)
t = @t01.intersection(seg01, $tolerance)
assert_in_delta(1.0/3.0, t[0], $tolerance)
assert_in_delta(1.0/3.0, t[1], $tolerance)
assert_in_delta(1.0/3.0, t[2], $tolerance)
#
- pos2 = Vector3D[ 0.25, 0.25, 0.00]
- pos3 = Vector3D[ 0.25, 0.25, 1.00]
- seg01 = Segment.new(pos2, pos3)
- assert_equal(Vector3D[0.25, 0.25, 0.50], @t01.intersection(seg01, $tolerance))
+ pos2 = Mageo::Vector3D[ 0.25, 0.25, 0.00]
+ pos3 = Mageo::Vector3D[ 0.25, 0.25, 1.00]
+ seg01 = Mageo::Segment.new(pos2, pos3)
+ assert_equal(Mageo::Vector3D[0.25, 0.25, 0.50], @t01.intersection(seg01, $tolerance))
end
#def test_intersect?
# TODO
#end
def test_parallel_segment?
# 平行
- pos0 = Vector3D[0.0, 0.0, 2.0]
- pos1 = Vector3D[2.0, 0.0, 2.0]
- seg01 = Segment.new(pos0, pos1)
+ pos0 = Mageo::Vector3D[0.0, 0.0, 2.0]
+ pos1 = Mageo::Vector3D[2.0, 0.0, 2.0]
+ seg01 = Mageo::Segment.new(pos0, pos1)
assert_equal(true , @t00.parallel_segment?(seg01))
# 面に含まれる
- pos0 = Vector3D[0.0, 0.0, 0.0]
- pos1 = Vector3D[2.0, 0.0, 0.0]
- seg01 = Segment.new(pos0, pos1)
+ pos0 = Mageo::Vector3D[0.0, 0.0, 0.0]
+ pos1 = Mageo::Vector3D[2.0, 0.0, 0.0]
+ seg01 = Mageo::Segment.new(pos0, pos1)
assert_equal(false, @t00.parallel_segment?(seg01))
# 平行ではない。
- pos2 = Vector3D[0.0,10.0, 0.0]
- pos3 = Vector3D[0.0,10.0, 2.0]
- seg01 = Segment.new(pos0, pos1)
+ pos2 = Mageo::Vector3D[0.0,10.0, 0.0]
+ pos3 = Mageo::Vector3D[0.0,10.0, 2.0]
+ seg01 = Mageo::Segment.new(pos0, pos1)
assert_equal(false, @t00.parallel_segment?(seg01))
end
def test_normal_vector
- t = Vector3D[0.0, 0.0, 1.0]
+ t = Mageo::Vector3D[0.0, 0.0, 1.0]
assert_equal(t, @t00.normal_vector)
- t = Vector3D[1.0, 1.0, 1.0]
+ t = Mageo::Vector3D[1.0, 1.0, 1.0]
t = t * (1.0/t.r)
assert_equal(t, @t01.normal_vector)
- t = Vector3D[0.0, 0.0, 1.0]
+ t = Mageo::Vector3D[0.0, 0.0, 1.0]
assert_equal(t, @t02.normal_vector)
end
def test_equivalent?
- assert_raise(Triangle::TypeError){
+ assert_raise(Mageo::Triangle::TypeError){
@t00.equivalent?([[ 0.0, 0.0, 0.0], [ 1.0, 0.0, 0.0], [ 0.0, 1.0, 0.0]])
}
- t = Triangle.new([[ 0.0, 0.0, 0.0], [ 1.0, 0.0, 0.0], [ 0.0, 1.0, 0.0]])
+ t = Mageo::Triangle.new([[ 0.0, 0.0, 0.0], [ 1.0, 0.0, 0.0], [ 0.0, 1.0, 0.0]])
assert_equal(true , @t00.eql?(t))
- t = Triangle.new([[ 1.0, 0.0, 0.0], [ 0.0, 0.0, 0.0], [ 0.0, 1.0, 0.0]])
+ t = Mageo::Triangle.new([[ 1.0, 0.0, 0.0], [ 0.0, 0.0, 0.0], [ 0.0, 1.0, 0.0]])
assert_equal(true , @t00.eql?(t))
- t = Triangle.new([[ 1.0, 0.0, 0.0], [ 0.0, 1.0, 0.0], [ 0.0, 0.0, 0.0]])
+ t = Mageo::Triangle.new([[ 1.0, 0.0, 0.0], [ 0.0, 1.0, 0.0], [ 0.0, 0.0, 0.0]])
assert_equal(true , @t00.eql?(t))
- t = Triangle.new([[ 0.0, 0.0, 1.0], [ 1.0, 0.0, 0.0], [ 0.0, 1.0, 0.0]])
+ t = Mageo::Triangle.new([[ 0.0, 0.0, 1.0], [ 1.0, 0.0, 0.0], [ 0.0, 1.0, 0.0]])
assert_equal(false, @t00.eql?(t))
# tolerance を設定の上 0.0
- t = Triangle.new([[ 0.0, 0.0, 1.0], [ 1.0, 0.0, 0.0], [ 0.0, 1.0, 0.0]])
+ t = Mageo::Triangle.new([[ 0.0, 0.0, 1.0], [ 1.0, 0.0, 0.0], [ 0.0, 1.0, 0.0]])
assert_equal(false, @t00.eql?(t, 0.0))
# tolerance を 1.0 に設定
- t = Triangle.new([[ 0.0, 0.0, 1.0], [ 1.0, 0.0, 0.0], [ 0.0, 1.0, 0.0]])
+ t = Mageo::Triangle.new([[ 0.0, 0.0, 1.0], [ 1.0, 0.0, 0.0], [ 0.0, 1.0, 0.0]])
assert_equal(true, @t00.eql?(t, 1.0))
end
def test_equal2
- t = Triangle.new([[ 0.0, 0.0, 0.0], [ 1.0, 0.0, 0.0], [ 0.0, 1.0, 0.0]])
+ t = Mageo::Triangle.new([[ 0.0, 0.0, 0.0], [ 1.0, 0.0, 0.0], [ 0.0, 1.0, 0.0]])
assert_equal(true , @t00 == t)
- t = Triangle.new([[ 1.0, 0.0, 0.0], [ 0.0, 0.0, 0.0], [ 0.0, 1.0, 0.0]])
+ t = Mageo::Triangle.new([[ 1.0, 0.0, 0.0], [ 0.0, 0.0, 0.0], [ 0.0, 1.0, 0.0]])
assert_equal(false, @t00 == t)
- t = Triangle.new([[ 1.0, 0.0, 0.0], [ 0.0, 1.0, 0.0], [ 0.0, 0.0, 0.0]])
+ t = Mageo::Triangle.new([[ 1.0, 0.0, 0.0], [ 0.0, 1.0, 0.0], [ 0.0, 0.0, 0.0]])
assert_equal(false, @t00 == t)
- t = Triangle.new([[ 0.0, 0.0, 1.0], [ 1.0, 0.0, 0.0], [ 0.0, 1.0, 0.0]])
+ t = Mageo::Triangle.new([[ 0.0, 0.0, 1.0], [ 1.0, 0.0, 0.0], [ 0.0, 1.0, 0.0]])
assert_equal(false, @t00 == t)
end
def test_internal_axes
- @t01 = Triangle.new([[ 1.0, 0.0, 0.0], [ 0.0, 1.0, 0.0], [ 0.0, 0.0, 1.0]])
- @t02 = Triangle.new([[10.0,10.0,10.0], [20.0,10.0,10.0], [10.0,20.0,10.0]])
+ @t01 = Mageo::Triangle.new([[ 1.0, 0.0, 0.0], [ 0.0, 1.0, 0.0], [ 0.0, 0.0, 1.0]])
+ @t02 = Mageo::Triangle.new([[10.0,10.0,10.0], [20.0,10.0,10.0], [10.0,20.0,10.0]])
- t = Axes.new([[ 1.0, 0.0, 0.0], [ 0.0, 1.0, 0.0], [ 0.0, 0.0, 1.0]])
+ t = Mageo::Axes.new([[ 1.0, 0.0, 0.0], [ 0.0, 1.0, 0.0], [ 0.0, 0.0, 1.0]])
assert_equal(t, @t00.internal_axes)
t = @t01.internal_axes
assert_in_delta(-1.0, t[0][0] , $tolerance)
assert_in_delta( 1.0, t[0][1] , $tolerance)
@@ -239,19 +241,19 @@
assert_in_delta( 1.0, t[1][2] , $tolerance)
assert_in_delta(1.0/Math.sqrt(3.0), t[2][0], $tolerance)
assert_in_delta(1.0/Math.sqrt(3.0), t[2][1], $tolerance)
assert_in_delta(1.0/Math.sqrt(3.0), t[2][2], $tolerance)
- t = Axes.new([[ 10.0, 0.0, 0.0], [ 0.0, 10.0, 0.0], [ 0.0, 0.0, 1.0]])
+ t = Mageo::Axes.new([[ 10.0, 0.0, 0.0], [ 0.0, 10.0, 0.0], [ 0.0, 0.0, 1.0]])
assert_equal(t, @t02.internal_axes)
end
def test_edges
t = @t00.edges
assert_equal(3, t.size)
- assert_equal(Segment.new(VEC_O, VEC_X), t[0])
- assert_equal(Segment.new(VEC_X, VEC_Y), t[1])
- assert_equal(Segment.new(VEC_Y, VEC_O), t[2])
+ assert_equal(Mageo::Segment.new(VEC_O, VEC_X), t[0])
+ assert_equal(Mageo::Segment.new(VEC_X, VEC_Y), t[1])
+ assert_equal(Mageo::Segment.new(VEC_Y, VEC_O), t[2])
end
end