幾何学幾何学
空間上の線分; 3D Segment

概要
空間上の線分は始点ベクトル\(\boldsymbol{v_0}\)と終点ベクトル\(\boldsymbol{v_1}\)で表現される。

線分の長さ\(L\)は以下で与えられる。
\(\quad L = |\boldsymbol{v_0} - \boldsymbol{v_1}|\)


ソースコード

namespace Geometry.Geometry3D {

    /// <summary>線分</summary>
    public class Segment3D {

        /// <summary>コンストラクタ</summary>
        public Segment3D(Vector3D v0, Vector3D v1) {
            this.V0 = v0;
            this.V1 = v1;
        }

        /// <summary>始点</summary>
        public Vector3D V0 { get; set; }
        
        /// <summary>終点</summary>
        public Vector3D V1 { get; set; }

        /// <summary>長さ</summary>
        public double Length => Vector3D.Distance(V0, V1);

        /// <summary>行列積</summary>
        public static Segment3D operator *(Matrix3D matrix, Segment3D segment) {
            return new Segment3D(matrix * segment.V0, matrix * segment.V1);
        }

        /// <summary>不正な線分</summary>
        public static Segment3D Invalid => new Segment3D(Vector3D.Invalid, Vector3D.Invalid);

        /// <summary>有効な線分であるか判定</summary>
        public static bool IsValid(Segment3D segment) {
            return Vector3D.IsValid(segment.V0) && Vector3D.IsValid(segment.V1);
        }
    }
}

関連項目
空間ベクトル
空間上の同次変換行列
空間上の直線
空間上の三角形
空間上の円
空間上の平面
空間上の球体
空間上の四面体
空間上の交差
四元数
空間上の線分 単体テスト

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