钻石切工中的全反射几何模拟

钻石切工中的全反射几何模拟
几何画板及绘图内容加载中,请稍等……
2012-08-19 20:43
本 GeoGebra 范例演示了光线在钻石多面体切工内部发生全反射(Total Internal Reflection)并折射出璀璨光芒的几何物理现象。涉及的核心数学概念包括几何光学中的全反射临界角、入射角、折射率,以及空间几何中多边形(Polygon)、射线(Ray)、线段(Segment)、角平分线(LineBisector)和旋转变换(Rotate)。作图要点上,该模型利用了 GeoGebra 的 Segment、Ray、Line 构建钻石剖面与光线路径,通过 Intersect 求交点,利用 OrthogonalLine 和 Angle 计算入射角与法线,结合 If 条件判断是否发生全反射,并运用 Rotate、Circle、LineBisector 和 Polygon 等命令精细模拟光线在不同界面反射、折射的动态轨迹。适合高中物理、几何光学课程,或大学应用数学、几何建模兴趣小组,用于直观探究全反射条件、临界角计算以及几何切工对折射效果的影响。

GeoGebra 命令及参数

  1. Segment(A, C) → a
  2. Point(a) → F
  3. Segment(G, F) → f
  4. Line(F, f) → g
  5. Ray(I, E_1) → j
  6. Point(j) → E
  7. Segment(D, E) → e
  8. Segment(B, E) → d
  9. Intersect(g, d) → H
  10. Circle(H, 1) → k
  11. OrthogonalLine(H, d) → i
  12. Intersect(k, i, 2) → J
  13. Angle(J, H, F) → α
  14. If((180° > α) ∧ (α > asin(1 / n)), Rotate[J, -α, H]) → J'
  15. Line(H, J') → r
  16. Intersect(r, e) → M
  17. OrthogonalLine(M, e) → a_1
  18. Circle(M, 1) → t
  19. Intersect(t, a_1, 1) → N
  20. Angle(N, M, H) → δ
  21. If((360° - asin(1 / n) > δ) ∧ (δ > asin(1 / n)), Rotate[N, -δ, M]) → N'
  22. Line(M, N') → d_1
  23. Intersect(d_1, a) → Q
  24. OrthogonalLine(Q, a) → i_1
  25. Circle(Q, 1) → h_1
  26. Intersect(h_1, i_1, 1) → S
  27. Angle(S, Q, M) → ζ
  28. Intersect(h_1, i_1, 2) → R
  29. Segment(A, B) → b
  30. Segment(C, D) → c
  31. Circle(H, 2) → p
  32. Intersect(k, i, 1) → K
  33. Segment(J, K) → l
  34. Angle(J', H, J) → β
  35. Rotate(K, asin(n * sin(α)), H) → K'
  36. Angle(K, H, K') → γ
  37. Line(H, K') → m
  38. Intersect(p, m, 2) → L
  39. Segment(H, L) → q
  40. Circle(M, 2) → c_1
  41. Angle(N', M, N) → ε
  42. Circle(Q, 2) → k_1
  43. Segment(R, S) → j_1
  44. Segment(F, H) → h
  45. Angle(S, Q, M) → η
  46. If(η > asin(1 / n), Rotate[S, -η, Q]) → S'
  47. Angle(S', Q, S) → θ
  48. Line(Q, S') → l_1
  49. Intersect(h_1, l_1, 2) → T
  50. Segment(Q, T) → m_1
  51. Rotate(R, asin(n * sin(ζ)), Q) → R'
  52. Angle(R, Q, R') → ι
  53. Intersect(t, a_1, 2) → O
  54. Segment(N, O) → b_1
  55. Segment(H, M) → s
  56. Segment(M, Q) → e_1
  57. Line(Q, R') → f_1
  58. Intersect(k_1, f_1, 2) → P
  59. Segment(Q, P) → g_1
  60. Rotate(O, asin(n * sin(δ)), M) → O'
  61. Angle(O, M, O') → κ
  62. Line(M, O') → n_1
  63. Intersect(c_1, n_1, 2) → U
  64. Segment(M, U) → p_1
  65. Intersect(r, a) → W
  66. Circle(W, 1) → s_1
  67. OrthogonalLine(W, a) → t_1
  68. Intersect(s_1, t_1, 2) → Z
  69. Intersect(s_1, t_1, 1) → A_1
  70. Segment(Z, A_1) → a_2
  71. Angle(H, W, A_1) → λ
  72. Rotate(A_1, λ, W) → B_1
  73. Angle(A_1, W, B_1) → μ
  74. Line(W, B_1) → b_2
  75. Intersect(b_2, e) → C_1
  76. Segment(H, W) → c_2
  77. Circle(C_1, 1) → d_2
  78. OrthogonalLine(C_1, e) → e_2
  79. Intersect(d_2, e_2) → D_1, F_1
  80. Segment(D_1, F_1) → f_2
  81. Angle(D_1, C_1, W) → ν
  82. Rotate(D_1, -ν, C_1) → G_1
  83. Angle(G_1, C_1, D_1) → ξ
  84. Line(C_1, G_1) → g_2
  85. Intersect(g_2, c) → H_1
  86. LineBisector(C_1, H_1) → h_2
  87. Segment(H_1, C_1) → i_2
  88. Intersect(h_2, i_2) → I_1
  89. Segment(C_1, I_1) → j_2
  90. Segment(W, C_1) → k_2
  91. Intersect(d_1, d) → V
  92. Segment(M, V) → q_1
  93. Intersect(b_2, c) → K_1
  94. Circle(K_1, 1) → p_2
  95. OrthogonalLine(K_1, c) → m_2
  96. Intersect(p_2, m_2, 1) → L_1
  97. Intersect(p_2, m_2, 2) → M_1
  98. Segment(L_1, M_1) → n_2
  99. Angle(W, K_1, L_1) → ο
  100. Rotate(L_1, ο, K_1) → N_1
  101. Angle(L_1, K_1, N_1) → ρ
  102. Line(K_1, N_1) → q_2
  103. Intersect(q_2, e) → O_1
  104. Segment(W, K_1) → r_2
  105. Segment(K_1, O_1) → s_2
  106. Circle(O_1, 1) → t_2
  107. OrthogonalLine(O_1, e) → a_3
  108. Intersect(t_2, a_3) → P_1, Q_1
  109. Segment(P_1, Q_1) → b_3
  110. Angle(P_1, O_1, K_1) → σ
  111. Rotate(Q_1, asin(n * sin(σ)), O_1) → R_1
  112. Angle(Q_1, O_1, R_1) → τ
  113. Intersect(r, c) → S_1
  114. Circle(S_1, 1) → d_3
  115. OrthogonalLine(S_1, c) → e_3
  116. Intersect(d_3, e_3) → T_1, U_1
  117. Segment(U_1, T_1) → f_3
  118. Angle(H, S_1, T_1) → υ
  119. Rotate(U_1, -asin(n * sin(υ)), S_1) → V_1
  120. Angle(U_1, S_1, V_1) → ϕ
  121. Line(O_1, R_1) → c_3
  122. Circle(O_1, 2) → g_3
  123. Intersect(g_3, c_3) → W_1, Z_1
  124. Segment(O_1, Z_1) → h_3
  125. Circle(S_1, 2) → k_3
  126. Line(S_1, V_1) → i_3
  127. Intersect(k_3, i_3, 2) → A_2
  128. Segment(S_1, A_2) → j_3
  129. Segment(H, S_1) → l_3
  130. Rotate(T_1, -υ, S_1) → B_2
  131. Angle(B_2, S_1, T_1) → χ
  132. Rotate(T_1, υ, S_1) → C_2
  133. Angle(T_1, S_1, C_2) → ψ
  134. Line(S_1, C_2) → m_3
  135. Intersect(m_3, e) → D_2
  136. LineBisector(S_1, D_2) → n_3
  137. Segment(S_1, D_2) → p_3
  138. Intersect(n_3, p_3) → E_2
  139. Segment(S_1, E_2) → q_3
  140. Line(M, N') → r_3
  141. Intersect(r_3, c) → F_2
  142. Circle(F_2, 1) → s_3
  143. OrthogonalLine(F_2, c) → t_3
  144. Intersect(s_3, t_3) → G_2, H_2
  145. Segment(H_2, G_2) → a_4
  146. Angle(G_2, F_2, M) → ω
  147. Rotate(H_2, asin(n * sin(ω)), F_2) → I_2
  148. Angle(I_2, F_2, H_2) → α_1
  149. Circle(F_2, 2) → c_4
  150. Line(F_2, I_2) → b_4
  151. Intersect(c_4, b_4, 2) → J_2
  152. Segment(F_2, J_2) → d_4
  153. Segment(M, F_2) → e_4
  154. If(ω > asin(1 / n), Rotate[G_2, -ω, F_2]) → K_2
  155. Angle(K_2, F_2, G_2) → β_1
  156. Line(F_2, K_2) → f_4
  157. Intersect(f_4, d) → L_2
  158. Circle(L_2, 1) → g_4
  159. OrthogonalLine(L_2, d) → h_4
  160. Intersect(g_4, h_4) → M_2, N_2
  161. Segment(N_2, M_2) → i_4
  162. Angle(F_2, L_2, N_2) → γ_1
  163. Rotate(N_2, γ_1, L_2) → O_2
  164. Angle(N_2, L_2, O_2) → δ_1
  165. Segment(F_2, L_2) → j_4
  166. Line(L_2, O_2) → k_4
  167. Intersect(k_4, a) → P_2
  168. Segment(L_2, P_2) → l_4
  169. Circle(P_2, 1) → p_4
  170. OrthogonalLine(P_2, a) → m_4
  171. Intersect(p_4, m_4) → Q_2, R_2
  172. Segment(R_2, Q_2) → n_4
  173. Angle(L_2, P_2, Q_2) → ε_1
  174. Rotate(R_2, -asin(n * sin(ε_1)), P_2) → S_2
  175. Angle(S_2, P_2, R_2) → ζ_1
  176. Circle(P_2, 2) → q_4
  177. Line(P_2, S_2) → r_4
  178. Intersect(q_4, r_4, 2) → T_2
  179. Segment(P_2, T_2) → s_4
  180. Intersect(k_4, b) → U_2
  181. Circle(U_2, 1) → t_4
  182. OrthogonalLine(U_2, b) → a_5
  183. Intersect(t_4, a_5) → V_2, W_2
  184. Segment(V_2, W_2) → b_5
  185. Angle(L_2, U_2, W_2) → η_1
  186. Rotate(W_2, η_1, U_2) → Z_2
  187. Angle(W_2, U_2, Z_2) → θ_1
  188. Line(U_2, Z_2) → c_5
  189. Intersect(c_5, a) → A_3
  190. Segment(U_2, A_3) → d_5
  191. LineBisector(U_2, A_3) → e_5
  192. Intersect(e_5, d_5) → B_3
  193. Segment(U_2, B_3) → f_5
  194. Segment(L_2, U_2) → g_5
  195. Circle(V, 1) → h_5
  196. OrthogonalLine(V, d) → r_1
  197. Intersect(h_5, r_1) → J_1, C_3
  198. Segment(J_1, C_3) → l_2
  199. Segment(M, V) → i_5
  200. Angle(C_3, V, M) → ι_1
  201. Rotate(J_1, asin(n * sin(ι_1)), V) → D_3
  202. Angle(D_3, V, J_1) → κ_1
  203. Circle(V, 2) → k_5
  204. Line(V, D_3) → j_5
  205. Intersect(k_5, j_5, 2) → E_3
  206. Segment(V, E_3) → l_5
  207. If((360° - asin(1 / n) > ι_1) ∧ (ι_1 > asin(1 / n)), Rotate[C_3, -ι_1, V]) → F_3
  208. Angle(F_3, V, C_3) → λ_1
  209. Line(V, F_3) → m_5
  210. Intersect(m_5, e) → G_3
  211. Circle(G_3, 1) → p_5
  212. OrthogonalLine(G_3, e) → n_5
  213. Intersect(p_5, n_5) → H_3, I_3
  214. Angle(V, G_3, H_3) → μ_1
  215. Segment(H_3, I_3) → q_5
  216. If(μ_1 > asin(1 / n), Rotate[H_3, μ_1, G_3]) → J_3
  217. Angle(H_3, G_3, J_3) → ν_1
  218. Rotate(I_3, -asin(n * sin(μ_1)), G_3) → K_3
  219. Angle(K_3, G_3, I_3) → ξ_1
  220. Circle(G_3, 2) → r_5
  221. Line(G_3, K_3) → s_5
  222. Segment(V, G_3) → t_5
  223. Intersect(r_5, s_5, 2) → L_3
  224. Segment(G_3, L_3) → a_6
  225. Line(G_3, J_3) → b_6
  226. Intersect(b_6, d) → M_3
  227. LineBisector(G_3, M_3) → c_6
  228. Intersect(b_6, c_6) → N_3
  229. Segment(G_3, N_3) → d_6
  230. Polygon(B, A, C, D, E) → poly1, e_6, f_6, g_6, h_6, i_6

AI 绘图提示语参考

绘制一个钻石切面的几何光学示意图。先画出钻石的轮廓多边形,包含多个顶点和边。从钻石内部一个点发出光线,光线在钻石内壁发生反射和折射。在每条边与光线的交点处,画出该边的法线,并构造一个单位圆,用于测量入射角。根据折射率计算临界角,当入射角大于临界角时,光线发生全内反射,用旋转后的光线表示反射路径。依次追踪光线在多个面之间的反射,每次反射后更新光线方向,并画出反射光线与下一条边的交点。在钻石内部画出多条反射光线路径,并标注各个反射点处的角度关系,包括入射角、反射角和临界角。整体图形展示光线在钻石内部多次全内反射后从顶部射出的过程,体现钻石的璀璨效果。
以上提示语为根据原始绘图命令整理而来,仅供参考。