百分比变化双数轴图
几何画板及绘图内容加载中,请稍等……
该范例展示了百分比变化的双数轴图,从0到200%。用户可以调整整个数值范围,从0.1到100。通过使用GeoGebra命令如If, Point, Segment, Textfield等,可以动态展示百分比变化的过程。适合初中及以上学生学习百分比变化的概念。
GeoGebra 命令及参数
If(q2 < 100, 100, If[q2 < 500, 10, 1]) → roundingFactorDNL2valuesPoint(Segment[(0, 0.85), (4.3, 0.85)]) → slidePtIf(q2 ≥ 0 ∧ q2 ≤ 0.1, 0.1, round((roundingFactorDNL2values * q2)) / roundingFactorDNL2values) → q2rndIf(q1 < 100, 100, If[q1 < 500, 10, 1]) → roundingFactorDNL1valuesIf(q1 ≥ 0 ∧ q1 ≤ 0.1, 0.1, If[q1 < 25, round((100 * q1)) / 100, If[q1 < 75, round((10 * q1)) / 10, If[q1 > 100, 100, round(q1)]]]) → q1rndSegment(A, DNL2ArrowPt) → lineDNL1Segment(B, DNL1ArrowPt) → lineDNL2If(hatchMinor ≟ 3 ∨ hatchMinor ≟ 6 ∨ hatchMinor ≟ 7 ∨ hatchMinor ≟ 9, -0.2, -0.15) → topxOffSetTextfield(q2labelForLengthAlwaysShow) → q2blabelInputSegment(slidePt + (0, 1.7), slidePt - (0, 1.75)) → slideSegText(0, (x(A) - 0.035, y(A) - (1.7 * yOffSet))) → zeroDNL2Sequence(((length * k), 0), k, 0, 4, 2) → hashMajorDNL2Sequence(((length * k), h), k, 0, 4, 2) → hashMajorDNL1Sequence((k, h), k, 0, 4.3, ((2 * length)) / hatchMinor) → hashMinorDNL1Sequence((k, 0), k, 0, 4.3, ((2 * length)) / hatchMinor) → hashMinorDNL2Text("0%", (x(B) - 0.087, y(B) + yOffSet)) → zeroDNL1Sequence(Text[(50 * q) + "%", ((length * q) + topxOffSet, y(B) + yOffSet)], q, If[hatchMinor ≟ 7 ∨ hatchMinor ≟ 9, 6 / hatchMinor, If[hatchMinor ≤ 5, 2 / hatchMinor, 4 / hatchMinor]], If[hatchMinor ≟ 3 ∨ hatchMinor ≟ 6 ∨ hatchMinor ≟ 9, 3.5, 4], If[hatchMinor ≟ 7 ∨ hatchMinor ≟ 9, 6 / hatchMinor, If[hatchMinor ≤ 5, 2 / hatchMinor, 4 / hatchMinor]]) → hashMarkValuesTextDNL1Polygon((1.5, 1.9), (2.2, 1.9), (2.2, 2.3), (1.5, 2.3)) → dnl1HatchMinorHide, f, g, i, jSequence(Text[((0.5 * p) * q2), ((length * p) + xOffSet, y(A) - (1.7 * yOffSet))], p, If[hatchMinor ≟ 7 ∨ hatchMinor ≟ 9, 6 / hatchMinor, If[hatchMinor ≤ 5, 2 / hatchMinor, 4 / hatchMinor]], 4, If[hatchMinor ≟ 7 ∨ hatchMinor ≟ 9, 6 / hatchMinor, If[hatchMinor ≤ 5, 2 / hatchMinor, 4 / hatchMinor]]) → hashMarkValuesTextDNL2Mirror(dnl1HatchMinorHide, y = h / 2) → dnl2HatchMinorHideVector(((2 * length), (0.5 * h)), If[slidePtMovedCk, slidePt - (0.03, 0), slidePt + (0.5, 0)]) → markUpArrowVector(((2 * length), (0.5 * h)), If[slidePtMovedCk, slidePt + (0.03, 0), slidePt - (0.5, 0)]) → markDownArrowTextfield(q2inputTextToParse) → q2avalueInputTextfield(locationXq2InputTextToParse) → locationXq2InputTextfield(locationXq1InputTextToParse) → locationXq1Input