Grasshopper

generative modeling for Rhino

If I have a plane, is there a quick way to get the normal vector? (just a simple plane, no surface, no edges or points).

And then a related question - if I have a planar surface, can I get the normal vector for that? I see the Evaluate Surface component, but I'm not sure how to specify the {uv} coordinate. If the surface is planar, and I'm just trying to get the normal vector, then I don't care which uv coordinate it is.

Thanks!

Views: 1327

Reply to This

Replies to This Discussion

I have a couple of ideas for both:

As for the plane you could use the "plane components" object and select the perpendicular vector.

I usually do one of the following to things to find a surface normal.

1. Use the "area" component to find the centroid, use the "surface closest point" to get the uv-coordinates of the point and then use the "evaluate surface" component as you mention.

2. Use the divide surface component, set the uv's to 3x3 or something and use "list item" to select one of the normals. This can be reworked to find a point close to the one you're looking for. The reasen for using this methov over the one mentioned in 1. is that in 1. the normals can sometimes be flipped.

Best regards
Thomas

Hey Thomas,

 

Sorry I dont really get how would you select that perpendicular vector from the plane. Could you please give me a more detailed explanation as Im confused about where the xyz components are actually located within the plane.

 

For example Im trying to get the normal vector to use it as a rotation axis. I have a vertical plane rotated in the xy, supposingly I should be getting a normal if I plug the x and y components into a 2pt vector (is that right??), but Im not getting any of that.. :(

 

Pleaase help!

 

Thank you

 

Phil

 

Hi Chris

As noted below by Thomas quickest way to get nomal vector for a plane is the Plane Components Component.

In reply to your second question see tread linked below, which used the MD Slider to denote the UV Input into a evaluate surface component. Note: you will need to Reparameterise the input surface/s in the S input of the evaluate surface component

I have been using this process very successfull on Single and collection of planar surfaces



Hope this helps

Matt
Hi Chris,

have you tried the Plane Components component?

This will decompose a Plane properties Origin plus X,Y and Z vector. It will also work on Planar Surfaces

Vector>Plane>Plane Components

Danny
Thanks all for the Plane Components. That's exactly what I was looking for. I hadn't tried that one because I mistakenly thought it was a "make a plane from components" sort of thing. Quick scanning the toolbar doesn't always tell the whole story.

Thanks Matt for the MD slider with reparameterize. I hadn't tried the MD yet, and this is a perfect use for it.

-Chris
I believe that you can just use the plane any where you would use a vector and it will automagicaly assume to mean the normal to the plane :-) (I don't think this works for surfaces though)

RSS

Translate

Search Grasshopper

Members

Photos

  • Add Photos
  • View All

© 2012   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service