直角坐标系绘图工具
几何画板及绘图内容加载中,请稍等……
该范例演示如何在 GeoGebra 中构建一个可自定义宽高、刻度与标签的直角坐标系绘图工具,用于展示坐标平面上的点、向量与图形。涉及解析几何、坐标几何、向量运算以及函数图像绘制等核心数学概念。作图要点:使用 Sequence 生成刻度列表与坐标标记,Text 与 DynamicCoordinates 实现动态坐标显示,Vector 绘制坐标轴与箭头,If 控制条件显示与标签切换;涉及对象包括 width、height、xaxis、yaxis、xlist、ylist、xmark、ymark 等。适合中学阶段(初中至高中)解析几何教学,以及教师制作坐标系课件、学生探究函数图像与向量几何意义的课堂示范。
GeoGebra 命令及参数
Sequence(Segment[(width, (-i)), (0, (-i))], i, 0, height) → HL0Sequence(Segment[(i, (-height)), (i, 0)], i, 0, width) → VL0Sequence(Sequence[Segment[(i + (j * 1 / div), (-height)), (i + (j * 1 / div), 0)], j, 1, div - 1], i, 0, width - 1) → VL1Sequence(Sequence[Segment[(width, (-i) - (j * 1 / div)), (0, (-i) - (j * 1 / div), 0)], j, 1, div - 1], i, 0, height - 1) → VL2Text("Rectangular Coordinate System Drawing Tool") → text1Sequence((i, 0.5), i, 1, width - 1) → xlistSequence((width + 0.5, (-i)), i, 1, height - 1) → ylistDynamicCoordinates(XX, x(ClosestPoint[xlist, XX]), 0.5) → XDynamicCoordinates(YY, width + 0.5, y(ClosestPoint[ylist, YY])) → YSequence(Segment[(i, y(Y)), (i, y(Y) - 0.2)], i, 1, width - 1) → xmarkSequence(Segment[(x(X), (-i)), (x(X) - 0.2, (-i))], i, 1, height - 1) → ymarkSequence(i - x(X), i, 1, width - 1) → xlabSequence(i - height - y(Y), i, 1, height - 1) → ylabSequence(If[xlab(i) ≤ -10, Element[xd, 3], If[xlab(i) < 0 ∨ xlab(i) ≥ 10, Element[xd, 2], Element[xd, 1]]], i, 1, width - 1) → xdlistSequence(If[xlab(i) ≤ -10, Element[xd, 3], If[xlab(i) < 0 ∨ xlab(i) ≥ 10, Element[xd, 2], Element[xd, 1]]], i, 1, width - 1) → l1Sequence(If[ylab(i) ≤ -10, Element[yd, 3], If[ylab(i) < 0 ∨ ylab(i) ≥ 10, Element[yd, 2], Element[yd, 1]]], i, 1, height - 1) → ydlistSequence(Text[xlab(i), (i - xdlist(i), y(Y) - 0.6), true], i, x(X) + 1, width - 1) → pxlabelSequence(Text[xlab(i), (i - xdlist(i), y(Y) - 0.6), true], i, 1, x(X) - 1) → nxlabelSequence(Text[ylab(height - i), (x(X) - ydlist(height - i), (-i) - 0.12), true], i, 1, (-y(Y)) - 1) → pylabelSequence(Text[ylab(i), (x(X) - ydlist(i), (-height) + i - 0.12), true], i, 1, height + y(Y) - 1) → nylabelVector((0, y(Y)), (width - 0.25, y(Y))) → xaxisVector((x(X), (-height)), (x(X), -0.25)) → yaxisIf(width > 2 ∧ height > 2, x(X) - 0.3, If[width > 2, x(X) - xd(1), x(X) - yd(1)]) → zxIf(width > 2 ∧ height > 2, y(Y) - 0.4, If[width > 2, y(Y) - 0.6, y(Y) - 0.12]) → zyText(0, (zx, zy)) → zero