See demo files attached, and read the panel above the slider.
It looks like the MIN principal curvature is sometimes larger than the MAX principal curvature value.This is either an error or I’m going by a different definition of the principal curvatures.
Sounds good!
Im not sure exactly how the component is computing the values, but I think all that needs to be done is:
if G, and K are the first and second fundamental forms, respectively, then use the quadratic formula to solve for the eigenvalues of K - lmbda * G. The min principal curvature will correspond to the “minus” root, and the max principal curvature will coorespond to the “plus” root in the quadratic formula.
Mike,
Assuming the grasshoppper component works the same as the Curvature command in Rhino. The maximum is the principal curvature with the largest absolute value. This makes the ordering independent of the orientation of the surface. That is the maximum principal curvature is the direction in which the surface curves the most, regardless of weather it is curving “up” toward the normal or “down” away from the normal.
Greg, thank you for the clarification. However, I am not seeing that (see attached screenshot from the demo files i uploaded). C1 is defined to be the minimum principal curvature, and C2 is defined to be the maximum principal curvature.
Looks to me like the grasshopper component is returning C^1 - Principal curvature with maximum absolute value C^2 - Principal curvature with minimum absolute value K^1 - Direction corresponding to C^1 K^2 - Direction corresponding to C^2
Contrary to the documentation of the component.
The RhinoCommon interface is probably the source of this confusion since it provides no indication about what it’s doing
I fixed the documentation in C++ SDK and Rhino Common and made a bug report to get the grasshopper documentation fixed. RH-63134 Curvature Component outputs don’t match description