向量单位化就是向量归一的意思,对几何数学计算非常重要。
使用UF现成的函数:
var uf = UFSession.GetUFSession();
double[] unit_vec = [];
uf.Vec3.Unitize([1, 2, 3], 0.0001, out double _, unit_vec);
使用数学计算方式:
Vector3d Normalize(Vector3d d1, int toleranceLevel = 5)
{
var len = Math.Sqrt(d1.X * d1.X + d1.Y * d1.Y + d1.Z * d1.Z);
return new Vector3d(
d1.X = Math.Round(d1.X / len, toleranceLevel),
d1.Y = Math.Round(d1.Y / len, toleranceLevel),
d1.Z = Math.Round(d1.Z / len, toleranceLevel));
}
另外:使用数学方式非常高效。