点和点之间的距离定义

设三维空间中两点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)都有自己的三维数学库实现,包括向量的加减,点乘叉乘,向量取模,单位化,插值基本上解析几何的向量运算都有实现。

上一篇:并查集 路径压缩(模板+详解(狗头))


下一篇:IntelliJ IDEA 记学习笔 - properties 文件 UTF-8 以中文显示