generative modeling for Rhino
I want to write a grasshopper definition where I can just draw circle and a random two points outside of circle to find a point on a circle that will give bisected angles in the image...
I'm not good at grasshopper :( Is this possible in grasshopper? can someone guide me through how to do this?
Thank you very much!
Ok, I think this might work for a geometrical construciton:
1) Notice that if the give circle were a line, the following construction would give the right point:
But it's not....so we need inversive geometry.
2) Construct a reference circle anywhere on the circumference of the original circle and invert it, along with the given points A and B.
3) Perform step 1 on the line L
4) The resulting point C', when inverted back should be the point needed....because although inversion distorts angles, it does preserve the cross ratio (see this theorem).
I haven't constructed it yet, so I hope it works! I'll post a definition soon....
It seems that I was wrong....this construction doesn't work.
Apparently the problem is well known: http://mathworld.wolfram.com/AlhazensBilliardProblem.html
One solution is to find the ellipse with foci at the given points A and B that is tangent to the given circle. Since every ray passing through a foci of an ellipse will pass through the other foci after one bounce off the ellipse, the point of incidence will be the required point.
It is unfortunately not a ruler and compass construction...you need to plot a hyperbola defined by the relationship between the ellipse and the circle (I used this paper). One of the intersection points of that hyperbola and the given circle will be the right point. Still, it's not so easy to do in GH....I got it to work for a few cases, but not in general. I still feel like I'm missing something.
Very tricky problem! I wonder what it is being used for?