public Point3D(Point3D other)
     : base((Point2D)other)
 {
     this.z = other.z;
 }
 public Point3D Add(Point3D p2)
 {
     return new Point3D(x + p2.x, y + p2.y, z + p2.z);
 }
 public Point3D Subtract(Point3D p2)
 {
     return new Point3D(x - p2.x, y - p2.y, z - p2.z);
 }