float dist_point_line_nosqr(vector3d &v1, const float &x, const float &y, const float &z, const float &px, const float &py, const float &pz) { float v1_mag_nosqr=v1.mag_nosqr(); if(v1_mag_nosqr<=0) return 100000.0; vector3d v2(px-x,py-y,pz-z); return crossproduct(v1,v2).mag_nosqr()/v1_mag_nosqr; }