立体几何的正投影
几何画板及绘图内容加载中,请稍等……
这个范例演示了立体几何中正投影的概念。通过构造立方体及其正投影,展示了如何从三维空间到二维平面的投影过程。使用了点、立方体、平移向量等GeoGebra命令。适合初中及以上学生学习立体几何和投影变换。
GeoGebra 命令及参数
Point(Circle[B, Distance[A, B], Segment[A, B]]) → CPoint(Circle[J, Distance[I, J], Segment[I, J]]) → KPoint(Circle[R, Distance[Q, R], Segment[Q, R]]) → SPoint(Circle[H_1, Distance[G_1, H_1], Segment[G_1, H_1]]) → I_1Cube(G_1, H_1, I_1) → e_1, J_1, face11, facez, edge13, edge12, edge15, edge17, edge14, edge19, edge21, edge20, K_1, edge16, edge22, edge18, edge23, L_1, M_1, N_1, face7, face9, facey, facexTranslate(Cube[(0, 0), (1, 0), Point[Circle[(1, 0), Distance[(0, 0), (1, 0)], Segment[(0, 0), (1, 0)]]]], Vector[(0, 0), (2, 1)]) → fTranslate(Cube[(0, 0), (1, 0), Point[Circle[(1, 0), Distance[(0, 0), (1, 0)], Segment[(0, 0), (1, 0)]]]], Vector[(0, 0), (1, 0)]) → gTranslate(Cube[(0, 0), (1, 0), Point[Circle[(1, 0), Distance[(0, 0), (1, 0)], Segment[(0, 0), (1, 0)]]]], Vector[(0, 0), (1, 1, 1)]) → hTranslate(Cube[(0, 0), (1, 0), Point[Circle[(1, 0), Distance[(0, 0), (1, 0)], Segment[(0, 0), (1, 0)]]]], Vector[(0, 0), (1, 1)]) → eTranslate(Cube[(0, 0), (1, 0), Point[Circle[(1, 0), Distance[(0, 0), (1, 0)], Segment[(0, 0), (1, 0)]]]], Vector[(0, 0), (1, 1)]) → e'Translate(facex, Vector[(0, 0, 0), (0, -1, 0)]) → facex010Translate(facey, Vector[(0, 0), (1, 0, 0)]) → facey100Translate(Cube[(0, 0), (1, 0), Point[Circle[(1, 0), Distance[(0, 0), (1, 0)], Segment[(0, 0), (1, 0)]]]], Vector[(2, 0)]) → aTranslate(facez, Vector[(0, 0, 0), (0, -1, 0)]) → facez010Translate(facey, Vector[(0, 0, 1)]) → facey001Translate(Cube[(0, 0), (1, 0), Point[Circle[(1, 0), Distance[(0, 0), (1, 0)], Segment[(0, 0), (1, 0)]]]], Vector[(1, 0, 1)]) → bTranslate(facey, Vector[(0, -1, 0)]) → facey010Translate(Cube[(0, 0), (1, 0), Point[Circle[(1, 0), Distance[(0, 0), (1, 0)], Segment[(0, 0), (1, 0)]]]], Vector[(1, -1)]) → cTranslate(facey, Vector[(1, -1, 0)]) → facey110Translate(facex, Vector[(0, -2, 0)]) → facex020Translate(Cube[(0, 0), (1, 0), Point[Circle[(1, 0), Distance[(0, 0), (1, 0)], Segment[(0, 0), (1, 0)]]]], Vector[(2, -1)]) → dTranslate(facey, Vector[(0, -2, 0)]) → facey020Translate(Cube[(0, 0), (1, 0), Point[Circle[(1, 0), Distance[(0, 0), (1, 0)], Segment[(0, 0), (1, 0)]]]], Vector[(1, -2)]) → iTranslate(facey, Vector[(1, -2, 0)]) → facey120Translate(facex, Vector[(0, -3, 0)]) → facex030Translate(Cube[(0, 0), (1, 0), Point[Circle[(1, 0), Distance[(0, 0), (1, 0)], Segment[(0, 0), (1, 0)]]]], Vector[(2, -2)]) → jTranslate(facex, Vector[(1, 0, 0)]) → facex100Translate(Cube[(0, 0), (1, 0), Point[Circle[(1, 0), Distance[(0, 0), (1, 0)], Segment[(0, 0), (1, 0)]]]], Vector[(3, 1)]) → kTranslate(facex, Vector[(1, -1, 0)]) → facex110Translate(facey, Vector[(2, 0, 0)]) → facey200Translate(Cube[(0, 0), (1, 0), Point[Circle[(1, 0), Distance[(0, 0), (1, 0)], Segment[(0, 0), (1, 0)]]]], Vector[(3, 0)]) → lTranslate(facey, Vector[(2, -1, 0)]) → facey210Translate(facex, Vector[(1, -2, 0)]) → facex120Translate(Cube[(0, 0), (1, 0), Point[Circle[(1, 0), Distance[(0, 0), (1, 0)], Segment[(0, 0), (1, 0)]]]], Vector[(3, -1)]) → mTranslate(facey, Vector[(2, -2, 0)]) → facey220Translate(facex, Vector[(1, -3, 0)]) → facex130Translate(Cube[(0, 0), (1, 0), Point[Circle[(1, 0), Distance[(0, 0), (1, 0)], Segment[(0, 0), (1, 0)]]]], Vector[(3, -2)]) → nTranslate(facey, Vector[(0, -1, 1)]) → facey011Translate(facez, Vector[(0, -2, 0)]) → facez020Translate(Cube[(0, 0), (1, 0), Point[Circle[(1, 0), Distance[(0, 0), (1, 0)], Segment[(0, 0), (1, 0)]]]], Vector[(1, -1, 1)]) → oTranslate(facez, Vector[(0, -3, 0)]) → facez030Translate(facey, Vector[(0, -2, 1)]) → facey021Translate(Cube[(0, 0), (1, 0), Point[Circle[(1, 0), Distance[(0, 0), (1, 0)], Segment[(0, 0), (1, 0)]]]], Vector[(1, -2, 1)]) → pTranslate(facex, Vector[(0, 0, 1)]) → facex001Translate(facez, Vector[(1, 0, 0)]) → facez100Translate(Cube[(0, 0), (1, 0), Point[Circle[(1, 0), Distance[(0, 0), (1, 0)], Segment[(0, 0), (1, 0)]]]], Vector[(2, 1, 1)]) → qTranslate(facex, Vector[(0, -1, 1)]) → facex011Translate(facey, Vector[(1, 0, 1)]) → facey101Translate(facez, Vector[(1, -1, 0)]) → facez110Translate(Cube[(0, 0), (1, 0), Point[Circle[(1, 0), Distance[(0, 0), (1, 0)], Segment[(0, 0), (1, 0)]]]], Vector[(2, 0, 1)]) → rTranslate(facex, Vector[(0, -2, 1)]) → facex021Translate(facey, Vector[(1, -1, 1)]) → facey111Translate(facez, Vector[(1, -2, 0)]) → facez120Translate(Cube[(0, 0), (1, 0), Point[Circle[(1, 0), Distance[(0, 0), (1, 0)], Segment[(0, 0), (1, 0)]]]], Vector[(2, -1, 1)]) → sTranslate(facex, Vector[(0, -3, 1)]) → facex031Translate(facey, Vector[(1, -2, 1)]) → facey121Translate(facez, Vector[(1, -3, 0)]) → facez130Translate(Cube[(0, 0), (1, 0), Point[Circle[(1, 0), Distance[(0, 0), (1, 0)], Segment[(0, 0), (1, 0)]]]], Vector[(2, -2, 1)]) → tTranslate(Cube[(0, 0), (1, 0), Point[Circle[(1, 0), Distance[(0, 0), (1, 0)], Segment[(0, 0), (1, 0)]]]], Vector[(0, 0), (2, 1)]) → f'Translate(Cube[(0, 0), (1, 0), Point[Circle[(1, 0), Distance[(0, 0), (1, 0)], Segment[(0, 0), (1, 0)]]]], Vector[(2, 0)]) → a'Translate(Cube[(0, 0), (1, 0), Point[Circle[(1, 0), Distance[(0, 0), (1, 0)], Segment[(0, 0), (1, 0)]]]], Vector[(0, 0), (1, 0)]) → g'Translate(Cube[(0, 0), (1, 0), Point[Circle[(1, 0), Distance[(0, 0), (1, 0)], Segment[(0, 0), (1, 0)]]]], Vector[(1, -1)]) → c'Translate(Cube[(0, 0), (1, 0), Point[Circle[(1, 0), Distance[(0, 0), (1, 0)], Segment[(0, 0), (1, 0)]]]], Vector[(1, -2)]) → i'Translate(Cube[(0, 0), (1, 0), Point[Circle[(1, 0), Distance[(0, 0), (1, 0)], Segment[(0, 0), (1, 0)]]]], Vector[(2, -1)]) → d'Translate(Cube[(0, 0), (1, 0), Point[Circle[(1, 0), Distance[(0, 0), (1, 0)], Segment[(0, 0), (1, 0)]]]], Vector[(2, -2)]) → j'Translate(Cube[(0, 0), (1, 0), Point[Circle[(1, 0), Distance[(0, 0), (1, 0)], Segment[(0, 0), (1, 0)]]]], Vector[(0, 0), (1, 1, 1)]) → h'Translate(Cube[(0, 0), (1, 0), Point[Circle[(1, 0), Distance[(0, 0), (1, 0)], Segment[(0, 0), (1, 0)]]]], Vector[(1, 0, 1)]) → b'Translate(Cube[(0, 0), (1, 0), Point[Circle[(1, 0), Distance[(0, 0), (1, 0)], Segment[(0, 0), (1, 0)]]]], Vector[(1, -1, 1)]) → o'Translate(Cube[(0, 0), (1, 0), Point[Circle[(1, 0), Distance[(0, 0), (1, 0)], Segment[(0, 0), (1, 0)]]]], Vector[(1, -2, 1)]) → p'Translate(Cube[(0, 0), (1, 0), Point[Circle[(1, 0), Distance[(0, 0), (1, 0)], Segment[(0, 0), (1, 0)]]]], Vector[D]) → b_1Translate(facez, Vector[(2, 0, 0)]) → facez200Translate(facex, Vector[(1, 0, 1)]) → facex101Translate(Cube[(0, 0), (1, 0), Point[Circle[(1, 0), Distance[(0, 0), (1, 0)], Segment[(0, 0), (1, 0)]]]], Vector[(3, 1, 1)]) → uTranslate(facez, Vector[(2, -1, 0)]) → facez210Translate(facex, Vector[(1, -1, 1)]) → facex111Translate(facey, Vector[(2, 0, 1)]) → facey201Translate(Cube[(0, 0), (1, 0), Point[Circle[(1, 0), Distance[(0, 0), (1, 0)], Segment[(0, 0), (1, 0)]]]], Vector[(3, 0, 1)]) → vTranslate(facez, Vector[(2, -2, 0)]) → facez220Translate(facex, Vector[(1, -2, 1)]) → facex121Translate(facey, Vector[(2, -1, 1)]) → facey211Translate(Cube[(0, 0), (1, 0), Point[Circle[(1, 0), Distance[(0, 0), (1, 0)], Segment[(0, 0), (1, 0)]]]], Vector[(3, -1, 1)]) → wTranslate(facez, Vector[(2, -3, 0)]) → facez230Translate(facex, Vector[(1, -3, 1)]) → facex131Translate(facey, Vector[(2, -2, 1)]) → facey221Translate(Cube[(0, 0), (1, 0), Point[Circle[(1, 0), Distance[(0, 0), (1, 0)], Segment[(0, 0), (1, 0)]]]], Vector[(3, -2, 1)]) → a_1Translate(Cube[(0, 0), (1, 0), Point[Circle[(1, 0), Distance[(0, 0), (1, 0)], Segment[(0, 0), (1, 0)]]]], Vector[(2, 1, 1)]) → q'Translate(Cube[(0, 0), (1, 0), Point[Circle[(1, 0), Distance[(0, 0), (1, 0)], Segment[(0, 0), (1, 0)]]]], Vector[(2, 0, 1)]) → r'Translate(Cube[(0, 0), (1, 0), Point[Circle[(1, 0), Distance[(0, 0), (1, 0)], Segment[(0, 0), (1, 0)]]]], Vector[(2, -1, 1)]) → s'Translate(Cube[(0, 0), (1, 0), Point[Circle[(1, 0), Distance[(0, 0), (1, 0)], Segment[(0, 0), (1, 0)]]]], Vector[(2, -2, 1)]) → t'Translate(Cube[(0, 0), (1, 0), Point[Circle[(1, 0), Distance[(0, 0), (1, 0)], Segment[(0, 0), (1, 0)]]]], Vector[(3, 1, 1)]) → u'Translate(Cube[(0, 0), (1, 0), Point[Circle[(1, 0), Distance[(0, 0), (1, 0)], Segment[(0, 0), (1, 0)]]]], Vector[(3, 0, 1)]) → v'Translate(Cube[(0, 0), (1, 0), Point[Circle[(1, 0), Distance[(0, 0), (1, 0)], Segment[(0, 0), (1, 0)]]]], Vector[(3, -1, 1)]) → w'Translate(Cube[(0, 0), (1, 0), Point[Circle[(1, 0), Distance[(0, 0), (1, 0)], Segment[(0, 0), (1, 0)]]]], Vector[(3, -2, 1)]) → a_1'Translate(Cube[(0, 0), (1, 0), Point[Circle[(1, 0), Distance[(0, 0), (1, 0)], Segment[(0, 0), (1, 0)]]]], Vector[(3, 1)]) → k'Translate(Cube[(0, 0), (1, 0), Point[Circle[(1, 0), Distance[(0, 0), (1, 0)], Segment[(0, 0), (1, 0)]]]], Vector[(3, 0)]) → l'Translate(Cube[(0, 0), (1, 0), Point[Circle[(1, 0), Distance[(0, 0), (1, 0)], Segment[(0, 0), (1, 0)]]]], Vector[(3, -1)]) → m'Translate(Cube[(0, 0), (1, 0), Point[Circle[(1, 0), Distance[(0, 0), (1, 0)], Segment[(0, 0), (1, 0)]]]], Vector[(3, -2)]) → n'Translate(Prism[Polygon[(-5, 2, 0), (-5, -2, 0), (-2, -2, 0), (-2, 2, 0)], (-5, 2, 2)], Vector[(0, 0)]) → c_1Translate(Prism[Polygon[(-5, 2, 0), (-5, -2, 0), (-2, -2, 0), (-2, 2, 0)], (-5, 2, 2)], Vector[(0, 0)]) → d_1Translate(Polygon[(-5, 1, 0), (-2, 1, 0), (-2, 1, 2), (-5, 1, 2)], Vector[(0, 0)]) → poly1Translate(Polygon[(-5, 0, 0), (-2, 0, 0), (-2, 0, 2), (-5, 0, 2)], Vector[(0, 0)]) → poly2Translate(Polygon[(-5, -1, 0), (-2, -1, 0), (-2, -1, 2), (-5, -1, 2)], Vector[(0, 0)]) → poly3Translate(Polygon[(-4, 2, 0), (-4, -2, 0), (-4, -2, 2), (-4, 2, 2)], Vector[(0, 0)]) → poly4Translate(Polygon[(-3, 2, 0), (-3, -2, 0), (-3, -2, 2), (-3, 2, 2)], Vector[(0, 0)]) → poly5Translate(Polygon[(-5, -2, 1), (-2, -2, 1), (-2, 2, 1), (-5, 2, 1)], Vector[(0, 0)]) → poly6Vector((1, -4, 0), (1, -3, 0)) → u_1Vector((7, 2, 0), (6, 2, 0)) → v_1Vector((1, 2, 3.5), (1, 2, 2.5)) → w_1Segment((1, -3, 0), (1, -4, 0)) → f_1Segment((6, 2, 0), (7, 2, 0)) → g_1Segment((1, 2, 2.5), (1, 2, 3.5)) → h_1
AI 绘图提示语参考
在三维坐标系中先构造一个立方体,并保留其若干面与棱作为可投影的对象。以该立方体为基础,依次得到同尺寸立方体在不同平移位置处的多组面(例如把立方体沿不同方向平移到若干层),同时在画面中显示这些被移动得到的面片之间的对应关系。重点呈现从三维到二维平面的正交投影效果:让立方体的各个面在不同平移位置形成清晰的投影示意,从而直观看到各方向上的投影关系与几何关系。
以上提示语为根据原始绘图命令整理而来,仅供参考。