Grasshopper

generative modeling for Rhino

# Surface Paneling Deviation Angle

Hi All,

been struggling trying to detect how much panel deviate from its neighbors (same as in Paneling tools), and use these information to group panels according to how much they deviate (to use them for flattening according to surface curvature)?

Any help how to make a panel detect neighboring panels?

I simple subdivided my surface into panels and trying to get this information. (see image attached)

Cheers

bibo

Views: 885

Attachments:

### Replies to This Discussion

I don't agree to your image..

I think the panels are not flat.. and don't know what the angles between edges mean..

Rather.. if I were you, I'll check the (average) normal vector between neighbor panels..

Here is my suggestion..

Anyway you can use partially to calculate angles between neighboring vectors from a vector-data set of 2-dimensional matrix..

Attachments:

Hi Jissi,

I know my panels are not flat.. I am trying to calculate the angle of deviation of each panel according to its neighbors& according to each panels on itself, (which is easy), to decide which one to keep convert to flat panels and which single curved or double curved...

What am thinking is: to calculate the angle of deviation between panels u need to calculate the angle between edges (correct me if I am wrong please, I am just guessing:)) ), then give some tolerances (less angle convert to flat, big angles be single or double curved panels, (according to angles on both directions, U &V

Finally, Thanks for your file and explanation, I will give it a try, although I don't beleieve measuring the angle between normals will define what i am aiming to, I need TWO angles per panel to determine (or as I think, and again, please correct if I am wrong).

Cheers

bibo

180 - angle between normals = angle between panels (aproximation because your panels arent flat) so you can use jissi definition...

and i think you have 4 angles, one for each side (except borders) (jissi also solved that).

Here is a brief movie that explains the reason why angles between edges are out of sense..

The surfaces are made with 3 lines..

In fact, there is no change in angle between two panels..

Attachments:

Hi Jissi,

Got your point... your video does make sense for a single panel... but when you have more than a neighbor, angles will define how much your panel twist, also the original surface doesn't have kinks in it. It is modeled with maintaining tangency all over it.

The other choice is what Chris suggested using Gaussian curvature.. which still i can't reference its value to a specific unit.. any help with that?

cheers

bibo

Hi Jessi/Manuel,

Jessi's def is really helpful, I have learned things from it, yet i won't completely solve what am aiming to. It won't differentiate between single and double curved panels.

I have created a couple of sketches to demonstrate my idea clearly..(excuse my scanning quality, used my mobile)

The target is to detect whether Panel B is Flat, Single or Double curved panel.

Case (1)

Two angles between Panels A &B have small vlaues

Two angles between Panels B & C have small values

There Panel B is Flat.

Case (2)

Two angles between Panels A &B have big vlaues

Two angles between Panels B & C have small values

There Panel B is single curved at Panel C direction.

Case (3)

One angle between Panels A & B has small value, second has big value

One angle between Panels B & C has small value, second has big value.

There Panel B is twisted; i.e. Double curved panel ... and so on..

Hope that's demonstrates my idea better.

Please let me know what you think.

cheers

bibo

Attachments:

Why wouldn't you just use the Gaussian curvature component?  Positive or negative within a certain threshold and you're doubly curved while "zero" within a certain threshold and you're singly curved.

Chris

Chris..

That's an interesting idea actually.. but what is the unit of Gaussian curvature? I have tried to Google it but my search wasn't fruitful.

Cheers

bibo

by 雷锋

by 雷锋

by 雷锋

• View All