Grasshopper

algorithmic modeling for Rhino

Hi, all,

 

Just curious why the curve is loosing the planarity when it is transformed.

 

1. Draw the planar curve on global plane.

2. duplicate the curve, and transform plane to plane into another 100 number of 3d position. (due to the different orient of plane, it is moved and rotated)

 

Now, some of the curve isn't any more planar. (but deviation from curve plane is really tiny)

 

Which step is causing to loose planarity? Is it due to the duplicate tolerance? or transform process?

 

Thanks!

Views: 743

Replies to This Discussion

Hi YJ,

 

very few floating point operations are exact in computing. Rotating and even moving an object will in some very small way deform it. When checking for planarity (or any other geometric and numeric property, distance, angles, equality, you name it) you should always define a tolerance. This has nothing to do with Rhino, just with the way computers deal with numbers.

 

In your case, you should not test for perfect platonic planarity. You should instead test for planarity within 0.1mm or whatever accuracy makes sense.

 

--

David Rutten

david@mcneel.com

Poprad, Slovakia

Thanks, David. Sure, I am aware of it!

David, how could I adjust this tolerance?

In VB/C# you can use the IsPlanar() overload which takes a tolerance argument:

http://4.rhino3d.com/5/rhinocommon/html/M_Rhino_Geometry_Curve_IsPl...

The Planar component in Grasshopper uses the Absolute Tolerance of the currently loaded Rhino file. So you can adjust it in the Rhino File Properties.

--

David Rutten

david@mcneel.com

Poprad, Slovakia

But David, depending on how I slide the numbers on red rectangle linked to Amplitude (A), the holes turns on surfaces how can I solve this?? Could you take a look?

It will need the Rabbit plugin

Attachments:

Hi David, What is the tolerence meas

I do not understand this question.

--

David Rutten

david@mcneel.com

Poprad, Slovakia

I think it is "What does Tolerance mean" with reference to:

Parameters

tolerance
Type: System.Double
Tolerance to use when checking.

It's the largest distance between the best fit plane and the curve. Or at least related to this distance somehow. It's certainly not the largest distance between the curve and the plane that would result in the smallest largest distance... I'm not helping am I?

Anyway, think of the planarity tolerance as the maximum allowed deviation from the ideal plane that the curve is allowed to have while still being considered planar.

--

David Rutten

david@mcneel.com

Poprad, Slovakia

 

Sorry, just realised my earlier post didn't come through properly, perhaps filtered by the great firewall.

Understand the tolerance is the maximum deviation from the plane but I was interested in how the deviation is measured for surfaces (not curves) - is it relative or absolute for example. I've just done a quick example (attached).

Attachments:

RSS

About

Translate

Search

Photos

  • Add Photos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service