幾何学幾何学
空間上の三角形単体テスト; 3D Triangle Unit Test

概要
空間上の三角形の単体テスト
テスト対象の空間上の三角形クラスはこちら


ソースコード

namespace Geometry.Geometry3D.Tests {
    [TestClass()]
    public class Triangle3DTests {
        [TestMethod()]
        public void Triangle3DTest() {
            Triangle3D triangle1 = new Triangle3D(new Vector3D(8, 1, 1), new Vector3D(2, 3, 1), new Vector3D(4, 9, 1));
            Triangle3D triangle2 = Matrix3D.Move(2, 4, 6) * Matrix3D.Scale(1, 2, 3) * triangle1;

            Assert.AreEqual((Matrix3D.Rotate(1, 1, 1) * triangle1).Area, (2 * 2 + 6 * 6) / 2, 1e-12);
            Assert.AreEqual((Matrix3D.Rotate(1, 2, 3) * triangle2).Area, 2 * 2 + 6 * 6, 1e-12);
            
            Assert.AreEqual(triangle2.V0, new Vector3D(8 * 1 + 2, 1 * 2 + 4, 1 * 3 + 6));
            Assert.AreEqual(triangle2.V1, new Vector3D(2 * 1 + 2, 3 * 2 + 4, 1 * 3 + 6));
            Assert.AreEqual(triangle2.V2, new Vector3D(4 * 1 + 2, 9 * 2 + 4, 1 * 3 + 6));
        }

        [TestMethod()]
        public void ValidTest() {
            Assert.AreEqual(Triangle3D.IsValid(new Triangle3D(new Vector3D(8, 1, 1), new Vector3D(2, 3, 1), new Vector3D(4, 9, 1))), true);
            Assert.AreEqual(Triangle3D.IsValid(Triangle3D.Invalid), false);
        }
    }
}

関連項目
空間上の三角形

ライブラリライブラリ
確率統計確率統計
線形代数線形代数
幾何学幾何学
最適化最適化
微分方程式微分方程式
画像処理画像処理
補間補間
機械学習機械学習
クラスタリングクラスタリング
パズルゲーム・パズル
未分類未分類