Group Abstract Group Abstract

Message Boards Message Boards

0
|
2.1K Views
|
0 Replies
|
0 Total Likes
View groups...
Share
Share this post:
GROUPS:

Circle With Two Tangents, Known Radius, Unknown Center

Posted 6 years ago

Well,

you have two tangents

f[x_] := (-71/60) x - 14303/30
g[x_] := (1695/676) x + 769463/338

Perpendicular (othogonal) to these are

f1[x_, a_] := (60/71) x - 14303/30 + a
g1[x_, b_] := -(676/1695) x + 769463/338 + b

where the parameters a and b allow to shift them along the y-axis.

These lines meet at the positions

sol1 = Solve[f[x] == f1[x, a], x][[1, 1]]
sol2 = Solve[g[x] == g1[x, b], x][[1, 1]]
sol3 = Solve[f1[x, a] == g1[x, b], x][[1, 1]]

and the corresponding points are

p1 = {x, f[x]} /. sol1
p2 = {x, g[x]} /. sol2
p3 = {x, f1[x, a]} /. sol3

giving two difference vectors

d1 = p1 - p3;
d2 = p2 - p3;

Asking for the Norm of these difference vectors to be equal to the radius of the circle gives

lsg = Solve[{d1.d1 == 120^2, d2.d2 == 120^2}, {a, b}] // FullSimplify

which yields four solutions.

The midpoint of the circle for e.g the 2nd solution is

p3N = p3 /. sol3 /. lsg[[2]] // N

But you may want to see all solutions

plot[n_] := Show[ {Plot[{f[x], g[x]}, {x, -1000, -500}, AspectRatio -> Automatic], Graphics[Circle[p3 /. sol3 /. lsg[[n]] // N, 120]]}]

Now set n from 1 to 4.

POSTED BY: Updating Name
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard