Oblique Cone

Oblique Cone
Loading the math board and drawing, please wait…
2020-02-24 05:03
This example demonstrates the construction of an oblique cone. It involves concepts of cones, solid geometry, and vectors. Using GeoGebra commands such as Circle, Line, Intersect, Vector, etc., the dynamic generation process of the oblique cone is showcased. Suitable for high school mathematics education and students learning solid geometry.

GeoGebra Commands & Parameters

  1. Circle(O_r, 0.5) → d
  2. Line(O_r, xAxis) → a
  3. Circle(O_r, 1) → c_1
  4. Point(c_1) → Girar
  5. Intersect(c_1, a, 2) → U
  6. Angle(U, O_r, Girar) → phi
  7. Point(d) → B_1
  8. Intersect(d, a, 2) → M_2
  9. Angle(M_2, O_r, B_1) → theta
  10. Vector(O_ , O) → u
  11. Translate(X_r, u) → X
  12. Vector(O, X) → v_x
  13. Translate(Y_r, u) → Y
  14. Vector(O, Y) → v_y
  15. Translate(Z_r, u) → Z
  16. Vector(O, Z) → v_z
  17. Circle(O, Zoom, xOyPlane) → e
  18. Line(O, yAxis) → b_1
  19. Line(Y, O) → f
  20. Line(O, X) → g
  21. Line(Z, O) → j
  22. Line(X, v_y) → h
  23. Translate(Y, v_z) → B_2
  24. Translate(X, v_z) → C_2
  25. Point(xAxis) → B
  26. Circle(O_ , B) → c
  27. Intersect(c, yAxis, 2) → F
  28. Intersect(c, xAxis, 2) → A
  29. AngularBisector(F, O_ , A) → b
  30. Intersect(c, b, 2) → H
  31. AngularBisector(H, O_ , A) → k
  32. AngularBisector(H, O_ , F) → l
  33. Intersect(c, l, 2) → I
  34. Intersect(c, k, 2) → J
  35. Translate((x(F) * v_x) + (y(F) * v_y), u) → B_ 
  36. Translate((x(A) * v_x) + (y(A) * v_y), u) → L
  37. Translate((x(H) * v_x) + (y(H) * v_y), u) → M
  38. Translate((x(I) * v_x) + (y(I) * v_y), u) → N
  39. Translate((x(J) * v_x) + (y(J) * v_y), u) → P
  40. Mirror(B_ , O) → A_3
  41. Mirror(I, yAxis) → W
  42. Mirror(J, yAxis) → D_1
  43. Mirror(A, yAxis) → E_1
  44. Polygon(A, B, S) → P_1, l_1, g_1, e_1
  45. Dilate(B, 0.4, S) → E'_2
  46. Circle(F_1, Distance[A, B] / 2) → p_1
  47. OrthogonalLine(F_1, yAxis) → q_1
  48. OrthogonalLine(A, q_1) → r_2
  49. OrthogonalLine(S, q_1) → b_3
  50. Intersect(q_1, b_3) → Z_1
  51. Segment(Z_1, S) → c_3
  52. Translate((x(S) * v_y), u) → C_b
  53. Intersect(b_3, xAxis) → E
  54. Segment(S, E) → q
  55. Point(q) → G
  56. Line(G, xAxis) → r
  57. Intersect(e_1, r) → K
  58. Intersect(g_1, r) → V
  59. Segment(K, V) → s
  60. OrthogonalLine(V, r) → a_1
  61. OrthogonalLine(K, r) → i_1
  62. Intersect(q_1, i_1) → A_1
  63. Intersect(q_1, a_1) → C_1
  64. Midpoint(A_1, C_1) → G_1
  65. Circle(G_1, C_1) → k_1
  66. Segment(V, C_1) → j_1
  67. Segment(A_1, K) → m_1
  68. Intersect(c, yAxis, 1) → H_1
  69. If(Distance[E, O_ ] > Distance[B, O_ ], Distance[E, O_ ], Distance[B, O_ ]) → m_p
  70. Circle(O_ , m_p) → r_1
  71. Intersect(r_1, xAxis, 2) → I_1
  72. OrthogonalLine(I_1, xAxis) → i
  73. Intersect(r_1, yAxis, 1) → K_1
  74. OrthogonalLine(K_1, yAxis) → s_1
  75. Intersect(i, s_1) → L_1
  76. Translate((x(L_1) * v_x) + (y(L_1) * v_y), u) → M_1
  77. Mirror(M_1, O) → D
  78. Translate((x(L_1) * v_x) - (y(L_1) * v_y), u) → N_1
  79. Mirror(N_1, O) → O_1
  80. Translate(D, Vector[(Distance[G, E] * v_z)]) → D'
  81. Translate(N_1, Vector[(Distance[G, E] * v_z)]) → N_1'
  82. Translate(M_1, Vector[(Distance[G, E] * v_z)]) → M_1'
  83. Translate(O_1, Vector[(Distance[G, E] * v_z)]) → O_1'
  84. Segment(O_ , E) → t_1
  85. Segment(G, K) → b_2
  86. Segment(Z_1, G_1) → g_2
  87. Segment(Z_1, F_1) → h_2
  88. Circle(F_1, Distance[A, B] / 2) → p_2
  89. Circle(F_1, Distance[A, B] / 2) → q_2
  90. Circle(G_1, C_1) → s_2
  91. Intersect(l_1, c_3) → V_1
  92. Segment(Z_1, V_1) → l_2
  93. Circle(O, Distance[A, B] / 2, zAxis) → p
  94. Vector(O, Q) → v
  95. CurveCartesian(x(O) + (Distance[A, B] / 2 * cos(i)), y(O) + (Distance[A, B] / 2 * sin(i)), z(O), i, 0, 6.283185307179586) → m
  96. Sequence((x(O) + (Distance[A, B] / 2 * cos(i)), y(O) + (Distance[A, B] / 2 * sin(i)), z(O)), i, 0, 6.28319, 0.12566370614359174) → liste1
  97. Sequence(Polygon[Element[liste1, i], Element[liste1, i + 1], Q], i, 1, Length[liste1]) → liste2
  98. Plane(T, Line[O, R]) → n
  99. OrthogonalLine(Q, n) → t
  100. Intersect(t, f) → J_1
  101. Segment(Q, J_1) → d_1
  102. Segment(O, J_1) → f_1
  103. Segment(O - (Distance[A, B] / 2, 0, 0), Q) → h_1
  104. Segment(O + (Distance[A, B] / 2, 0, 0), Q) → n_1
  105. OrthogonalLine(Q, n) → a_2
  106. Line(Q_1, f) → c_2
  107. Intersect(c_2, n_1) → R_1
  108. Intersect(h_1, c_2) → S_1
  109. Point(liste2) → T_1
  110. Segment(Q, O) → d_2
  111. Intersect(d_2, c_2) → U_1
  112. Circle(U_1, Distance[U_1, R_1], zAxis) → e_2
  113. Circle(U_1, Distance[U_1, R_1], zAxis) → f_2
  114. Point(liste2) → A_2
  115. Segment(S_1, R_1) → i_2
  116. Segment(O, J_1) → j_2
  117. Segment(O, D_2) → k_2
  118. Segment(O, E_2) → m_2

AI Drawing Prompt Reference

Draw an oblique cone. Start by drawing a circle d, then draw a line a parallel to the x-axis. Next, take a point Girar on circle c1 and find its intersection U with line a. Draw a tangent line to circle d at point U. Then, draw vector u and translate point O to X using vector u. Draw vectors v_x and v_y, and translate point O to Y and Z using vectors v_x and v_y. Draw circle e on the xOy plane, then draw line b1 along the y-axis, and lines f from Y to O, g from O to X, j from Z to O, and h from X to v_y. Translate Y and X to get B_2 and C_2. Draw point B on the x-axis, and draw circle c with B as the center, intersecting with the y-axis and x-axis to get points F and A. Draw angle bisector b from F and A, then find the intersection H of circle c and b, and draw angle bisectors k and l from H, and find the intersections I and J of circle c and k and l. Translate B_2, I, and J to get B_, M, N, and P, then mirror B_, I, J, A, E_1, D_1, W, E'_2, P_1, l_1, g_1, e_1, p_1, q_1, and r_2.
The prompt above was compiled from the original drawing commands and is for reference only.