Grasshopper

algorithmic modeling for Rhino

Hi everyone,

 

I’m wondering if there is a cleaner or more direct way to do the following…

 

I have two surfaces that share an edge. I am looking for a vector that bisects the two surfaces at the edge’s mid-point and whose direction is perpendicular to that edge. The following images are a summary of how I’m currently doing this. Keep in mind that the shared edge is not always parallel with the x, y or z axis… in fact it usually isn’t.

 

This is the vector I'm trying to get...

 

This is my workflow:

 

 

1- Find centroids of surfaces...

 

 

2- Find mid point of the edge. The for each surface, create vector from mid point to centroid and also reverse the direction. Place a point at the end of each vector...

 

 

3-Test to see which of the two points for each surface is contained within each surface's boundary and select that point (this parsing is necessary in some cases depending on the shape of the surfaces)...

 

 

4-Here is the kicker. In cases where one or both surfaces are skewed, the centroid of that surface is not necessarily "perpendicular" to the mid point of the edges as evident here with surface B. So I create a plane (technically its a "frame") that is perpendicular to the edge...

 

 

5-I then pull both points to that plane...

 

 

6-From there its pretty straight forward as far as getting the required vector...

 

 

So is this the best way to do this. In particular I'm curious if there is an alternative to step 4, but really any comments are welcome.

 

Thanks,

 

cbass

Views: 3261

Attachments:

Replies to This Discussion

Here are two slightly simpler approaches. One of them is dependent on the normals of the two surfaces - the other does a test and will give the right answer regardless of the normals. 

 

Got another solution... This one determines the bisector plane between two other planes.
In this particular example, there's a triangular paneling routine and then the bisector plane is found...

GH 0.8.0051

Attachments:

And I don't exactly remember what I did, but me thinks this is another way...

 

http://www.grasshopper3d.com/forum/topics/q-specific-pairings-from?...

 

 

Thanks for all your help, guys!

 

cbass

RSS

About

Translate

Search

Photos

  • Add Photos
  • View All

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service