Is Grasshopper less accurate than Rhino?

I m realizing that doing a 4 point sphere with the rhino command prompt gives a much more accurate result than using grasshopper.

Using the same list of Grasshopper generated points:

  • Grey sphere that actually goes through all 4 points: Bake points => switch to rhino = > do a 4 point sphere

  • Red sphere that doesn’t go through any of the 4 points (much smaller radius): Grasshopper nodes as seen on image

Anyone know why this is happening?

Do you follow the same order of points in Grasshopper while picking points in Rhino?

As for Sphere 4pt, no. GH should have the same accuracy as Rhino’s, because internally it uses Sphere.FitSphereToPoints provided by Rhinoceros.

Did you check the centre and radius? It might just appear different because of the Grasshopper preview mesh resolution

I checked this in different ways, following same order of point selection (though there should only be one sphere able to fit 4 points right?):

All points generated in GH => GH ‘4pt Sphere’ command => radius at 35, sphere doesn’t intersect points

Baked points in rhino => input from rhino as points to GH => GH ‘4pt Sphere’ command => radius at 35, sphere doesn’t intersect points

Baked points in rhino => ‘4pt Sphere’ command from rhino command => radius at 50, sphere intersect points

Checked attached script on different machines to same result… Also have been looking around accuracy / tolerance in GH and Rhino but settings change don t seem to have an impact. would accuracy reduce because the points have not been baked?

attached the script if someone wants to try it.

4pt sphere test.gh (19.6 KB)

Has anyone come up with a reason? This is definitely happening to me regularly, where the sphere is supposed to be tangent to a cylinder, but is dipping inside the face of the cylinder.

Is this a display problem or actually a geometry problem?

Thanks

Without further information, yes, it likely is just a display problem… which is not really a problem.
Both Rhino and GH have options to increase meshing quality.

Try enable flat shading…

I realized that my geometry was fundamentally incorrect, and I ended up doing it a different way.

But I will be on the lookout and try flat shading in the future.

Thanks!

I just ran into this problem with Grasshopper’s Sphere 4Pt component (in the current beta build of Rhino8 (8.0.23292.13304, 2023-10-19).

This minimal grasshopper script shows the problem well.


The slider on the left goes from -0.1 to 0.1. The corresponding sphere should continuously change with the slider, with the radius getting very big as the slider gets close to z = 0. But it doesn’t: the radius of the sphere never goes above about 4.3.

Baking the four points (with z = -0.011) and then running Rhino’s equivalent command produces the white sphere, which looks much more plausible. In comparison Grasshopper’s output is in red:

And FWIW the red sphere is not centred on the Z axis where it ought to be, given your first three points.

1 Like

Definitively a bug.
Rhino.Geometry.Sphere.FitSphereToPoints doesn’t work properly.


sphere fit bug.gh (31.0 KB)

@DanielPiker @wim @Gijs

1 Like

that looks wrong indeed
RH-77868 Rhino.Geometry.Sphere.FitSphereToPoints not working correctly.

1 Like

There is also this “bug” here

Thanks for the replacement code!