Edge Continuity Radius Value

Hi All,
I’m working on a component for evaluating edge continuity in Grasshopper.
The goal is to match the results from the EdgeContinuity command in rhino, highlighting the peak result. I’m using a series of sample points on a brep edge to test the curvature (G2) value on the edge’s two adjacent faces.

What I am unsure about is what is the radius used in the relative value calculation.
G2 = (Radius1-Radius2)/(Radius1+Radius2)
I had assumed it was the principal curvature’s Min (C1) value, but this isn’t correct.

My question is what method / property does the EdgeContinuity command use for Radius?
Or alternatively, what process is used by the EdgeContinuity command to get return the Radius value?

Any help would be greatly appreciated.

For the points/t values part I would suggest something like this:

And for the curvature data something like this:

Hi Peter,
Thanks for the reply.
What im looking for is the surface curvature value of the the two adjacent surfaces to a brep edge.
The issue im running into is that i am unable to match the value the edgecontinuity command returns. Which does not seem to be the primary curvature values kappa, gaussian, or mean values.

Thanks

@pascal would you be able to help with this?

Use this demo as a base and add Methods for finding curvature stuff on specific points of interest (like a given continuity condition for a given edge curve [related with the 2 adjacent BrepFaces] etc etc).

Surface_WhatIsCurvature_V1.gh (123.9 KB)

Thanks Peter,
Between this sample and a post by @DanielPiker


I was able to match the absolute curvature deviation from the EdgeDiscontinuity command as described here
https://docs.mcneel.com/rhino/7/help/en-us/commands/edgecontinuity.htm

By extracting the principal curvature from the osculating circles and converting it into a Radius value that aligns with the commands results.

image

Then using
|(1/Radius1)-(1/Radius2)|
to get the absolute deviation.

I am still hung up on getting the relative value using the formula
(Radius1-Radius2)/(Radius1+Radius2)
as the results do not match what EdgeContinuity command is returning.

I am sure I am doing something wrong in the process and any guidance would be appreciated.