public class Point3D
{
private double x, y, z;
private string name = String.Empty;
private double radius = 0.4;
public double X { get { return x; } set { x = value; } }
public double Y { get { return y; } set { y = value; } }
public double Z { get { return z; } set { z = value; } }
public string Name { get { return name; } set { name = value; } }
public double Radius
.......
public static double Dist3D(Point3D P1, Point3D P2)
{
return Math.Sqrt((P1.X - P2.X) * (P1.X - P2.X) + (P1.Y - P2.Y) * (P1.Y - P2.Y) + (P1.Z - P2.Z) * (P1.Z - P2.Z));
}
public static double Dist2D(Point3D P1, Point3D P2)
{
return Math.Sqrt((P1.X - P2.X) * (P1.X - P2.X) + (P1.Y - P2.Y) * (P1.Y - P2.Y));
}
public static double Dist2D_no_Radius(Point3D P1, Point3D P2)
{
return Math.Sqrt((P1.X - P2.X) * (P1.X - P2.X) + (P1.Y - P2.Y) * (P1.Y - P2.Y))-P1.Radius-P2.Radius;
}
......