Message: Re: Mapping points on a surface to indices Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

None Re: Mapping points on a surface to indices 

Forum: Geometry
Re: None Mapping points on a surface to indices (Giuseppe Vacanti)
Date: 27 May, 2008
From: John Apostolakis <John Apostolakis>

Dear Giuseppe,

Your request and potential application sound unusual and interesting.   
I am not sure I have understood, though, the need for the mapping -  
nor how it would be coupled with the Geant4 solids.

Our solid classes offer certain functionality tailored for tracking  
particles along straight line tracks (like photon rays),
    DistanceToIn (point)   an estimate of the distance to the nearest  
point from outside or on the surface ( or ToOut from inside or on the  
    DistanceToIn (point, direction ) for the distance along a ray
    SurfaceNormal( point )
.. etc

but also include a few auxiliary methods to do other things:
    Estimate Surface Area
    Estimate Volume
    Create Random Point on Surface
which are of use for calculating a few other properties.

As you gathered, there is no (general) concept of a mapping between a  
two-dimensional index and points on the surface of a volume.  This  
approach is not close to the algorithms utilized for intersections and  
other methods. And it is not simple to see how to create one - without  
someone undertaking much development.

The approach could potentially have been used for some aspects of the  
more complicated solid types, NURBS and other BREPS primarily.  Yet it  
was not.  The BREPS module (and some capabilities in Faceted Solids  
and Tesselated Solids in the solids/specific directory) provide more  
general soids than the CSG solids, but its implementation relies on  
cycling through bounding boxes for each surface patch (or part), and  
intersecting only relevant surface patches. And it does not include  
any mapping.

The existing solids capability does not include NURBS.  In particular  
the method CreateNURBS in G4VSolid was meant for graphics and I  
understand that it is historical (obsolete).

Could you please explain somewhat more about what you are seeking to  
do using this mapping?  It could be that there would be other  
capabilities of the Geant4 solids that you could utilize.

Best regards,
John Apostolakis

On May 26, 2008, at 10:38 PM, Giuseppe Vacanti wrote:

> *** Discussion title: Geometry
> Email replies to must include:
>  In-Reply-To: <"/geometry/908">
>  Subject: ...change this to be about your reply.
> Hello, I am writing an X-ray tracer in GEANT4. I am at the point  
> where I
> would like to map points on the surface of a solid to two indices so
> that local surface properties can be looked up on a point-by-point
> basis.
> This smells like NURBS ((u,v)<->(x,y,z) mapping), but I understand  
> that
> NURBS are not really implemented (by the way, can the base class  
> be used?).
> I have looked into BREPS, which seem to offer a more complete set of
> solids (at least those I need), but I do not see a way to do what I  
> want
> (probably there isn't one).
> Does anyone have any suggestions/pointers or working on an application
> with similar needs?
> Thanks, Giuseppe

Inline Depth:
 1 1
 All All
Outline Depth:
 1 1
 2 2
 All All
Add message: (add)

1 None: Re: Mapping points on a surface to indices   (Giuseppe Vacanti - 27 May, 2008)
 Add Message Add Message
to: "Re: Mapping points on a surface to indices"

 Subscribe Subscribe

This site runs SLAC HyperNews version 1.11-slac-98, derived from the original HyperNews

[ Geant 4 Home | Geant 4 HyperNews | Search | Request New Forum | Feedback ]