예제 #1
0
        public StraightLine3 Reflect(StraightLine3 line)
        {
            if (!this.valid)
            {
                return(line);
            }

            return(new StraightLine3(Reflect(line.BasicPoint), RelativelyReflect(line.Direction)));
        }
예제 #2
0
        public Angle MaximalAngleWith(StraightLine3 line)
        {
            if (!this.valid || !line.IsValid)
            {
                return(Angle.ZERO);
            }

            return(Angle.PId2 + this.normal.AngleWith(line.Direction));
        }
예제 #3
0
 public bool IsOrthogonalTo(StraightLine3 line)
 {
     return(line.IsValid && this.IsOrthogonalTo(line.Direction));
 }
예제 #4
0
 public bool IsParallelTo(StraightLine3 line)
 {
     return(line.IsValid && this.IsParallelTo(line.Direction));
 }
예제 #5
0
 public StraightLine3 Reflect(StraightLine3 line)
 {
     return(new StraightLine3(Reflect(line.BasicPoint), -line.Direction));
 }
예제 #6
0
 public bool IsOrthogonalTo(StraightLine3 line)
 {
     return(this.valid && line.IsValid && this.normal.IsParallelTo(line.Direction));
 }