球面彩虹Voronoi图:中位与分段几何划分

球面彩虹Voronoi图:中位与分段几何划分
几何画板及绘图内容加载中,请稍等……
2021-01-13 15:41
本例演示如何在球面上构造“彩虹”Voronoi 类型的分区效果:球面上的每个点依据到多个控制点的距离关系被划入不同区域,并通过分段边界呈现随条件变化的可视化层次。核心数学概念包括球面几何、Voronoi(维诺)划分、球面上的中点/中位值思想、角度度量与分段函数边界;在构造中还会涉及多区域相交形成的分界曲线。作图要点:从“Sequence, Zip, Midpoint, Sphere”提炼,可用序列参数批量生成多个球面上的站点/对象(Sequence),再通过并联打包的方式组织坐标与命名(Zip),对关键点对求球面相关的中点以建立边界/度量基准(Midpoint),并以球体作为载体承载Voronoi区域(Sphere)。适合用于高中到大学基础数学与计算几何的可视化教学,也适合数学竞赛训练中的几何构造与分区概念演示。

GeoGebra 命令及参数

  1. Sequence(1, M) → Lm
  2. Zip("sphere" + (Text[m]), m, Lm) → Sname
  3. Zip("C" + (Text[m]), m, Lm) → Pname
  4. Zip((Px(k), Py(k), Pz(k)), k, Lm) → Ps
  5. Midpoint(Element[Ps, 1], (0, 0, 0)) → C1
  6. Sphere(C1, 1 / 2) → sphere1
  7. Midpoint(Element[Ps, 2], (0, 0, 0)) → C2
  8. Sphere(C2, 1 / 2) → sphere2
  9. Midpoint(Element[Ps, 3], (0, 0, 0)) → C3
  10. Sphere(C3, 1 / 2) → sphere3
  11. Midpoint(Element[Ps, 4], (0, 0, 0)) → C4
  12. Sphere(C4, 1 / 2) → sphere4
  13. Midpoint(Element[Ps, 5], (0, 0, 0)) → C5
  14. Sphere(C5, 1 / 2) → sphere5
  15. Midpoint(Element[Ps, 6], (0, 0, 0)) → C6
  16. Sphere(C6, 1 / 2) → sphere6
  17. Midpoint(Element[Ps, 7], (0, 0, 0)) → C7
  18. Sphere(C7, 1 / 2) → sphere7
  19. Midpoint(Element[Ps, 8], (0, 0, 0)) → C8
  20. Sphere(C8, 1 / 2) → sphere8
  21. Midpoint(Element[Ps, 9], (0, 0, 0)) → C9
  22. Sphere(C9, 1 / 2) → sphere9
  23. Midpoint(Element[Ps, 10], (0, 0, 0)) → C10
  24. Sphere(C10, 1 / 2) → sphere10
  25. Midpoint(Element[Ps, 11], (0, 0, 0)) → C11
  26. Sphere(C11, 1 / 2) → sphere11
  27. Midpoint(Element[Ps, 12], (0, 0, 0)) → C12
  28. Sphere(C12, 1 / 2) → sphere12
  29. Midpoint(Element[Ps, 13], (0, 0, 0)) → C13
  30. Sphere(C13, 1 / 2) → sphere13
  31. Midpoint(Element[Ps, 14], (0, 0, 0)) → C14
  32. Sphere(C14, 1 / 2) → sphere14
  33. Midpoint(Element[Ps, 15], (0, 0, 0)) → C15
  34. Sphere(C15, 1 / 2) → sphere15
  35. Midpoint(Element[Ps, 16], (0, 0, 0)) → C16
  36. Sphere(C16, 1 / 2) → sphere16
  37. Midpoint(Element[Ps, 17], (0, 0, 0)) → C17
  38. Sphere(C17, 1 / 2) → sphere17
  39. Midpoint(Element[Ps, 18], (0, 0, 0)) → C18
  40. Sphere(C18, 1 / 2) → sphere18
  41. Midpoint(Element[Ps, 19], (0, 0, 0)) → C19
  42. Sphere(C19, 1 / 2) → sphere19
  43. Midpoint(Element[Ps, 20], (0, 0, 0)) → C20
  44. Sphere(C20, 1 / 2) → sphere20
  45. Midpoint(Element[Ps, 21], (0, 0, 0)) → C21
  46. Sphere(C21, 1 / 2) → sphere21
  47. Midpoint(Element[Ps, 22], (0, 0, 0)) → C22
  48. Sphere(C22, 1 / 2) → sphere22
  49. Midpoint(Element[Ps, 23], (0, 0, 0)) → C23
  50. Sphere(C23, 1 / 2) → sphere23
  51. Midpoint(Element[Ps, 24], (0, 0, 0)) → C24
  52. Sphere(C24, 1 / 2) → sphere24
  53. Midpoint(Element[Ps, 25], (0, 0, 0)) → C25
  54. Sphere(C25, 1 / 2) → sphere25
  55. Midpoint(Element[Ps, 26], (0, 0, 0)) → C26
  56. Sphere(C26, 1 / 2) → sphere26
  57. Midpoint(Element[Ps, 27], (0, 0, 0)) → C27
  58. Sphere(C27, 1 / 2) → sphere27
  59. Midpoint(Element[Ps, 28], (0, 0, 0)) → C28
  60. Sphere(C28, 1 / 2) → sphere28
  61. Midpoint(Element[Ps, 29], (0, 0, 0)) → C29
  62. Sphere(C29, 1 / 2) → sphere29
  63. Midpoint(Element[Ps, 30], (0, 0, 0)) → C30
  64. Sphere(C30, 1 / 2) → sphere30
  65. Midpoint(Element[Ps, 31], (0, 0, 0)) → C31
  66. Sphere(C31, 1 / 2) → sphere31
  67. Midpoint(Element[Ps, 32], (0, 0, 0)) → C32
  68. Sphere(C32, 1 / 2) → sphere32
  69. Midpoint(Element[Ps, 33], (0, 0, 0)) → C33
  70. Sphere(C33, 1 / 2) → sphere33
  71. Midpoint(Element[Ps, 34], (0, 0, 0)) → C34
  72. Sphere(C34, 1 / 2) → sphere34
  73. Midpoint(Element[Ps, 35], (0, 0, 0)) → C35
  74. Sphere(C35, 1 / 2) → sphere35
  75. Midpoint(Element[Ps, 36], (0, 0, 0)) → C36
  76. Sphere(C36, 1 / 2) → sphere36
  77. Midpoint(Element[Ps, 37], (0, 0, 0)) → C37
  78. Sphere(C37, 1 / 2) → sphere37
  79. Midpoint(Element[Ps, 38], (0, 0, 0)) → C38
  80. Sphere(C38, 1 / 2) → sphere38
  81. Midpoint(Element[Ps, 39], (0, 0, 0)) → C39
  82. Sphere(C39, 1 / 2) → sphere39
  83. Midpoint(Element[Ps, 40], (0, 0, 0)) → C40
  84. Sphere(C40, 1 / 2) → sphere40
  85. Midpoint(Element[Ps, 41], (0, 0, 0)) → C41
  86. Sphere(C41, 1 / 2) → sphere41
  87. Midpoint(Element[Ps, 42], (0, 0, 0)) → C42
  88. Sphere(C42, 1 / 2) → sphere42
  89. Midpoint(Element[Ps, 43], (0, 0, 0)) → C43
  90. Sphere(C43, 1 / 2) → sphere43
  91. Midpoint(Element[Ps, 44], (0, 0, 0)) → C44
  92. Sphere(C44, 1 / 2) → sphere44
  93. Midpoint(Element[Ps, 45], (0, 0, 0)) → C45
  94. Sphere(C45, 1 / 2) → sphere45
  95. Midpoint(Element[Ps, 46], (0, 0, 0)) → C46
  96. Sphere(C46, 1 / 2) → sphere46
  97. Midpoint(Element[Ps, 47], (0, 0, 0)) → C47
  98. Sphere(C47, 1 / 2) → sphere47
  99. Midpoint(Element[Ps, 48], (0, 0, 0)) → C48
  100. Sphere(C48, 1 / 2) → sphere48
  101. Midpoint(Element[Ps, 49], (0, 0, 0)) → C49
  102. Sphere(C49, 1 / 2) → sphere49
  103. Midpoint(Element[Ps, 50], (0, 0, 0)) → C50
  104. Sphere(C50, 1 / 2) → sphere50
  105. Midpoint(Element[Ps, 51], (0, 0, 0)) → C51
  106. Sphere(C51, 1 / 2) → sphere51
  107. Midpoint(Element[Ps, 52], (0, 0, 0)) → C52
  108. Sphere(C52, 1 / 2) → sphere52
  109. Midpoint(Element[Ps, 53], (0, 0, 0)) → C53
  110. Sphere(C53, 1 / 2) → sphere53
  111. Midpoint(Element[Ps, 54], (0, 0, 0)) → C54
  112. Sphere(C54, 1 / 2) → sphere54
  113. Midpoint(Element[Ps, 55], (0, 0, 0)) → C55
  114. Sphere(C55, 1 / 2) → sphere55
  115. Midpoint(Element[Ps, 56], (0, 0, 0)) → C56
  116. Sphere(C56, 1 / 2) → sphere56
  117. Midpoint(Element[Ps, 57], (0, 0, 0)) → C57
  118. Sphere(C57, 1 / 2) → sphere57
  119. Midpoint(Element[Ps, 58], (0, 0, 0)) → C58
  120. Sphere(C58, 1 / 2) → sphere58
  121. Midpoint(Element[Ps, 59], (0, 0, 0)) → C59
  122. Sphere(C59, 1 / 2) → sphere59
  123. Midpoint(Element[Ps, 60], (0, 0, 0)) → C60
  124. Sphere(C60, 1 / 2) → sphere60
  125. Midpoint(Element[Ps, 61], (0, 0, 0)) → C61
  126. Sphere(C61, 1 / 2) → sphere61
  127. Midpoint(Element[Ps, 62], (0, 0, 0)) → C62
  128. Sphere(C62, 1 / 2) → sphere62
  129. Midpoint(Element[Ps, 63], (0, 0, 0)) → C63
  130. Sphere(C63, 1 / 2) → sphere63
  131. Midpoint(Element[Ps, 64], (0, 0, 0)) → C64
  132. Sphere(C64, 1 / 2) → sphere64
  133. Midpoint(Element[Ps, 65], (0, 0, 0)) → C65
  134. Sphere(C65, 1 / 2) → sphere65
  135. Midpoint(Element[Ps, 66], (0, 0, 0)) → C66
  136. Sphere(C66, 1 / 2) → sphere66
  137. Midpoint(Element[Ps, 67], (0, 0, 0)) → C67
  138. Sphere(C67, 1 / 2) → sphere67
  139. Midpoint(Element[Ps, 68], (0, 0, 0)) → C68
  140. Sphere(C68, 1 / 2) → sphere68
  141. Midpoint(Element[Ps, 69], (0, 0, 0)) → C69
  142. Sphere(C69, 1 / 2) → sphere69
  143. Midpoint(Element[Ps, 70], (0, 0, 0)) → C70
  144. Sphere(C70, 1 / 2) → sphere70
  145. Midpoint(Element[Ps, 71], (0, 0, 0)) → C71
  146. Sphere(C71, 1 / 2) → sphere71
  147. Midpoint(Element[Ps, 72], (0, 0, 0)) → C72
  148. Sphere(C72, 1 / 2) → sphere72
  149. Midpoint(Element[Ps, 73], (0, 0, 0)) → C73
  150. Sphere(C73, 1 / 2) → sphere73
  151. Midpoint(Element[Ps, 74], (0, 0, 0)) → C74
  152. Sphere(C74, 1 / 2) → sphere74
  153. Midpoint(Element[Ps, 75], (0, 0, 0)) → C75
  154. Sphere(C75, 1 / 2) → sphere75
  155. Midpoint(Element[Ps, 76], (0, 0, 0)) → C76
  156. Sphere(C76, 1 / 2) → sphere76
  157. Midpoint(Element[Ps, 77], (0, 0, 0)) → C77
  158. Sphere(C77, 1 / 2) → sphere77
  159. Midpoint(Element[Ps, 78], (0, 0, 0)) → C78
  160. Sphere(C78, 1 / 2) → sphere78
  161. Midpoint(Element[Ps, 79], (0, 0, 0)) → C79
  162. Sphere(C79, 1 / 2) → sphere79
  163. Midpoint(Element[Ps, 80], (0, 0, 0)) → C80
  164. Sphere(C80, 1 / 2) → sphere80
  165. Midpoint(Element[Ps, 81], (0, 0, 0)) → C81
  166. Sphere(C81, 1 / 2) → sphere81
  167. Midpoint(Element[Ps, 82], (0, 0, 0)) → C82
  168. Sphere(C82, 1 / 2) → sphere82
  169. Midpoint(Element[Ps, 83], (0, 0, 0)) → C83
  170. Sphere(C83, 1 / 2) → sphere83
  171. Midpoint(Element[Ps, 84], (0, 0, 0)) → C84
  172. Sphere(C84, 1 / 2) → sphere84
  173. Midpoint(Element[Ps, 85], (0, 0, 0)) → C85
  174. Sphere(C85, 1 / 2) → sphere85
  175. Midpoint(Element[Ps, 86], (0, 0, 0)) → C86
  176. Sphere(C86, 1 / 2) → sphere86
  177. Midpoint(Element[Ps, 87], (0, 0, 0)) → C87
  178. Sphere(C87, 1 / 2) → sphere87
  179. Midpoint(Element[Ps, 88], (0, 0, 0)) → C88
  180. Sphere(C88, 1 / 2) → sphere88
  181. Midpoint(Element[Ps, 89], (0, 0, 0)) → C89
  182. Sphere(C89, 1 / 2) → sphere89
  183. Midpoint(Element[Ps, 90], (0, 0, 0)) → C90
  184. Sphere(C90, 1 / 2) → sphere90
  185. Midpoint(Element[Ps, 91], (0, 0, 0)) → C91
  186. Sphere(C91, 1 / 2) → sphere91
  187. Midpoint(Element[Ps, 92], (0, 0, 0)) → C92
  188. Sphere(C92, 1 / 2) → sphere92
  189. Midpoint(Element[Ps, 93], (0, 0, 0)) → C93
  190. Sphere(C93, 1 / 2) → sphere93
  191. Midpoint(Element[Ps, 94], (0, 0, 0)) → C94
  192. Sphere(C94, 1 / 2) → sphere94
  193. Midpoint(Element[Ps, 95], (0, 0, 0)) → C95
  194. Sphere(C95, 1 / 2) → sphere95
  195. Midpoint(Element[Ps, 96], (0, 0, 0)) → C96
  196. Sphere(C96, 1 / 2) → sphere96
  197. Midpoint(Element[Ps, 97], (0, 0, 0)) → C97
  198. Sphere(C97, 1 / 2) → sphere97
  199. Midpoint(Element[Ps, 98], (0, 0, 0)) → C98
  200. Sphere(C98, 1 / 2) → sphere98
  201. Midpoint(Element[Ps, 99], (0, 0, 0)) → C99
  202. Sphere(C99, 1 / 2) → sphere99
  203. Midpoint(Element[Ps, 100], (0, 0, 0)) → C100
  204. Sphere(C100, 1 / 2) → sphere100
  205. Midpoint(Element[Ps, 101], (0, 0, 0)) → C101
  206. Sphere(C101, 1 / 2) → sphere101
  207. Midpoint(Element[Ps, 102], (0, 0, 0)) → C102
  208. Sphere(C102, 1 / 2) → sphere102
  209. Midpoint(Element[Ps, 103], (0, 0, 0)) → C103
  210. Sphere(C103, 1 / 2) → sphere103
  211. Midpoint(Element[Ps, 104], (0, 0, 0)) → C104
  212. Sphere(C104, 1 / 2) → sphere104
  213. Midpoint(Element[Ps, 105], (0, 0, 0)) → C105
  214. Sphere(C105, 1 / 2) → sphere105
  215. Midpoint(Element[Ps, 106], (0, 0, 0)) → C106
  216. Sphere(C106, 1 / 2) → sphere106
  217. Midpoint(Element[Ps, 107], (0, 0, 0)) → C107
  218. Sphere(C107, 1 / 2) → sphere107
  219. Midpoint(Element[Ps, 108], (0, 0, 0)) → C108
  220. Sphere(C108, 1 / 2) → sphere108
  221. Midpoint(Element[Ps, 109], (0, 0, 0)) → C109
  222. Sphere(C109, 1 / 2) → sphere109
  223. Midpoint(Element[Ps, 110], (0, 0, 0)) → C110
  224. Sphere(C110, 1 / 2) → sphere110
  225. Midpoint(Element[Ps, 111], (0, 0, 0)) → C111
  226. Sphere(C111, 1 / 2) → sphere111
  227. Midpoint(Element[Ps, 112], (0, 0, 0)) → C112
  228. Sphere(C112, 1 / 2) → sphere112
  229. Midpoint(Element[Ps, 113], (0, 0, 0)) → C113
  230. Sphere(C113, 1 / 2) → sphere113
  231. Midpoint(Element[Ps, 114], (0, 0, 0)) → C114
  232. Sphere(C114, 1 / 2) → sphere114
  233. Midpoint(Element[Ps, 115], (0, 0, 0)) → C115
  234. Sphere(C115, 1 / 2) → sphere115
  235. Midpoint(Element[Ps, 116], (0, 0, 0)) → C116
  236. Sphere(C116, 1 / 2) → sphere116
  237. Midpoint(Element[Ps, 117], (0, 0, 0)) → C117
  238. Sphere(C117, 1 / 2) → sphere117
  239. Midpoint(Element[Ps, 118], (0, 0, 0)) → C118
  240. Sphere(C118, 1 / 2) → sphere118
  241. Midpoint(Element[Ps, 119], (0, 0, 0)) → C119
  242. Sphere(C119, 1 / 2) → sphere119
  243. Midpoint(Element[Ps, 120], (0, 0, 0)) → C120
  244. Sphere(C120, 1 / 2) → sphere120
  245. Midpoint(Element[Ps, 121], (0, 0, 0)) → C121
  246. Sphere(C121, 1 / 2) → sphere121
  247. Midpoint(Element[Ps, 122], (0, 0, 0)) → C122
  248. Sphere(C122, 1 / 2) → sphere122
  249. Midpoint(Element[Ps, 123], (0, 0, 0)) → C123
  250. Sphere(C123, 1 / 2) → sphere123
  251. Midpoint(Element[Ps, 124], (0, 0, 0)) → C124
  252. Sphere(C124, 1 / 2) → sphere124
  253. Midpoint(Element[Ps, 125], (0, 0, 0)) → C125
  254. Sphere(C125, 1 / 2) → sphere125
  255. Midpoint(Element[Ps, 126], (0, 0, 0)) → C126
  256. Sphere(C126, 1 / 2) → sphere126
  257. Midpoint(Element[Ps, 127], (0, 0, 0)) → C127
  258. Sphere(C127, 1 / 2) → sphere127
  259. Midpoint(Element[Ps, 128], (0, 0, 0)) → C128
  260. Sphere(C128, 1 / 2) → sphere128
  261. Midpoint(Element[Ps, 129], (0, 0, 0)) → C129
  262. Sphere(C129, 1 / 2) → sphere129
  263. Midpoint(Element[Ps, 130], (0, 0, 0)) → C130
  264. Sphere(C130, 1 / 2) → sphere130
  265. Midpoint(Element[Ps, 131], (0, 0, 0)) → C131
  266. Sphere(C131, 1 / 2) → sphere131
  267. Midpoint(Element[Ps, 132], (0, 0, 0)) → C132
  268. Sphere(C132, 1 / 2) → sphere132
  269. Midpoint(Element[Ps, 133], (0, 0, 0)) → C133
  270. Sphere(C133, 1 / 2) → sphere133
  271. Midpoint(Element[Ps, 134], (0, 0, 0)) → C134
  272. Sphere(C134, 1 / 2) → sphere134
  273. Midpoint(Element[Ps, 135], (0, 0, 0)) → C135
  274. Sphere(C135, 1 / 2) → sphere135
  275. Midpoint(Element[Ps, 136], (0, 0, 0)) → C136
  276. Sphere(C136, 1 / 2) → sphere136
  277. Midpoint(Element[Ps, 137], (0, 0, 0)) → C137
  278. Sphere(C137, 1 / 2) → sphere137
  279. Midpoint(Element[Ps, 138], (0, 0, 0)) → C138
  280. Sphere(C138, 1 / 2) → sphere138
  281. Midpoint(Element[Ps, 139], (0, 0, 0)) → C139
  282. Sphere(C139, 1 / 2) → sphere139
  283. Midpoint(Element[Ps, 140], (0, 0, 0)) → C140
  284. Sphere(C140, 1 / 2) → sphere140

AI 绘图提示语参考

在三维空间中画出一个以原点为中心的球面,并在同一球面上按一组预先给定的点构造多个“中点球”。先生成一组球面点作为站点集合,然后分别取每个站点与原点的中点,得到一串中点;以这些中点为球心、半径为站点到原点中点对应的固定值(图中为 1/2)画出一系列球面。将这些球面在同一视角下共同显示,形成分区边界随约束竞争而变化的彩虹式分层效果。
以上提示语为根据原始绘图命令整理而来,仅供参考。