Zauberkessel Challenge: Geometry-based puzzle with conics and trig construction
Loading the math board and drawing, please wait…
In collections
Addieren und Subtrahieren von ganzen und rationalen Zahlen
This interactive GeoGebra example demonstrates a challenge-and-validation workflow: students receive randomly generated tasks and must input answers to check correctness, while the underlying diagram is built from geometric primitives. The main mathematics includes integer addition/subtraction for question data, conic geometry (notably ellipses), and construction techniques using unit orthogonal v
GeoGebra Commands & Parameters
If(mixed, Shuffle[1…numberOfQuestions], 1…numberOfQuestions) → randomQuestionsElement(randomQuestions, questionCount) → actualQuestionIf(actualQuestion ∈ {1, 2, 3, 4, 5, 8, 9}, (10.5, 1.4), actualQuestion ∈ {7}, (0.5, 2.5), (10.5, 0)) → PosZK1Element({-8, 5, 1, -5, 6, 3, 2, 1, 7}, actualQuestion) → numberStone1Element({3, -3, 1, 7, 2, 6, -6, 5, -2}, actualQuestion) → numberStone2Element({1, -4, 1, -4, -7, -1, -7, -4, 8}, actualQuestion) → numberStone3Element({-6, 1, 1, -1, 1, -3, 3, 1, -6}, actualQuestion) → numberStone4Element({-1, -2, 1, 3, 4, -5, 1, -5, 1}, actualQuestion) → numberStone5Element({7, 1, 1, -2, -2, 2, 1, 5, 1}, actualQuestion) → numberStone6Element({1, 1, 1, 6, -3, 1, 1, 1, 1}, actualQuestion) → numberStone7Sequence(IsInRegion[AllPStones(k), RegionZK(1)], k, 1, Length[AllPStones]) → StoneInRegionSum(Sequence[If[StoneInRegion(k), AllNumbersStones(k), 0], k, 1, Length[AllNumbersStones]]) → actualTemperatureIf(0 < questionCount ≤ numberOfQuestions, Element[{correct01, correct02, correct03, correct04, correct05, correct06, correct07, correct08, correct09}, actualQuestion], false) → correctElement(randomQuestions, Mod[questionCount - 1, Length[randomQuestions]] + 1) → randomQuestionTextfield(input) → inputBoxJoin({Sequence[Segment[Corner[4] + (RasterPixMat * ((k * RasterStepXY), 0)), Corner[4] + (RasterPixMat * ((k * RasterStepXY), RasterMaxY))], k, 0, RasterMaxX / RasterStepXY], Sequence[Segment[Corner[4] + (RasterPixMat * (0, (k * RasterStepXY))), Corner[4] + (RasterPixMat * (RasterMaxX, (k * RasterStepXY)))], k, 0, RasterMaxY / RasterStepXY]}) → RasterStreckenJoin({Sequence[Text[UnicodeToLetter[65 + k], Midpoint[Corner[4] + (RasterPixMat * ((k * RasterStepXY), RasterMaxY)), Corner[4] + (RasterPixMat * (((k + 1) * RasterStepXY), RasterMaxY))], false, true, 0, -1], k, 0, RasterMaxX / RasterStepXY - 1], Sequence[Text[("" * k), Midpoint[Corner[4] + (RasterPixMat * (RasterMaxX, ((k - 1) * RasterStepXY))), Corner[4] + (RasterPixMat * (RasterMaxX, (k * RasterStepXY)))], false, true, 1, 0], k, 1, RasterMaxY / RasterStepXY]}) → RasterBeschriftungSequence(Sequence[Corner[4] + (RasterPixMat * ((k * RasterStepXY), (m * RasterStepXY))), k, 0, RasterMaxX / RasterStepXY], m, 0, RasterMaxY / RasterStepXY) → RasterPunkteTextfield(input021) → InputBox021Textfield(input061) → InputBox061Text("\bold{✘ \vphantom{✘✓}}", Midpoint[Vertex[polyOption091(1), 2], Vertex[polyOption091(1), 3]], false, true, 1, 0) → txtFB091Text("\bold{✘ \vphantom{✘✓}}", Midpoint[Vertex[polyOption092(1), 2], Vertex[polyOption092(1), 3]], false, true, 1, 0) → txtFB092Text("\bold{✓ \vphantom{✘✓}}", Midpoint[Vertex[polyOption093(1), 2], Vertex[polyOption093(1), 3]], false, true, 1, 0) → txtFB093Ellipse(Midpoint[PointsAZK(1), PointsAZK(2)] + (sqrt(Distance[PointsAZK(2), Midpoint[PointsAZK(1), PointsAZK(2)]]^(2) - Distance[PointsBZK(2), Midpoint[PointsAZK(1), PointsAZK(2)]]^(2)), 0), Midpoint[PointsAZK(1), PointsAZK(2)] + ((-sqrt(Distance[PointsAZK(2), Midpoint[PointsAZK(1), PointsAZK(2)]]^(2) - Distance[PointsBZK(2), Midpoint[PointsAZK(1), PointsAZK(2)]]^(2))), 0), Distance[PointsAZK(1), PointsAZK(2)] / 2) → ellZKSequence(((dimStoneA * cos(k°)), (dimStoneB * sin(k°))), k, 0, 360, 5) → PointStoneText((("\textsf{\bold{\textcolor{white}{" * If[showMinusStone, (If[numberStone1 > 0, "+", numberStone1 ≟ 0, "\phantom{+}", "\(-\)"] * abs(numberStone1)), (abs(numberStone1) * "")]) * "}}}"), PStone1 + (0, 0.05), false, true, 0, 0) → txtStone1Text((("\textsf{\bold{\textcolor{white}{" * If[showMinusStone, (If[numberStone2 > 0, "+", numberStone2 ≟ 0, "\phantom{+}", "\(-\)"] * abs(numberStone2)), (abs(numberStone2) * "")]) * "}}}"), PStone2 + (0, 0.05), false, true, 0, 0) → txtStone2Text((("\textsf{\bold{\textcolor{white}{" * If[showMinusStone, (If[numberStone3 > 0, "+", numberStone3 ≟ 0, "\phantom{+}", "\(-\)"] * abs(numberStone3)), (abs(numberStone3) * "")]) * "}}}"), PStone3 + (0, 0.05), false, true, 0, 0) → txtStone3Text((("\textsf{\bold{\textcolor{white}{" * If[showMinusStone, (If[numberStone4 > 0, "+", numberStone4 ≟ 0, "\phantom{+}", "\(-\)"] * abs(numberStone4)), (abs(numberStone4) * "")]) * "}}}"), PStone4 + (0, 0.05), false, true, 0, 0) → txtStone4Text((("\textsf{\bold{\textcolor{white}{" * If[showMinusStone, (If[numberStone5 > 0, "+", numberStone5 ≟ 0, "\phantom{+}", "\(-\)"] * abs(numberStone5)), (abs(numberStone5) * "")]) * "}}}"), PStone5 + (0, 0.05), false, true, 0, 0) → txtStone5Text((("\textsf{\bold{\textcolor{white}{" * If[showMinusStone, (If[numberStone6 > 0, "+", numberStone6 ≟ 0, "\phantom{+}", "\(-\)"] * abs(numberStone6)), (abs(numberStone6) * "")]) * "}}}"), PStone6 + (0, 0.05), false, true, 0, 0) → txtStone6Text((("\textsf{\bold{\textcolor{white}{" * If[showMinusStone, (If[numberStone7 > 0, "+", numberStone7 ≟ 0, "\phantom{+}", "\(-\)"] * abs(numberStone7)), (abs(numberStone7) * "")]) * "}}}"), PStone7 + (0, 0.05), false, true, 0, 0) → txtStone7UnitOrthogonalVector(Segment[PointParkedStones(1), PointZKStones(1)]) → vBogenZK1UnitOrthogonalVector(Segment[PointZKStones(4), PointParkedStones(2)]) → vBogenZK2CircleArc(Midpoint[Vertex[randStoneParked1(1), 18], Vertex[randStoneZK1(1), 18]] + (0.5 * vBogenZK1), Vertex[randStoneParked1(1), 18], Vertex[randStoneZK1(1), 18]) → bogenZK1CircleArc(Midpoint[Vertex[randStoneZK2(1), 54], Vertex[randStoneParked2(1), 54]] + (0.5 * vBogenZK2), Vertex[randStoneZK2(1), 54], Vertex[randStoneParked2(1), 54]) → bogenZK2Segment(Point[bogenZK1, 0], Point[bogenZK1, 0] + (0.01 * UnitVector[Tangent[Point[bogenZK1, 0], bogenZK1]])) → arrowBogenParked1Segment(Point[bogenZK2, 1], Point[bogenZK2, 1] - (0.01 * UnitVector[Tangent[Point[bogenZK2, 1], bogenZK2]])) → arrowBogenParked2Segment(Point[bogenZK1, 1], Point[bogenZK1, 1] - (0.01 * UnitVector[Tangent[Point[bogenZK1, 1], bogenZK1]])) → arrowBogenZK1Segment(Point[bogenZK2, 0], Point[bogenZK2, 0] + (0.01 * UnitVector[Tangent[Point[bogenZK2, 0], bogenZK2]])) → arrowBogenZK2Join({PointZKStones, PointParkedStones, Reverse[PointParkedStonesAlt]}) → AllPointPositionIf(actualQuestion ∈ {}, {false, false, false, false, false, false, false}, {true, true, true, true, true, true, true}) → fixedStonesEllipse(Pos062 + ((-sqrt(dimA06^(2) - dimB06^(2))), 0), Pos062 + (sqrt(dimA06^(2) - dimB06^(2)), 0), dimA06) → ell062Join({Midpoint[PosZK311, PosZK312] + (dimZK03 * (-0.015, 0.56)) + (dimZK03 / dimZK * (0, -0.25)) + (dimZK03 / dimZK * {(1.25, 0.25), (-1.25, -0.25), (0, 0), (0.75, -1), (-0.75, 1), (-0.75, -1.25), (0.75, 1)}), PosZK312 + (dimZK03 / dimZK * {(0.75, 2), (0.25, 0.75)})}) → Points031Ellipse(Midpoint[PointsAZK31(1), PointsAZK31(2)] + (sqrt(Distance[PointsAZK31(2), Midpoint[PointsAZK31(1), PointsAZK31(2)]]^(2) - Distance[PointsBZK31(2), Midpoint[PointsAZK31(1), PointsAZK31(2)]]^(2)), 0), Midpoint[PointsAZK31(1), PointsAZK31(2)] + ((-sqrt(Distance[PointsAZK31(2), Midpoint[PointsAZK31(1), PointsAZK31(2)]]^(2) - Distance[PointsBZK31(2), Midpoint[PointsAZK31(1), PointsAZK31(2)]]^(2))), 0), Distance[PointsAZK31(1), PointsAZK31(2)] / 2) → ellZK31Translate(imgZK1, Vector[PosZK311, PosZK321]) → imgZK2Translate(imgZK2, Vector[PosZK311, PosZK321]) → imgZK3Translate(Points031, Vector[PosZK311, PosZK321]) → Points032Translate(Points032, Vector[PosZK311, PosZK321]) → Points033Translate(ellZK31, Vector[PosZK311, PosZK321]) → ellZK32Translate(ellZK32, Vector[PosZK311, PosZK321]) → ellZK33Translate(PosDigitaleAnzeige031, Vector[PosZK311, PosZK321]) → PosDigitaleAnzeige032Text("\textsf{\bold{\(-1\) °C}}", PosDigitaleAnzeige031 + (0, 0.05), false, true, 0, 0) → txtDigitaleAnzeige031Text("\textsf{\bold{\(-4\) °C}}", PosDigitaleAnzeige032 + (0, 0.05), false, true, 0, 0) → txtDigitaleAnzeige032Translate(PosDigitaleAnzeige032, Vector[PosZK311, PosZK321]) → PosDigitaleAnzeige033Text("\textsf{\bold{\(+4\) °C}}", PosDigitaleAnzeige033 + (0, 0.05), false, true, 0, 0) → txtDigitaleAnzeige033UnitOrthogonalVector(Segment[Points031(8), Points031(1)]) → vBogenZK311UnitOrthogonalVector(Segment[Points031(4), Points031(9)]) → vBogenZK312CircleArc(Midpoint[Vertex[randStoneParked311(1), 18], Vertex[randStoneZK311(1), 18]] + (0.5 * vBogenZK311), Vertex[randStoneParked311(1), 18], Vertex[randStoneZK311(1), 18]) → bogenZK311CircleArc(Midpoint[Vertex[randStoneZK312(1), 54], Vertex[randStoneParked312(1), 54]] + (0.5 * vBogenZK312), Vertex[randStoneZK312(1), 54], Vertex[randStoneParked312(1), 54]) → bogenZK312Segment(Point[bogenZK311, 0], Point[bogenZK311, 0] + (0.01 * UnitVector[Tangent[Point[bogenZK311, 0], bogenZK311]])) → arrowBogenParked311Segment(Point[bogenZK312, 1], Point[bogenZK312, 1] - (0.01 * UnitVector[Tangent[Point[bogenZK312, 1], bogenZK312]])) → arrowBogenParked312Segment(Point[bogenZK311, 1], Point[bogenZK311, 1] - (0.01 * UnitVector[Tangent[Point[bogenZK311, 1], bogenZK311]])) → arrowBogenZK311Segment(Point[bogenZK312, 0], Point[bogenZK312, 0] + (0.01 * UnitVector[Tangent[Point[bogenZK312, 0], bogenZK312]])) → arrowBogenZK312CircleArc(Midpoint[Vertex[randStoneParked321(1), 18], Vertex[randStoneZK321(1), 18]] + (0.5 * vBogenZK311), Vertex[randStoneParked321(1), 18], Vertex[randStoneZK321(1), 18]) → bogenZK321CircleArc(Midpoint[Vertex[randStoneZK322(1), 54], Vertex[randStoneParked322(1), 54]] + (0.5 * vBogenZK312), Vertex[randStoneZK322(1), 54], Vertex[randStoneParked322(1), 54]) → bogenZK322Segment(Point[bogenZK321, 0], Point[bogenZK321, 0] + (0.01 * UnitVector[Tangent[Point[bogenZK321, 0], bogenZK321]])) → arrowBogenParked321Segment(Point[bogenZK322, 1], Point[bogenZK322, 1] - (0.01 * UnitVector[Tangent[Point[bogenZK322, 1], bogenZK322]])) → arrowBogenParked322Segment(Point[bogenZK321, 1], Point[bogenZK321, 1] - (0.01 * UnitVector[Tangent[Point[bogenZK321, 1], bogenZK321]])) → arrowBogenZK321Segment(Point[bogenZK322, 0], Point[bogenZK322, 0] + (0.01 * UnitVector[Tangent[Point[bogenZK322, 0], bogenZK322]])) → arrowBogenZK322CircleArc(Midpoint[Vertex[randStoneParked331(1), 18], Vertex[randStoneZK331(1), 18]] + (0.5 * vBogenZK311), Vertex[randStoneParked331(1), 18], Vertex[randStoneZK331(1), 18]) → bogenZK331CircleArc(Midpoint[Vertex[randStoneZK332(1), 54], Vertex[randStoneParked332(1), 54]] + (0.5 * vBogenZK312), Vertex[randStoneZK332(1), 54], Vertex[randStoneParked332(1), 54]) → bogenZK332Segment(Point[bogenZK331, 0], Point[bogenZK331, 0] + (0.01 * UnitVector[Tangent[Point[bogenZK331, 0], bogenZK331]])) → arrowBogenParked331Segment(Point[bogenZK332, 1], Point[bogenZK332, 1] - (0.01 * UnitVector[Tangent[Point[bogenZK332, 1], bogenZK332]])) → arrowBogenParked332Segment(Point[bogenZK331, 1], Point[bogenZK331, 1] - (0.01 * UnitVector[Tangent[Point[bogenZK331, 1], bogenZK331]])) → arrowBogenZK331Segment(Point[bogenZK332, 0], Point[bogenZK332, 0] + (0.01 * UnitVector[Tangent[Point[bogenZK332, 0], bogenZK332]])) → arrowBogenZK332Polygon(Pos061 + PointStone) → ell061Text("\textsf{\bold{\textcolor{white}{\(-3\)}}}", Pos061 + (0, 0.05), false, true, 0, 0) → txtStone061If(actualQuestion ≟ 7, 0.42, 0.3) → stepAxis07Sequence(StartP071 + (k * (stepAxis07, 0)), k, 0, 30) → AxisPoints071Segment(StartP071 + ((-edgeAxis), 0), StartP071 + ((20 * stepAxis07) + edgeAxis, 0)) → axis071Segment(StartP072 + ((-edgeAxis), 0), StartP072 + ((20 * stepAxis07) + edgeAxis, 0)) → axis072Segment(StartP073 + ((-edgeAxis), 0), StartP073 + ((20 * stepAxis07) + edgeAxis, 0)) → axis073Sequence(StartP072 + (k * (stepAxis07, 0)), k, 0, 30) → AxisPoints072Sequence(StartP073 + (k * (stepAxis07, 0)), k, 0, 30) → AxisPoints073Segment(AxisPoints071(8) + (0, disSegAxis072 + 0.25), AxisPoints071(10) + (0, disSegAxis072 + 0.25)) → seg071Segment(AxisPoints072(10) + (0, disSegAxis072 + 0.25), AxisPoints072(18) + (0, disSegAxis072 + 0.25)) → seg072Segment(AxisPoints073(6) + (0, disSegAxis072 + 0.25), AxisPoints073(8) + (0, disSegAxis072 + 0.25)) → seg073Segment(StartP081 + ((-edgeAxis), 0), StartP081 + ((30 * stepAxis07) + edgeAxis, 0)) → axis081Sequence(StartP081 + (k * (stepAxis07, 0)), k, 0, 30) → AxisPoints081Sequence(Segment[AxisPoints081(k) + (0, (-If[Mod[k, 5] ≟ 1, disSegAxis072, disSegAxis071])), AxisPoints081(k) + (0, If[Mod[k, 5] ≟ 1, disSegAxis072, disSegAxis071])], k, 1, 31) → segAxis081Segment(AxisPoints081(13) + (0, disSegAxis072 + 0.25), AxisPoints081(18) + (0, disSegAxis072 + 0.25)) → seg081Text("\bold{✘ \vphantom{✘✓}}", Midpoint[Vertex[polyOption011(1), 2], Vertex[polyOption011(1), 3]] + (0, 0.15), false, true, 1, 0) → txtFB011Text("\bold{✓ \vphantom{✘✓}}", Midpoint[Vertex[polyOption012(1), 2], Vertex[polyOption012(1), 3]] + (0, 0.15), false, true, 1, 0) → txtFB012Text("\bold{✘ \vphantom{✘✓}}", Midpoint[Vertex[polyOption031(1), 2], Vertex[polyOption031(1), 1]] + (0, -0.5), false, true, 0, 0) → txtFB031Text("\bold{✓ \vphantom{✘✓}}", Midpoint[Vertex[polyOption032(1), 2], Vertex[polyOption032(1), 1]] + (0, -0.5), false, true, 0, 0) → txtFB032Text("\bold{✘ \vphantom{✘✓}}", Midpoint[Vertex[polyOption033(1), 2], Vertex[polyOption033(1), 1]] + (0, -0.5), false, true, 0, 0) → txtFB033Text((("\textsf{\bold{" * If[actualQuestion ∈ {1, 2, 3, 6, 7, 9} ∨ validate ∨ (¬ready) ∨ StoneInRegion ≟ {true, true, true, true, false, false, false}, (((If[actualTemperature > 0, "+", ""] * "\(") * actualTemperature) * "\)"), "? "]) * " °C}}"), PosDigitaleAnzeige + (0, 0.05), false, true, 0, 0) → txtDigitaleAnzeigeTranslate(imgZK, trans04) → imgZK04Polygon(Pos061Sol + PointStone) → ell06SolPolygon(Pos062Sol + PointStone) → ell062SolText("\textsf{\bold{\textcolor{white}{\(-\)3}}}", Pos061Sol + (0, 0.05), false, true, 0, 0) → txtSol061Text("\textsf{\bold{\textcolor{white}{\(+\)3}}}", Pos062Sol + (0, 0.05), false, true, 0, 0) → txtSol062If(actualQuestion ≟ 1, option011 ∨ option012, actualQuestion ≟ 6, SelectedIndex[dropdown061] > 1 ∧ SelectedIndex[dropdown062] > 1, actualQuestion ≟ 4 ∨ actualQuestion ≟ 5, StoneInRegion ≠ {true, true, true, true, false, false, false}, actualQuestion ≟ 8, true ∈ selected08, true, actualQuestion ≟ 3, option031 ∨ option032 ∨ option033, actualQuestion ≟ 7, option071 ∨ option072 ∨ option073, actualQuestion ≟ 9, option091 ∨ option092 ∨ option093, actualQuestion ≟ 2, Defined[input021] ∧ SelectedIndex[dropdown021] > 1) → clickableBtnValidateCircleArc(Midpoint[PStone1 + (dimStoneA, 0), Pos081] - (0.5 * UnitOrthogonalVector[Segment[PStone1 + (dimStoneA, 0), Pos081]]), Pos081, PStone1 + (dimStoneA, 0)) → bogen081CircleArc(Midpoint[PStone2 + ((-dimStoneA), 0), Pos082] + (0.5 * UnitOrthogonalVector[Segment[PStone2 + ((-dimStoneA), 0), Pos082]]), PStone2 + ((-dimStoneA), 0), Pos082) → bogen082CircleArc(Midpoint[PStone3 + (0, (-dimStoneB)), Pos083] + (0.5 * UnitOrthogonalVector[Segment[PStone3 + (0, (-dimStoneB)), Pos083]]), PStone3 + (0, (-dimStoneB)), Pos083) → bogen083CircleArc(Midpoint[PStone4 + (0, (-dimStoneB)), Pos084] + (0.5 * UnitOrthogonalVector[Segment[PStone4 + (0, (-dimStoneB)), Pos084]]), PStone4 + (0, (-dimStoneB)), Pos084) → bogen084CircleArc(Midpoint[PStone6 + (0, dimStoneB), Pos086] - (0.75 * UnitOrthogonalVector[Segment[PStone6 + (0, dimStoneB), Pos086]]), Pos086, PStone6 + (0, dimStoneB)) → bogen086CircleArc(Midpoint[PStone5 + (0, dimStoneB), Pos085] - (0.75 * UnitOrthogonalVector[Segment[PStone5 + (0, dimStoneB), Pos085]]), Pos085, PStone5 + (0, dimStoneB)) → bogen085Segment(Pos081, Pos081 + (0.01 * UnitVector[Tangent[Pos081, bogen081]])) → arrow081Segment(Pos082, Pos082 + (0.01 * UnitVector[Tangent[Pos082, bogen082]])) → arrow082Segment(Pos083, Pos083 + (0.01 * UnitVector[Tangent[Pos083, bogen083]])) → arrow083Segment(Pos084, Pos084 + (0.01 * UnitVector[Tangent[Pos084, bogen084]])) → arrow084Segment(Pos085, Pos085 + (0.01 * UnitVector[Tangent[Pos085, bogen085]])) → arrow085Segment(Pos086, Pos086 + (0.01 * UnitVector[Tangent[Pos086, bogen086]])) → arrow086Sequence(Segment[AxisPoints071(k) + (0, (-If[Mod[k, 5] ≟ 1, disSegAxis072, disSegAxis071])), AxisPoints071(k) + (0, If[Mod[k, 5] ≟ 1, disSegAxis072, disSegAxis071])], k, 1, 21) → segAxis071Sequence(Segment[AxisPoints072(k) + (0, (-If[Mod[k, 5] ≟ 1, disSegAxis072, disSegAxis071])), AxisPoints072(k) + (0, If[Mod[k, 5] ≟ 1, disSegAxis072, disSegAxis071])], k, 1, 21) → segAxis072Sequence(Segment[AxisPoints073(k) + (0, (-If[Mod[k, 5] ≟ 1, disSegAxis072, disSegAxis071])), AxisPoints073(k) + (0, If[Mod[k, 5] ≟ 1, disSegAxis072, disSegAxis071])], k, 1, 21) → segAxis073Text("\textsf{\bold{\textcolor{white}{\(+5\)}}}", PosSol081 + (0, 0.05), false, true, 0, 0) → txtStoneSol081Text("\textsf{\bold{\textcolor{white}{\(-5\)}}}", PosSol082 + (0, 0.05), false, true, 0, 0) → txtStoneSol082Translate(AllPointPosition, trans04) → AllPointPositionSol04Translate(polyStone1, Vector[PStone1, AllPointPositionSol04(1)]) → polySol041Translate(polyStone2, Vector[PStone2, AllPointPositionSol04(2)]) → polySol042Translate(polyStone3, Vector[PStone3, AllPointPositionSol04(3)]) → polySol043Translate(polyStone4, Vector[PStone4, AllPointPositionSol04(4)]) → polySol044Translate(polyStone5, Vector[PStone5, AllPointPositionSol04(10)]) → polySol045Translate(polyStone6, Vector[PStone6, AllPointPositionSol04(11)]) → polySol046Translate(polyStone7, Vector[PStone7, AllPointPositionSol04(12)]) → polySol047Text((("\textsf{\bold{\textcolor{white}{" * If[showMinusStone, (If[numberStone1 > 0, "+", numberStone1 ≟ 0, "\phantom{+}", "\(-\)"] * abs(numberStone1)), (abs(numberStone1) * "")]) * "}}}"), AllPointPositionSol04(1) + (0, 0.05), false, true, 0, 0) → txtStoneSol041Text((("\textsf{\bold{\textcolor{white}{" * If[showMinusStone, (If[numberStone2 > 0, "+", numberStone2 ≟ 0, "\phantom{+}", "\(-\)"] * abs(numberStone2)), (abs(numberStone2) * "")]) * "}}}"), AllPointPositionSol04(2) + (0, 0.05), false, true, 0, 0) → txtStoneSol042Text((("\textsf{\bold{\textcolor{white}{" * If[showMinusStone, (If[numberStone3 > 0, "+", numberStone3 ≟ 0, "\phantom{+}", "\(-\)"] * abs(numberStone3)), (abs(numberStone3) * "")]) * "}}}"), AllPointPositionSol04(3) + (0, 0.05), false, true, 0, 0) → txtStoneSol043Text((("\textsf{\bold{\textcolor{white}{" * If[showMinusStone, (If[numberStone4 > 0, "+", numberStone4 ≟ 0, "\phantom{+}", "\(-\)"] * abs(numberStone4)), (abs(numberStone4) * "")]) * "}}}"), AllPointPositionSol04(4) + (0, 0.05), false, true, 0, 0) → txtStoneSol044Text((("\textsf{\bold{\textcolor{white}{" * If[showMinusStone, (If[numberStone5 > 0, "+", numberStone5 ≟ 0, "\phantom{+}", "\(-\)"] * abs(numberStone5)), (abs(numberStone5) * "")]) * "}}}"), AllPointPositionSol04(10) + (0, 0.05), false, true, 0, 0) → txtStoneSol045Text((("\textsf{\bold{\textcolor{white}{" * If[showMinusStone, (If[numberStone6 > 0, "+", numberStone6 ≟ 0, "\phantom{+}", "\(-\)"] * abs(numberStone6)), (abs(numberStone6) * "")]) * "}}}"), AllPointPositionSol04(11) + (0, 0.05), false, true, 0, 0) → txtStoneSol046Text((("\textsf{\bold{\textcolor{white}{" * If[showMinusStone, (If[numberStone7 > 0, "+", numberStone7 ≟ 0, "\phantom{+}", "\(-\)"] * abs(numberStone7)), (abs(numberStone7) * "")]) * "}}}"), AllPointPositionSol04(12) + (0, 0.05), false, true, 0, 0) → txtStoneSol047CircleArc(Midpoint[AllPointPositionSol04(1) + (0, dimStoneB), PosBogen041] + (2.75 * UnitOrthogonalVector[Segment[AllPointPositionSol04(1) + (0, dimStoneB), PosBogen041]]), AllPointPositionSol04(1) + (0, dimStoneB), PosBogen041) → bogen041CircleArc(Midpoint[AllPointPositionSol04(10) + (0, (-dimStoneB)), PosBogen042] + (2.75 * UnitOrthogonalVector[Segment[AllPointPositionSol04(10) + (0, (-dimStoneB)), PosBogen042]]), AllPointPositionSol04(10) + (0, (-dimStoneB)), PosBogen042) → bogen042Segment(PosBogen041, PosBogen041 + (0.01 * UnitVector[Tangent[PosBogen041, bogen041]])) → arrow041Segment(PosBogen042, PosBogen042 + (0.01 * UnitVector[Tangent[PosBogen042, bogen042]])) → arrow042CircleArc(Midpoint[AllPointPositionSol04(2) + (0, dimStoneB), PosBogen041] + (2.75 * UnitOrthogonalVector[Segment[AllPointPositionSol04(2) + (0, dimStoneB), PosBogen041]]), AllPointPositionSol04(2) + (0, dimStoneB), PosBogen041) → bogen051CircleArc(Midpoint[AllPointPositionSol04(11) + (0, (-dimStoneB)), PosBogen042] + (2.75 * UnitOrthogonalVector[Segment[AllPointPositionSol04(11) + (0, (-dimStoneB)), PosBogen042]]), AllPointPositionSol04(11) + (0, (-dimStoneB)), PosBogen042) → bogen052Segment(PosBogen041, PosBogen041 + (0.01 * UnitVector[Tangent[PosBogen041, bogen051]])) → arrow051Segment(PosBogen042, PosBogen042 + (0.01 * UnitVector[Tangent[PosBogen042, bogen052]])) → arrow052Translate(ellZK, trans04) → ellZK04Translate(randDigitaleAnzeige, trans04) → randDigitaleAnzeige04Text((("\textsf{\bold{" * If[actualQuestion ∈ {4}, "\(-\)3", "\(+2\)"]) * " °C}}"), PosDigitaleAnzeige + (0, 0.05) + trans04, false, true, 0, 0) → txtDigitaleAnzeige04If(randomQuestion ≟ 4, validate ∧ correct ∨ solutionShown04, randomQuestion ≟ 5, validate ∧ correct ∨ solutionShown05, true) → clickableBtnNewSegment(Corner[txtClickMe08, 1] + (-0.1, 0.35), Corner[txtClickMe08, 1] + (-0.75, 0.75)) → arrowClickMe081Segment(Corner[txtClickMe08, 4] + (1.2, 0), Corner[txtClickMe08, 1] + (1.2, 1.5)) → arrowClickMe082Segment(Corner[txtZiehMich, 1] + (1.2, 0), Corner[txtZiehMich, 1] + (1.2, 0) + (2, -0.5)) → arrowZiehMich042Segment(Corner[txtZiehMich, 1] + (1.05, 0), Corner[txtZiehMich, 1] + (1.2, -0.5)) → arrowZiehMich041