c# 计算两个三维点坐标之间的距离
时间: 2024-10-14 12:05:05 浏览: 56
winForm三维显示.zip C# anyCAD三维图形显示(STL文件的读取)
3星 · 编辑精心推荐
在 C# 中,计算两个三维点坐标之间的距离通常使用向量运算的概念。假设有两个三维点 A(x1, y1, z1) 和 B(x2, y2, z2),它们之间的欧氏距离可以用下面的公式表示:
distance = Math.Sqrt(Math.Pow((x2 - x1), 2) + Math.Pow((y2 - y1), 2) + Math.Pow((z2 - z1), 2))
这里 Math.Sqrt 表示平方根函数,Math.Pow 是幂函数,分别用于计算每个维度上两点差的平方和开方,得到的就是两点间的直线距离。
如果你想编写一段简单的代码来实现这个功能,可以这样做:
```csharp
using System;
public class Vector3D
{
public double X { get; set; }
public double Y { get; set; }
public double Z { get; set; }
// 计算两个三维点的距离
public static double Distance(Vector3D pointA, Vector3D pointB)
{
return Math.Sqrt(Math.Pow(pointB.X - pointA.X, 2) + Math.Pow(pointB.Y - pointA.Y, 2) + Math.Pow(pointB.Z - pointA.Z, 2));
}
}
// 示例用法
public static void Main()
{
Vector3D pointA = new Vector3D(0, 0, 0);
Vector3D pointB = new Vector3D(1, 2, 3);
double distance = Vector3D.Distance(pointA, pointB);
Console.WriteLine($"Distance between points is: {distance}");
}
```
阅读全文