예제 #1
0
        public Line Bisector(Line line)
        {
            Point point = this.method_3(line);

            if (point == null)
            {
                throw new ArgumentException("Can not compute bisecting line: lines do not intersect!");
            }
            return(new Line(point, Vector3d.Bisector(this.DirectionVector, line.DirectionVector)));
        }
예제 #2
0
        public Plane Bisector(Plane plane)
        {
            Line line = this.method_2(plane);

            if (!(line == null))
            {
                Point point = line.Point;
                return(new Plane(point, Vector3d.Bisector(this.NormalVector, plane.NormalVector)));
            }
            if (this == plane)
            {
                return(this.DeepCopy());
            }
            throw new ArgumentException("Can not compute bisecting plane: planes do not intersect!");
        }