Advertisement
sutasuu

H4

Oct 2nd, 2024 (edited)
17
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Asymptote 2.06 KB | Source Code | 0 0
  1. import geometry;
  2.  
  3. point[] common_tangent_to_circle(point o1, real r1, point o2, real r2){
  4. real d_c, d_r, h, x, new_r1, new_r2;
  5. d_c = abs(o1-o2);
  6. d_r = abs(r1-r2);
  7. h = sqrt(d_c^2 - d_r^2);
  8. new_r1 = sqrt(r1^2+h^2);
  9. new_r2 = sqrt(r2^2+h^2);
  10. point[] A = intersectionpoints(circle(o1, new_r1),circle(o2, r2));
  11. point[] B = intersectionpoints(circle(o1, r1),circle(o2, new_r2));
  12. return new point[] {A[0], A[1], B[0], B[1]};
  13. }
  14.  
  15.  
  16. size(9cm, 0);
  17. defaultpen(fontsize(10pt));
  18. dotfactor = 6;
  19.  
  20. circle c1,c2,c3,c; real r=2;
  21. point M,O1,O2,O3,A,B,C;
  22. M=origin;
  23. c=circle(M,r);
  24. O1=point(c, 1/5*length(c));
  25. O2=point(c, -5/12*length(c));
  26. O3=point(c, -1/12*length(c));
  27.  
  28. c1 = circle(O1, r);
  29. c2 = circle(O2, r);
  30. c3 = circle(O3, r);
  31.  
  32. point[] P12 = common_tangent_to_circle(c1.C, c1.r, c2.C, c2.r);
  33. point[] P13 = common_tangent_to_circle(c1.C, c1.r, c3.C, c3.r);
  34. point[] P23 = common_tangent_to_circle(c2.C, c2.r, c3.C, c3.r);
  35. line p12=line(P12[1],P12[3]);
  36. line p13=line(P13[1],P13[3]);
  37. line p23=line(P23[0],P23[2]);
  38. A=intersectionpoint(p12,p13);
  39. B=intersectionpoint(p12,p23);
  40. C=intersectionpoint(p23,p13);
  41.  
  42. triangle T=triangle(A,B,C);
  43. circle circ = circumcircle(T);
  44.  
  45. point[] K1=intersectionpoints(T, c1);
  46. point[] K2=intersectionpoints(T, c2);
  47. point[] K3=intersectionpoints(T, c3);
  48. markrightangle(size=0.3cm, O2, K2[1], B);
  49. markrightangle(size=0.3cm, C, K3[0], O3);
  50. markangle(Label("$\alpha$"), radius=0.3cm, B,A,C);
  51. markangle(radius=0.3cm,n=2, O3,O2,O1, blue);
  52. markangle(Label("$\gamma$"), n=3, radius=0.3cm, A,C,B);
  53. markangle(n=3, radius=0.3cm, O1,O3,O2,blue);
  54.  
  55.  
  56. draw(B--O2--K2[1]^^C--O3--K3[0]);
  57. draw(c1^^c2^^c3^^circ);
  58. draw(c,blue);
  59. draw(O1--O2--O3--cycle, blue);
  60. draw(T); label(T);
  61. markangle(Label("$\beta$", Fill(white)), radius=0.3cm,n=2, C,B,A);
  62.  
  63.  
  64. dot(K1[0]^^K1[1]^^K2[0]^^K2[1]^^K3[0]^^K3[1], UnFill);
  65. dot(A^^B^^C^^M^^O1^^O2^^O3, UnFill);
  66. label("$M$",M,N);
  67. label("$O_1$",O1,N);
  68. label("$O_2$",O2,W);
  69. label("$O_3$",O3,E);
  70. label(Label("$a$", Relative(0.5)), B--C, 2S);
  71. label(Label("$x$", Relative(0.5)), O2--K2[1]);
  72. label(Label("$x$", Relative(0.5)), K3[0]--O3);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement