Hi Peer, no you would probably need to evaluate the "Normal curvature" of the surface.
https://mathworld.wolfram.com/NormalCurvature.html
That's the surface curvature in a specific direction, you would get a perpendicular direction from the edge by cross product of the edge tangent and surface normal.
There's an implementation here:
https://github.com/mcneel/opennurbs/blob/8.x/opennurbs_math.cpp
Look for ON_NormalCurvature() :
ON_NormalCurvature(
const ON_3dVector& S10, const ON_3dVector& S01,
const ON_3dVector& S20, const ON_3dVector& S11, const ON_3dVector& S02,
const ON_3dVector& UnitNormal, const ON_3dVector& UnitTangent )
The parameters S10, S01, S20, S11, S02 that ON_NormalCurvature takes are returned by face.evaluate2ndDerivatives(), which returns a list containing valuesfor point, du, dv, duv, duu, dvv.
I'll see about adding in a surface normal curvature evaluator for scripting.
- Michael
|