Using Principal Directions and Curvatures to Find Point On Surface

804 Views Asked by At

Given the principal directions (max and min), principal curvatures, and normal of a surface at point n, how would you go about looking for a point on the surface at a given vector distance from n?

I'm trying to create a Solidworks Addin to map a spline to a surface and have limited mathematical knowledge (up to diff eq).

1

There are 1 best solutions below

6
On BEST ANSWER

I don't know what you mean by "vector distance", but I'll take a shot, anyway.

Suppose you have a point $P$ on a surface $S$, and you want to find another point $Q$ on $S$ whose distance from $P$ is equal to some given number $d$.

The solution depends on how you choose to measure distance.

If your distance measure is the length of the chord $PQ$, then it's fairly easy. You construct a sphere of radius $d$ with center at $P$, and intersect it with $S$. Any point $Q$ on the intersection curve has the desired property.

If you want to measure distance along planar section curves, that's also fairly easy. Take a plane through $P$ that contains the surface normal vector at $P$. Intersect this plane with the surface $S$. Then find a point $Q$ on this intersection curve at a distance $d$ from $P$. Most CAD systems have a function to find a point at a given distance along a curve from some other one.

Even without the "point-at-distance-along-a-curve" function, there's a way to construct a reasonable approximation. Suppose your principal curvatures are $k_1$ and $k_2$, and your tangent direction $T$ makes an angle $\theta$ with the direction of $k_1$. Then a theorem of Euler tells us that the normal curvature $k_n$ in the plane containing $T$ is given by $$ k_n = k_1 \cos^2 \theta + k_2 \sin^2 \theta $$ This is the curvature of the planar section containing $T$ and the surface normal, so you can use it to construct a circular arc that approximates the planar section. Then measure distance along this circular arc, which is easy.

Another way to measure distance is along curves called geodesics. If your math knowledge is limited, you probably want to stay away from these.

My answers assume (mostly) that you have the surface $S$. If you don't have it, you can use the curvature information at $P$ to build a second-order approximation of $S$ (like an ellipsoid), as the comment above suggests, or you can approximate planar sections by arcs, using Euler's theorem, as above.

Many CAD systems have this sort of functionality built in.