algorithmic modeling for Rhino
I'm hoping the solution is embarrassingly simple.
I have 2 points and want to draw an arc with a given radius.
I posted in this section thinking it may be a simple solution.
Otherwise, with a scripting approach, I couldn't find a suitable arc constructor for this in Rhinocommon. Please correct me if I'm wrong.
What I found was:
Arc(Circle, Interval) Create a new arc from a base circle and an interval of angles.Arc(Circle, Double) Create a new arc from a base circle and an angle.
Arc(Plane, Double, Double) Create a new arc from a base plane, a radius value and an angle.
Arc(Point3d, Point3d, Point3d) Create a new arc through three points. If the points are coincident or colinear, this will result in an Invalid arc.
Arc(Point3d, Vector3d, Point3d) Create a new arc from end points and a tangent vector. If the tangent is parallel with the endpoints this will result in an Invalid arc.
Arc(Point3d, Double, Double) Create a new horizontal arc at the given center point, with a custom radius and angle.
Arc(Plane, Point3d, Double, Double) Create a new aligned arc at the given center point, with a custom radius and angle.
two points and a radius define an infinite number of arcs in 3D, and two possible arcs in 2D. You're going to have to specify some additional information. What else do you know about these arcs?
I also know the plane orientation. That should reduce all possibilities to 2 arcs.
A boolean input such as "positive/negative" would allow me to choose one of the 2 2d solutions.
For the purpose of learning, I'll work on a VB.net component that achieves this, and post it in the VB.net and C# corner.
It looks like the solution is not simple after all.
I can work with this, but I'd really like to write a VB.net component for it.
This gives me ideas of some secondary outputs for the component.
Thanks for the solution.
In order to choose from the 2 possible solutions, I can either reverse the vector being rotated, or I can change the quadratic equation to its negative solution.
I'll use this criteria as well to write the component, and post in the VB.net and C# corner, unless someone beats me to it! Hopefully I'll find time to write it today.
Thanks again, you guys are awesome.
Sorry for my English!
How to make the length of the arc was as variable? And the radius is calculated within the program? Maybe dichotomy.
I'm not a programmer, I would be very grateful if someone can help me.
I could do it with the help of the Galapagos, but better a modified script as did Santiago Diaz (arc2ptVB_(with plane).ghx - Awesome!!).