Пример #1
0
        public StraightLine2 Reflect(StraightLine2 line)
        {
            if (!this.valid)
            {
                return(line);
            }

            return(new StraightLine2(Reflect(line.BasicPoint), RelativelyReflect(line.Direction)));
        }
Пример #2
0
        public Angle MinimalAngleWith(StraightLine2 line)
        {
            if (!this.valid)
            {
                return(Angle.ZERO);
            }

            return(line.MinimalAngleWith(this.direction));
        }
Пример #3
0
        public Angle MaximalAngleWith(StraightLine2 line)
        {
            if (!this.valid || !line.valid)
            {
                return(Angle.ZERO);
            }

            return(this.direction.MaximalAngleWithAxis(line.direction));
        }
Пример #4
0
 public static StraightLine2 Reflect(StraightLine2 line)
 {
     return(new StraightLine2(Reflect(line.BasicPoint), Reflect(line.Direction)));
 }
Пример #5
0
 public StraightLine2(StraightLine2 line)
 {
     this.BasicPoint = line.BasicPoint;
     this.direction  = line.direction;
     this.valid      = line.valid;
 }
Пример #6
0
        // ========================================================

        public bool IsEqualTo(StraightLine2 line)
        {
            return(this.IsParallelTo(line) && this.direction.IsParallelTo(line.BasicPoint - this.BasicPoint));
        }
Пример #7
0
 public bool IsOrthogonalTo(StraightLine2 line)
 {
     return(this.valid && line.valid && this.direction.IsOrthogonalTo(line.direction));
 }
Пример #8
0
 public bool IsParallelTo(StraightLine2 line)
 {
     return(this.valid && line.valid && this.direction.IsParallelTo(line.direction));
 }
Пример #9
0
 public bool IsParallelTo(StraightLine2 line)
 {
     return(line.IsValid && line.Direction.IsParallelTo(B - A));
 }
Пример #10
0
 public Angle MaximalAngleWith(StraightLine2 line)
 {
     return(line.MaximalAngleWith(this.VectorAB));
 }
Пример #11
0
 public bool IsOrthogonalTo(StraightLine2 line)
 {
     return(line.IsValid && line.Direction.IsOrthogonalTo(B - A));
 }