Forgot password?
 Register account
View 481|Reply 2

[几何] 用相切性定义正交性

[Copy link]

3159

Threads

7941

Posts

610K

Credits

Credits
63770
QQ

Show all posts

hbghlyj Posted 2021-11-15 05:12 |Read mode
Two intersecting circles $H$ and $K$ are orthogonal if one of them (say $H$) belongs to a set of three mutually tangent circles that touch each other at three distinct points of $K$.
The following Manipulate shows the central circle is orthogonal to the black one by showing the other two circles (blue).
  1. squareDistance[h_, k_] := Chop[(h - k) . (h - k)];
  2. Manipulate[
  3. Module[{rc, p, q, r, s, x, y, d, e, re},
  4.   If[c . c < 1, c = 1.001 Normalize[c]];
  5.   rc = Sqrt[c . c - 1];
  6.   {p, q} = {x, y} /.
  7.     Simplify[
  8.      Quiet@NSolve[{x^2 + y^2 == 1,
  9.         squareDistance[c, {x, y}] == rc^2}, {x, y}]];
  10.   d = p + rd Normalize[p - c];
  11.   {r, s} = {x, y} /.
  12.     Simplify[
  13.      Quiet@NSolve[{x^2 + y^2 == 1,
  14.         squareDistance[d, {x, y}] == rd^2}, {x, y}]];
  15.   {r} = Complement[{r, s}, {p, q},
  16.     SameTest -> (Norm[#1 - #2] < 0.001 &)];
  17.   re = Norm[q - r]/Norm[Normalize[r - d] - Normalize[q - c]];
  18.   e = q + re Normalize[q - c];
  19.   Graphics[{Circle[{0, 0}, 1], Circle[c, rc], Blue, Circle[d, rd],
  20.     Circle[e, re], Red, Disk[#, 0.06] & /@ {p, q, r}},
  21.    PlotRange -> {{-4, 4}, {-4, 4}}]],
  22. {{c, {-2., 1}}, Locator},
  23. {{rd, 1.5, "radius of blue circles"}, 0.01, 5,
  24.   Appearance -> "Labeled"},
  25. Style["Drag the locator.", 10], SaveDefinitions -> True
  26. ]
Copy the Code

3159

Threads

7941

Posts

610K

Credits

Credits
63770
QQ

Show all posts

 Author| hbghlyj Posted 2021-11-15 05:16
点c可拖动.正常情况下是三圆相切.
$value[1].jpg
如果圆c半径很小就不相切了???
$value[1].jpg

3159

Threads

7941

Posts

610K

Credits

Credits
63770
QQ

Show all posts

 Author| hbghlyj Posted 2021-11-15 05:20
数值稳定性

Mobile version|Discuz Math Forum

2025-5-31 10:36 GMT+8

Powered by Discuz!

× Quick Reply To Top Edit