? subroutine to check if a 3D point is in the 3D region or not

Quote:

>Dear All:

> Anyone know if there is any Fortran subroutine that can check if a 3D

>point is belong to

>a 3D region? Say given a point A(x,y,z), check if point A is on the

boundary

>or indside the

>points set R constructed by B1(x,y,z), B2(x,y,z), and so on.

> Thank you

>by Cheng Cosine

> Jun/28/2k+1 UT

One possible way - and this may not be efficient:

Find the 3d convex hull containing your basic set of points.

Add the new point to the set and see if the number of points

in the hull increases - if it does, then the new point must

have been outside.

I know nothing about algorithms for 3D convex hulls, but

I guess that they contain a test for whether a point is inside

or not.

There is a site in Japan with Fortran code for the 3D convex

hull, and some other geometric software. Have a look at

http://dmoz.org (The Open Directory Project)

under Computers/Programming/Languages/Fortran/Source_code

--

Alan Miller (Honorary Research Fellow, CSIRO Mathematical

& Information Sciences)

http://www.ozemail.com.au/~milleraj

http://users.bigpond.net.au/amiller/