I would like to use grasshopper to shatter curves into pieces, based on the relationship of the normals of the curve the unit X vector.
In my application, I want to separate out four different types of curve:
- Normals from 45-135 degrees of unit x
- from 135-225
- from 225-315
- greater than 315 and less than 45
Input curve with manually drawn normals and points on the left,
Manual representation of desired outcome on the right:
I have no idea where to start when it comes to achieving this. Could I use this definition, plus Galapagos? Or would that be painfully slow? Is there a simple mathy solution?
(definition: Find 15 135 225 315 Normals.gh (8.4 KB) )
Why do I need this? It’s for CNC routing hardwoods. When routing along the grain, you get less tearout by doing a climb cut, when routing across the grain, you get less tearout by doing a conventional cut. (climb vs. conventional is about the direction of rotation of the bit relative to it’s path of movement). Being able to automatically separate a curve into portions that get one type of cut vs. the other would save a lot of time when programing cuts in hardwood. I currently do it by eyeballing the angle in Rhino and using the perpendicular curve tool. Tedious.