Find tangent arc between 2 intersecting lines

Attachment 24657

Attached is a diagram of a possible route of a Cartesian robot.

I need to link path AB and path BC with an arc, to ensure smooth transition into and out of the arc paths AB & BC need to be tangents to the arc. The arc should be between points D & G. Length DB = BG

Using the cad software I have think I have found the solution but I do not know how to calculate it manually.

This is what I have done.

1. Draw 2 circles e & f with centers D & G and axis is path AB & BC respectively, the radius of the circles will be twice the distance of BD

2. Find the intersecting points of circles e & f. There will be 2. Lets call these points H & I

3. Find the midpoint of line HI. Lets call it J

4. J will then be the center point of the arc starting at point D and ending at point G.

I have tested this in 2d using the cad and replaced the circles with lines perpendicular to the path and it works perfectly so I am hoping this will work in 3d.

Like I said I have the theory of what I need to do but am struggling with how to actually do the calculation, the cad program does all the calculations for me.

I realize now that calculating the perpendicular line will not work as there are an infinite no. of these lines and I need the two to intersect.

Can you help me? I have started this as a new thread aswell so that I get a different heading.

Thanks

Re: Find tangent arc between 2 intersecting lines

I'll give this a go, there must be lots of ways of doing it and mine won't be the most elegant. I'll attempt to find the centre of the arc.

Let's first define B', C', D', G' to be the points that you have marked (plus the centre of the circle) but from a set of coordinate axes that are more convenient. I choose to place the point B' at (0,0,0). To do this we use:

B'=B-B=(0,0,0)

C'=C-B

D'=D-B

G'=G-B

Now let's define C" as some point on the line from (0,0,0) to C'. We can find a candidate for C" using

$\displaystyle C"=(\frac {D'_x+G'_x}2,\frac {D'_y+G'_y}2,\frac {D'_z+G'_z}2)$

Now the angle between DB and BG is given by:

$\displaystyle cos (\theta) = \frac{D' \cdot G'}{|D'||G'|}$

Consider the triangle C'G'B' this has the internal angle $\displaystyle \theta /2$ so the distance from B' to C' is given by:

$\displaystyle F=|G'| cos (\theta /2)=|G'| cos (cos^{-1}(\frac{D' \cdot G'}{|D'||G'|}) /2)$

And finally the centre of the arc is located at:

$\displaystyle C'=F\frac{C"}{|C"|}$

or

$\displaystyle C=F\frac{C"}{|C"|}+B$