#4D4D4D

$\text{NEW FIGURE}$

Reset app

#006758

#B00020

#252525

#757575

#949494

#E44461

#DA2570

#E66B9E

#3A6ED6

#5991FF

#008475

#0F8538

#00a83c

#5145A8

#6557D2

#8575FF

#903D14

#BD6C43

#C75000

#E07415

#eeeeee

#2E006758

#2EB00020

$\textsf{\textbf{A}}$

$\textsf{\textbf{A^\prime}}$

\text{✓}

Animate

x

y

\text{Move the line to create a line of reflection between the two figures.} 

countQuestion = 1
randomList2 = Shuffle(Sequence[40])
randomNum2 = Element(randomList2, Mod[countQuestion, 40] + 1)
randomList1 = Shuffle(Sequence[20])
randomNum1: Mod[Element[randomList1, Mod[countQuestion, 20] + 1], 6] + 1
radios: {3, 2, 3, 3, 2, 3}
radiusFig: radios(randomNum1)
listXCoordInitCenter: Sequence[-15 + radiusFig, 15 - radiusFig] \ {0}
timer = 0 (slider from 0 to 1, step 0.01)
listYCoordInitCenter: Sequence[-8 + radiusFig, 8 - radiusFig] \ {0}
randomList3 = Shuffle(Sequence[15])
randomNum3 = Element(randomList3, Mod[countQuestion, 15] + 1)
yInitCenter = Element(listYCoordInitCenter, Mod[randomNum3, Length[listYCoordInitCenter]] + 1)
listYCoordImgCenter: listYCoordInitCenter \ Join[{Sequence[yInitCenter - 2, yInitCenter + 2], Sequence[-11 + Mod[yInitCenter, 2], 10, 2]}]
randomList5 = Shuffle(Sequence[15])
randomNum5 = Element(randomList5, Mod[countQuestion, 15] + 1)
yInitCenterImg = If(Mod[randomNum1, 2] ≟ 1, yInitCenter, Element[listYCoordImgCenter, Mod[randomNum5, Length[listYCoordImgCenter]] + 1])
xInitCenter = Element(listXCoordInitCenter, Mod[randomNum2, Length[listXCoordInitCenter]] + 1)
listXCoordImgCenter: listYCoordInitCenter \ Join[{Sequence[xInitCenter - 2, xInitCenter + 2], Sequence[-11 + Mod[xInitCenter, 2], 10, 2]}]
randomList4 = Shuffle(Sequence[15])
randomNum4 = Element(randomList4, Mod[countQuestion, 15] + 1)
xInitCenterImg = If(Mod[randomNum1, 2] ≟ 0, xInitCenter, Element[listXCoordImgCenter, Mod[randomNum4, Length[listXCoordImgCenter]] + 1])
CenterPointImg: (xInitCenterImg, yInitCenterImg)
listBasicVertices: {{(3, 0), (4, 2), (5, 0), (6, 3), (4, 6), (2, 2)}, {(0, 0), (4, 0), (4, 2), (2, 2), (4, 3), (4, 4), (0, 4), (0, 3), (2, 3), (0, 2)}, {(1, 8), (1, 2), (3, 4), (7, 2), (7, 8), (4, 5)}, {(4, 1), (6, 1), (6, 7), (2, 7), (2, 5), (4, 5)}, {(0, 0), (0, 4), (1, 4), (1, 1), (3, 1), (3, 2), (2, 2), (2, 3), (4, 3), (4, 0)}, {(3, 1), (4, 1), (6, 2), (6, 4), (4, 7), (2, 4), (2, 2)}}
randomList6 = Shuffle(Sequence[15])
randomNum6 = Mod(Element[randomList6, Mod[countQuestion, 15] + 1], 4)
listCenters: {(4, 3), (2, 2), (4, 5), (4, 4), (2, 2), (4, 4)}
CenterPoint: listCenters(randomNum1)
vectorInitial = Vector(CenterPoint, (xInitCenter, yInitCenter))
CenterPointPre = Translate(CenterPoint, vectorInitial)
lineReflection = LineBisector(CenterPointPre, CenterPointImg)
verticesPre = Rotate(Translate[listBasicVertices(randomNum1), vectorInitial], (90° * randomNum6), CenterPointPre)
verticesImg = Mirror(verticesPre, lineReflection)
xMax: 17.2
yMin: -10
randomList7 = Shuffle(Sequence[15])
pixelsRight: 16
pixelsLeft: 16
pixelsBottom: 16
pixelsTop: 24
borderBox = Polygon(Zip[PixelsToPoint[Corner[1], Corner[3], Corner[5], A], A, {(pixelsLeft, pixelsTop), (pixelsLeft, y(Corner[5]) - pixelsBottom), Corner[5] - (pixelsRight, pixelsBottom), (x(Corner[5]) - pixelsRight, pixelsTop)}])
layoutY: 192
layoutX: 16
layoutAppSize = Corner(5)
viewBox = Polygon({(16, 9), (-16, 9), (-16, -9), (16, -9)})
axisX = Segment((-15.9, 0), (15.9, 0))
axisY = Segment((0, -8.9), (0, 8.9))
FigurePre = Polygon(verticesPre)
FigureImg = Polygon(verticesImg)
A: verticesPre(1)
speed: 5
A': verticesImg(1)
yMax: 11.5
xMin: (8 / 5 * (yMin - yMax)) + xMax
verticesSt = Zip(FromTo[AA, BB, timer], AA, verticesPre, BB, verticesImg)
FigureSt = Polygon(verticesSt)
minInput1: -8 - xInitCenter + radiusFig
minInput2: -8 - yInitCenter + radiusFig
maxInput2: 8 - yInitCenter - radiusFig
maxInput1: 8 - xInitCenter - radiusFig
Input1 = Point(Sequence[Sequence[(a, b), a, -8, 8], b, -8, 8])
Input2 = Point(Sequence[Sequence[(a, b), a, -8, 8], b, -8, 8])
lineReflectionStAux = Line(Input1, Input2)
dashedSegments = Zip(Segment[AA, BB], AA, verticesPre, BB, verticesSt)
showPoints = true
showAnswer = false
textFeedback: "\textsf{The figure reflects across the line }" + (LaTeX[LaTeX[lineReflection]]) + "."
lineReflectionSt = IntersectPath(lineReflectionStAux, viewBox)
lineReflectionArrows = IntersectPath(lineReflection, viewBox)
posLblPointPre = Intersect(Circle[CenterPointPre, Distance[CenterPointPre, A] + 0.7], Ray[CenterPointPre, A])
posLblPointImg = Mirror(posLblPointPre, lineReflection)
lblA' = Text("A^\prime", posLblPointImg, false, true, 0, 0)
lblA = Text("A", posLblPointPre, false, true, 0, 0)
onboarding = true
pulsingSpeed: 8
pulsing = 0.4 (slider from 0 to 1, step 0.1)
pulsingObject = circlePixels(Input2, 7 + (7 * pulsing), Corner[1], Corner[3], Corner[5])
tabOrder: {textQuestion, Input1, Input2, textFeedback, btnNew}
a(t, x) = (((t * ℯ) * x) * t)

Tool: PixelsToPoint
PixelsToPoint(Corner1,Corner3,Corner5,PixelCoords)
Input: Corner1, Corner3, Corner5, InputPixels
Output: OutputPoint

InputPixels: (100, 200)
xRight: x(Corner3)
xLeft: x(Corner1)
yTop: y(Corner3)
yBottom: y(Corner1)
yCoord: yTop - (y(InputPixels) / y(Corner5) * (yTop - yBottom))
xCoord: (x(InputPixels) / x(Corner5) * (xRight - xLeft)) + xLeft
OutputPoint: (xCoord, yCoord)

Tool: PixelsToPoint (command PixelsToPoint1)
PixelsToPoint(Corner1,Corner3,Corner5,PixelCoords)
Input: Corner1, Corner3, Corner5, InputPixels
Output: OutputPoint

InputPixels: (100, 200)
xRight: x(Corner3)
xLeft: x(Corner1)
yTop: y(Corner3)
yBottom: y(Corner1)
yCoord: yTop - (y(InputPixels) / y(Corner5) * (yTop - yBottom))
xCoord: (x(InputPixels) / x(Corner5) * (xRight - xLeft)) + xLeft
OutputPoint: (xCoord, yCoord)

Tool: PointToPixels
PointToPixels(Corner1,Corner3,Corner5,InputPoint)
Input: Corner1, Corner3, Corner5, InputPoint
Output: OutputPixels

Corner1: (-5, -5)
Corner3: (16, 6)
Corner5: (300, 200)
xLeft: x(Corner1)
xRight: x(Corner3)
yTop: y(Corner3)
yBottom: y(Corner1)
yPixels: (y(Corner5) * (y(InputPoint) - yBottom) / (yTop - yBottom))
xPixels: (x(Corner5) * (x(InputPoint) - xLeft) / (xRight - xLeft))
OutputPixels: (xPixels, yPixels)

Tool: FromTo
(start,end,slider)
Input: A, B, t
Output: P

P: A + (t * (B - A))

Tool: circlePixels
circlePixels(A,pixelRadius,Corner1,Corner3,Corner5
Input: A, pixelRadius, Corner1, Corner3, Corner5
Output: newCircle

pointRadius: (pixelRadius / x(Corner5) * (x(Corner3) - x(Corner1)))
newCircle = Circle(A, pointRadius)