矩阵到三维曲面的转换

矩阵到三维曲面的转换
几何画板及绘图内容加载中,请稍等……
2018-01-14 22:38
①本范例演示如何将矩阵数据转换为三维曲面图形;②涉及的核心数学概念包括矩阵运算、三维空间表示、曲面生成;③作图要点:使用了 GeoGebra 的 Sequence 命令生成序列数据,Surface 命令绘制三维曲面,并涉及对象A到Z及列表对象liste1到liste4等;④适合高中及以上学生学习空间几何、数据可视化及矩阵应用。

GeoGebra 命令及参数

  1. Sequence(Surface[(x((Element[LP, i] * (1 - v)) + (Element[LP, i + 5] * v)) * (1 - u)) + (x((Element[LP, i + 1] * (1 - v)) + (Element[LP, i + 6] * v)) * u), (y((Element[LP, i] * (1 - u)) + (Element[LP, i + 1] * u)) * (1 - v)) + (y((Element[LP, i + 5] * (1 - u)) + (Element[LP, i + 6] * u)) * v), ((z(Element[LP, i]) * (1 - u)) * (1 - v)) + ((z(Element[LP, i + 1]) * u) * (1 - v)) + ((z(Element[LP, i + 5]) * (1 - u)) * v) + ((z(Element[LP, i + 6]) * u) * v), u, 0, 1, v, 0, 1], i, 1, 4) → liste1
  2. Surface((x((Element[LP, 1] * (1 - v)) + (Element[LP, 6] * v)) * (1 - u)) + (x((Element[LP, 2] * (1 - v)) + (Element[LP, 7] * v)) * u), (y((Element[LP, 1] * (1 - u)) + (Element[LP, 2] * u)) * (1 - v)) + (y((Element[LP, 6] * (1 - u)) + (Element[LP, 7] * u)) * v), ((z(Element[LP, 1]) * (1 - u)) * (1 - v)) + ((z(Element[LP, 2]) * u) * (1 - v)) + ((z(Element[LP, 6]) * (1 - u)) * v) + ((z(Element[LP, 7]) * u) * v), u, 0, 1, v, 0, 1) → a
  3. Sequence(Surface[(x((Element[LP, i] * (1 - v)) + (Element[LP, i + 5] * v)) * (1 - u)) + (x((Element[LP, i + 1] * (1 - v)) + (Element[LP, i + 6] * v)) * u), (y((Element[LP, i] * (1 - u)) + (Element[LP, i + 1] * u)) * (1 - v)) + (y((Element[LP, i + 5] * (1 - u)) + (Element[LP, i + 6] * u)) * v), ((z(Element[LP, i]) * (1 - u)) * (1 - v)) + ((z(Element[LP, i + 1]) * u) * (1 - v)) + ((z(Element[LP, i + 5]) * (1 - u)) * v) + ((z(Element[LP, i + 6]) * u) * v), u, 0, 1, v, 0, 1], i, 6, 9) → liste2
  4. Sequence(Surface[(x((Element[LP, i] * (1 - v)) + (Element[LP, i + 5] * v)) * (1 - u)) + (x((Element[LP, i + 1] * (1 - v)) + (Element[LP, i + 6] * v)) * u), (y((Element[LP, i] * (1 - u)) + (Element[LP, i + 1] * u)) * (1 - v)) + (y((Element[LP, i + 5] * (1 - u)) + (Element[LP, i + 6] * u)) * v), ((z(Element[LP, i]) * (1 - u)) * (1 - v)) + ((z(Element[LP, i + 1]) * u) * (1 - v)) + ((z(Element[LP, i + 5]) * (1 - u)) * v) + ((z(Element[LP, i + 6]) * u) * v), u, 0, 1, v, 0, 1], i, 11, 14) → liste3
  5. Sequence(Surface[(x((Element[LP, i] * (1 - v)) + (Element[LP, i + 5] * v)) * (1 - u)) + (x((Element[LP, i + 1] * (1 - v)) + (Element[LP, i + 6] * v)) * u), (y((Element[LP, i] * (1 - u)) + (Element[LP, i + 1] * u)) * (1 - v)) + (y((Element[LP, i + 5] * (1 - u)) + (Element[LP, i + 6] * u)) * v), ((z(Element[LP, i]) * (1 - u)) * (1 - v)) + ((z(Element[LP, i + 1]) * u) * (1 - v)) + ((z(Element[LP, i + 5]) * (1 - u)) * v) + ((z(Element[LP, i + 6]) * u) * v), u, 0, 1, v, 0, 1], i, 16, 19) → liste4