圆柱上的变形投影(柱面歪像)
几何画板及绘图内容加载中,请稍等……
本范例演示如何将一个平面图形通过投影映射到圆柱面上,形成一种被称为“变形投影”或“歪像”的视觉效果。核心数学概念涉及三维空间中的投影变换、圆柱面的参数化以及平面与曲面之间的几何对应关系。作图要点包括:使用GeoGebra的OrthogonalPlane、PointIn、Line、Ray、Circle、Cylinder等命令构建圆柱和投影线;通过Mirror、Translate、Rotate等变换操作实现平面图形的映射;利用Locus和LocusEquation追踪投影点的轨迹;并借助Sequence、List等对象批量处理点列。该范例适合高中或大学阶段的立体几何、解析几何或计算机图形学课程,帮助学生直观理解非平面投影的数学原理与几何构造。
GeoGebra 命令及参数
OrthogonalPlane(O, xAxis) → wPointIn(w) → HLine(A, xAxis) → fPoint(f) → CRay(A, C) → gPoint(g) → BIf(abs(x(B_f) - x(B)) ≤ abs(x(B_c) - x(B)), B_f, B_c) → B'Sequence(Segment[(x(A) + i, y(A)), (x(A) + i, y(A) + x(B') - x(A))], i, 0, x(B') - x(A), 1) → list1Circle((0, 0), r) → cSequence(Segment[(x(A), y(A) + i), (x(B'), y(A) + i)], i, 0, x(B') - x(A), 1) → list2Mirror(list1, c) → list1'Mirror(list2, c) → list2'Cylinder(c, 24.735270934851805) → a, d, bPoint(list1) → F_2Polygon(D, E, F_2) → poly1, f_1, d_1, ePoint(poly1) → GMirror(G, c) → G'LocusEquation(G', G) → iLocus(G', G) → loc1Point(d) → IPoint(d) → JPoint(d) → KLineBisector(I, J, d) → jLineBisector(J, K, d) → lIntersect(j, l) → LIntersect(c, xAxis) → M, NPoint(list1) → PVector(P, L) → uTranslate(M, u) → M'Translate(N, u) → N'Polygon(M, N, N', M') → poly2, m, n_1, n', m'Sequence(Segment[(x(M) + i, 0, z(M)), (x(M) + i, 0, z(M) + m')], i, 0, m, m / n) → list3Sequence(Segment[(x(M), 0, z(M) + i), (x(N), 0, z(N) + i)], i, 0, m', m' / n) → list4Plane(M', N', N) → hPointIn(poly2) → QPointIn(poly2) → RPointIn(poly2) → SPolygon(Q, S, R) → poly3, r_1, q, sPoint(poly3) → TSegment(H, T) → pOrthogonalLine(H, xOyPlane) → tIntersect(t, xOyPlane) → UPlane(U, T, H) → oIntersectPath(o, a) → c_1Corner(c_1) → V, W, Z, A_1OrthogonalLine(T, t, o) → g_1Mirror(H, g_1) → H'Mirror(T, g_1) → T'Segment(H', T') → p'Line(T, H') → h_1Intersect(p, c_1) → C_1, D_1Plane(O, xOyPlane) → vLine(D_1, g_1) → i_1Line(D_1, h_1) → j_1Intersect(j_1, xOyPlane) → B_1PointIn(w) → E_1Locus(D_1, T) → loc3Locus(B_1, T) → loc4Circle(O, M, v) → e_1PointIn(h) → FLine(H, zAxis) → k_1Intersect(k_1, v) → G_1Plane(G_1, F, H) → a_1OrthogonalLine(F, k_1, a_1) → l_1IntersectPath(a_1, a) → p_1Corner(p_1) → H_1, I_1, J_1, K_1Line(F, H) → m_1Intersect(m_1, p_1) → L_1, M_1Line(L_1, l_1) → q_1Mirror(m_1, q_1) → s_1Intersect(s_1, v) → N_1