fgPointLine() rewritten into fgPointLineSquared() ... this ultimately saves
us from doing a sqrt().
This commit is contained in:
parent
fca7a8fa47
commit
6dd8a1525c
2 changed files with 22 additions and 16 deletions
|
@ -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!
|
||||||
*
|
*
|
||||||
|
|
|
@ -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.
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in a new issue