点和点之间的距离定义

设三维空间中两点a,b,则他们的坐标为a (xa ya za),b (xb yb zb),则他们之间的距离定义为线段ab的长度,计算代码为

double dx=xb-xa;

double dy=yb-ya;

double dz=zb-za;

double length=sqrt(dx*dx+dy*dy+dz*dz);

如果两点是xy平面上的点,则z分量为0,那么

double length=sqrt(dx*dx+dy*dy);

如果以向量的形式来写则a, b为两个向量A, B,则a b距离定义为向量A减去向量B得到向量AB的模(长度)

vec3 A(xa,ya,za);

vec3 B(xb,yb,zb);

vec3 AB=B-A;

double length=AB.length();

许多开源数学及图形图像库(Ogre OpenSceneGraph OpenCV Eigen vmtah)都有自己的三维数学库实现,包括向量的加减,点乘叉乘,向量取模,单位化,插值基本上解析几何的向量运算都有实现。

猜你喜欢

转载自www.cnblogs.com/abcstar/p/11628901.html