How to find a point on surface with a known normal vector?

How to find a point on surface so that its normal vector is equal to a pre-defined value?

Paul Jimenez's picture

I would be surprised if OCC has a method to do that. Besides, for some surfaces, there could be an infinite number of points with such a normal or maybe none. If you want to do it yourself, you would need to have some fun with derivatives of the surface. It doesn't look like an easy task at all.

jelle's picture

Hi Wang,

True, that's a hard problem. Why don't you make a grid of samples, where you store the normal of the surface, and check if it lies within a tolerence from your reference vector? A more elegant approach would be to do this with a quadtree on the u,v domain.
Use GeomLprops_SLprops for finding the normal on a u,v coord.