Advertisement
sutasuu

H3_pic1

Sep 23rd, 2024 (edited)
30
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Asymptote 3.24 KB | Source Code | 0 0
  1. import geometry;
  2. import patterns;
  3.  
  4. size(9cm, 0);
  5. defaultpen(fontsize(10pt));
  6. dotfactor = 4;
  7. real R1,R2,R3,R4;
  8. pair A,B,C,D,L,M,K,Np,O,V;
  9. B=origin; A= 3*dir(30); V=5*dir(-50);
  10. circle incirc=incircle(A,B,V); O=incirc.C;
  11. M=intersectionpoints(incirc, line(B,V))[0];
  12. L=intersectionpoints(incirc, line(B,A))[0];
  13. K=intersectionpoints(incirc, line(A,V))[0];
  14. C=point(line(M,V), 1/6);
  15. line[] t=tangents(incirc, C);
  16. D=intersectionpoint(t[0],line(A,V));
  17. Np=intersectionpoints(incirc, line(C,D))[0];
  18. circle circ1=incircle(A,L,K); point O1=circ1.C; R1=circ1.r;
  19. circle circ2=incircle(B,L,M); point O2=circ2.C; R2=circ2.r;
  20. circle circ3=incircle(C,M,Np); point O3=circ3.C; R3=circ3.r;
  21. circle circ4=incircle(D,Np,K); point O4=circ4.C; R4=circ4.r;
  22.  
  23. point X14=shift(O4)*((R4/(R1-R4))*length(line(O1,O4))*dir(O1--O4));
  24. point X23=shift(O3)*((R3/(R2-R3))*length(line(O2,O3))*dir(O2--O3));
  25. point X12=shift(O2)*((R2/(R1-R2))*length(line(O1,O2))*dir(O1--O2));
  26. point X34=shift(O3)*((R3/(R4-R3))*length(line(O3,O4))*dir(O4--O3));
  27. line[] t14=tangents(circ1, X14);
  28. line[] t23=tangents(circ2, X23);
  29. line[] t12=tangents(circ1, X12);
  30. line[] t34=tangents(circ3, X34);
  31. draw(t14[0]^^t23[1]^^t12[0]^^t34[1], red);
  32.  
  33. point Xp=intersectionpoint(t14[0],t12[0]);
  34. point Yp=intersectionpoint(t23[1],t12[0]);
  35. point Zp=intersectionpoint(t34[1],t23[1]);
  36. point Tp=intersectionpoint(t34[1],t14[0]);
  37.  
  38. draw(M--Np--K--L--cycle);
  39. draw(incirc^^circ1^^circ2^^circ3^^circ4);
  40. draw(A--B--C--D--cycle, black+pt);
  41.  
  42. point[] p=intersectionpoints(t34[1],circ3);
  43. point[] p1=intersectionpoints(t34[1],circ4);
  44. point[] p2=intersectionpoints(t12[0],circ2);
  45. point[] p3=intersectionpoints(t12[0],circ1);
  46. point[] p5=intersectionpoints(t23[1],circ3);
  47. point[] p6=intersectionpoints(t23[1],circ2);
  48. point[] p7=intersectionpoints(t14[0],circ1);
  49. point[] p8=intersectionpoints(t14[0],circ4);
  50. point[] f1=intersectionpoints(line(L,K),circ1);
  51. point[] f2=intersectionpoints(line(L,M),circ2);
  52. point[] f3=intersectionpoints(line(Np,M),circ3);
  53. point[] f4=intersectionpoints(line(Np,K),circ4);
  54.  
  55. point[] k11=intersectionpoints(circ1, line(A,D));
  56. point[] k12=intersectionpoints(circ1, line(A,B));
  57. point[] k21=intersectionpoints(circ2, line(A,B));
  58. point[] k22=intersectionpoints(circ2, line(B,C));
  59. point[] k31=intersectionpoints(circ3, line(B,C));
  60. point[] k32=intersectionpoints(circ3, line(C,D));
  61. point[] k41=intersectionpoints(circ4, line(A,D));
  62. point[] k42=intersectionpoints(circ4, line(C,D));
  63.  
  64.  
  65. dot(p[0]^^p1[0]^^p2[0]^^p3[0]^^p5[0]^^p6[0]^^p7[0]^^p8[0]);
  66. dot(f1[0]^^f2[0]^^f3[0]^^f4[0]);
  67. dot(k11[0]^^k12[0]^^k21[0]^^k22[0]^^k31[0]^^k32[0]^^k41[0]^^k42[0]);
  68. dot(Xp^^Yp^^Zp^^Tp);
  69. dot(A^^B^^C^^D^^M^^L^^Np^^K);
  70. dot(O1^^O2^^O3^^O4^^O);
  71.  
  72. label("$A$",A,N);
  73. label("$B$",B,W);
  74. label("$C$",C,SSW);
  75. label("$D$",D,E);
  76. label("$M$",M,SSW);
  77. label("$N$",Np,S);
  78. label("$L$",L,N);
  79. label("$K$",K,E);
  80. label("$O$", O, S);
  81. label("$O_1$",O1,N);
  82. label("$O_2$",O2,W);
  83. label("$O_3$",O3,0.0001*SSW);
  84. label("$O_4$",O4,E);
  85. label("$X$",Xp, SSW);
  86. label("$Y$",Yp, ESE);
  87. label("$Z$",Zp, NNE);
  88. label("$T$",Tp, WNW);
  89. label(Label("$a_{12}$", Relative(0.5)), Xp--Yp, red);
  90. label(Label("$a_{14}$", Relative(0.5)), Tp--Xp, red);
  91. label(Label("$a_{34}$", Relative(0.5)), Zp--Tp, red);
  92. label(Label("$a_{23}$", Relative(0.5)), Yp--Zp, red);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement