在单位圆上探索正弦和余弦比

在单位圆上探索正弦和余弦比
几何画板及绘图内容加载中,请稍等……
2019-03-14 20:36
①本范例演示如何在单位圆上通过角度展示正弦和余弦的几何意义;②涉及核心数学概念包括单位圆、三角函数、正弦和余弦比;③作图要点使用了Polygon, Zip, RemoveUndefined, Sort, Point, IndexOf, Sequence, Element, Translate, LaTeX, Segment, Angle, Length, TableText, CurveCartesian等GeoGebra命令和对象;④适合高中数学学生学习和理解三角函数的定义与性质。

GeoGebra 命令及参数

  1. Polygon({Anchor1Box, Anchor1Box + u, Anchor1Box + u + (3.9 * v), Anchor1Box + (3.9 * v)}) → boxTemplate
  2. Zip((((("\left(" * A) * ",") * B) * "\right)"), A, allCosVals, B, allSinVals) → allPointsDisplay
  3. RemoveUndefined(Sequence[If[Element[showRows, i], Element[allPointsDisplay, i]], i, 1, Length[allPointsDisplay]]) → displayPoints
  4. Sort(Unique[Union[Sequence[i, i, 0, 360, 45], Sequence[i, i, 0, 360, 30]]]) → allAngles
  5. Zip(Rotate[(1, 0), A°, (0, 0)], A, allAngles) → allPoints
  6. Point(allPoints) → P
  7. IndexOf(P, allPoints) → currIndx
  8. RemoveUndefined(Sequence[If[Element[showRows, i], If[currIndx ≟ i, "*", ""]], i, 1, Length[showRows]]) → rowPointer
  9. Sequence(Translate[boxTemplate, Vector[(i * u)]], i, 0, Length[displayPoints]) → boxes
  10. Element(boxes, 2) → box1
  11. Element(boxes, 3) → box2
  12. Element(boxes, 4) → box3
  13. Element(boxes, 5) → box4
  14. Element(boxes, 6) → box5
  15. Element(boxes, 7) → box6
  16. Element(boxes, 8) → box7
  17. Element(boxes, 9) → box8
  18. Translate(boxTemplate, (2.5, 0)) → header2
  19. Element(allPoints, 1) → P1
  20. Element(allPoints, 2) → P2
  21. Element(allPoints, 3) → P3
  22. Element(allPoints, 4) → P4
  23. Element(allPoints, 5) → P5
  24. Element(allPoints, 6) → P6
  25. Element(allPoints, 7) → P7
  26. Element(allPoints, 8) → P8
  27. Element(allPoints, 9) → P9
  28. Element(allPoints, 10) → P10
  29. Element(allPoints, 11) → P11
  30. Element(allPoints, 12) → P12
  31. Element(allPoints, 13) → P13
  32. Element(allPoints, 14) → P14
  33. Element(allPoints, 15) → P15
  34. Element(allPoints, 16) → P16
  35. LaTeX("\text{\textbf{Question: }The point \(P\) is the intersection of the terminal arm of \(\angle θ\) and the unit circle.\\How are the coordinates of \(P\) related to the sine and cosine ratios of θ?}") → MainInstruc
  36. LaTeX("\text{\textbf{Instructions: }Move the point \(P\) to complete the table of values.}") → SpecInstruc
  37. Segment(P, (x(P), 0)) → oppositeSide
  38. Angle(Vector[(1, 0)], Vector[P]) → angleA
  39. LaTeX("\text{Unit Circle}") → lblUnitCircle
  40. Zip(((spacer * A) * "°"), A, allAngles) → allAngleDisplay
  41. RemoveUndefined(Sequence[If[Element[showRows, i], Element[allSinVals, i]], i, 1, Length[allSinVals]]) → displaySinVals
  42. RemoveUndefined(Sequence[If[Element[showRows, i], Element[allCosVals, i]], i, 1, Length[allCosVals]]) → displayCosVals
  43. RemoveUndefined(Sequence[If[Element[showRows, i], Element[allAngleDisplay, i]], i, 1, Length[allAngleDisplay]]) → displayAngles
  44. Length(displayPoints) → test
  45. LaTeX(("P" * Element[allPointsDisplay, currIndx])) → lblPoint
  46. TableText({Join[{{titleTheta}, displayAngles}], Join[{{titlePoints}, displayPoints}], Join[{{titleSin}, displaySinVals}], Join[{{titleCos}, displayCosVals}], Join[{{""}}]}, "|011100vc") → tableA
  47. Zip(Rotate[A, Element[allAngles, currIndx]°, (0, 0)], A, {(0.25, -0.05), (0.3, 0), (0.35, -0.05)}) → chevronPoints
  48. Sequence(Segment[Element[chevronPoints, i], Element[chevronPoints, i + 1]], i, 1, 2) → chevron
  49. CurveCartesian((0.3 * cos(((2 * π) * t))), (0.3 * sin(((2 * π) * t))), t, 0, Element[allAngles, currIndx] / 360) → angleCurve
  50. Polygon({(0, 0), (0.1, 0), (0.1, 0.1), (0, 0.1)}) → rightBox
  51. Translate(rightBox, (If[x(P) < 0, x(P), x(P) - 0.1], If[y(P) < 0, -0.1, 0])) → showRight