1
0
Fork 0

fgPointLine() rewritten into fgPointLineSquared() ... this ultimately saves

us from doing a sqrt().
This commit is contained in:
curt 1998-07-24 21:34:38 +00:00
parent fca7a8fa47
commit 6dd8a1525c
2 changed files with 22 additions and 16 deletions

View file

@ -81,10 +81,10 @@ void map_vec_onto_cur_surface_plane(MAT3vec normal, MAT3vec v0, MAT3vec vec,
// Given a point p, and a line through p0 with direction vector d, // Given a point p, and a line through p0 with direction vector d,
// find the shortest distance from the point to the line // find the shortest distance (squared) from the point to the line
double fgPointLine(MAT3vec p, MAT3vec p0, MAT3vec d) { double fgPointLineSquared(MAT3vec p, MAT3vec p0, MAT3vec d) {
MAT3vec u, u1, v; MAT3vec u, u1, v;
double ud, dd, tmp, dist; double ud, dd, tmp;
// u = p - p0 // u = p - p0
MAT3_SUB_VEC(u, p, p0); MAT3_SUB_VEC(u, p, p0);
@ -101,18 +101,20 @@ double fgPointLine(MAT3vec p, MAT3vec p0, MAT3vec d) {
// original point, p. // original point, p.
MAT3_SUB_VEC(v, u, u1); MAT3_SUB_VEC(v, u, u1);
dist = sqrt(MAT3_DOT_PRODUCT(v, v)); return ( MAT3_DOT_PRODUCT(v, v) );
return( dist );
} }
/* $Log$ /* $Log$
/* Revision 1.1 1998/07/08 14:40:10 curt /* Revision 1.2 1998/07/24 21:34:38 curt
/* polar3d.[ch] renamed to polar3d.[ch]xx, vector.[ch] renamed to vector.[ch]xx /* fgPointLine() rewritten into fgPointLineSquared() ... this ultimately saves
/* Updated fg_geodesy comments to reflect that routines expect and produce /* us from doing a sqrt().
/* meters.
/* /*
* Revision 1.1 1998/07/08 14:40:10 curt
* polar3d.[ch] renamed to polar3d.[ch]xx, vector.[ch] renamed to vector.[ch]xx
* Updated fg_geodesy comments to reflect that routines expect and produce
* meters.
*
* Revision 1.3 1998/05/07 23:04:28 curt * Revision 1.3 1998/05/07 23:04:28 curt
* Added a blank formating line! * Added a blank formating line!
* *

View file

@ -41,19 +41,23 @@ void map_vec_onto_cur_surface_plane(MAT3vec normal, MAT3vec v0, MAT3vec vec,
MAT3vec result); MAT3vec result);
// Given a point p, and a line through p0 with direction vector d, // Given a point p, and a line through p0 with direction vector d,
// find the shortest distance from the point to the line // find the shortest distance (squared) from the point to the line
double fgPointLine(MAT3vec p, MAT3vec p0, MAT3vec d); double fgPointLineSquared(MAT3vec p, MAT3vec p0, MAT3vec d);
#endif /* _VECTOR_HXX */ #endif /* _VECTOR_HXX */
/* $Log$ /* $Log$
/* Revision 1.1 1998/07/08 14:40:10 curt /* Revision 1.2 1998/07/24 21:34:38 curt
/* polar3d.[ch] renamed to polar3d.[ch]xx, vector.[ch] renamed to vector.[ch]xx /* fgPointLine() rewritten into fgPointLineSquared() ... this ultimately saves
/* Updated fg_geodesy comments to reflect that routines expect and produce /* us from doing a sqrt().
/* meters.
/* /*
* Revision 1.1 1998/07/08 14:40:10 curt
* polar3d.[ch] renamed to polar3d.[ch]xx, vector.[ch] renamed to vector.[ch]xx
* Updated fg_geodesy comments to reflect that routines expect and produce
* meters.
*
* Revision 1.4 1998/04/21 17:03:51 curt * Revision 1.4 1998/04/21 17:03:51 curt
* Prepairing for C++ integration. * Prepairing for C++ integration.
* *