Pulling a Box on a Horizontal Surface: Static vs. Kinetic Friction

Pulling a Box on a Horizontal Surface: Static vs. Kinetic Friction
Loading the math board and drawing, please wait…
2020-09-16 19:00
This simulation models a box being pulled along a horizontal surface by a rope, letting students examine how friction changes from the pre-motion (static) regime to the motion (kinetic) regime. As the rope’s direction and applied force vary, the model updates whether the rope “overcomes” the static friction limit and how the resulting friction force affects acceleration and velocity. The example’s key mathematics includes a conditional, piecewise decision based on the static friction maximum (If), directional modeling using vectors and angles (Vector, Angle), and geometric construction of force diagrams and reference directions (Segment, Polygon, Midpoint), along with dynamic readouts via text fields (Textfield) for parameters such as μ_s, μ_k, normal, f_k, f_s,max, and time/velocity variables. Suitable for secondary to early college levels, it supports instruction in modeling with piecewise logic, vector geometry, and interpreting physics quantities through geometric representations.

GeoGebra Commands & Parameters

  1. If((m * g) > (F * sin(θ)), (m * 9.8) - (F * sin(θ)), 0) → normal
  2. Polygon(A, B, 4) → poly1, a, b, c, d, C, D
  3. Segment(B, D) → e
  4. Segment((A1, B1), (A2, B2)) → C2
  5. Segment((A2, B2), (A3, B3)) → C3
  6. Segment((A3, B3), (A4, B4)) → C4
  7. Segment((A4, B4), (A5, B5)) → C5
  8. Segment((A5, B5), (A6, B6)) → C6
  9. Segment((A6, B6), (A7, B7)) → C7
  10. Segment((A7, B7), (A8, B8)) → C8
  11. Segment((A8, B8), (A9, B9)) → C9
  12. Segment((A9, B9), (A10, B10)) → C10
  13. Segment((A10, B10), (A11, B11)) → C11
  14. Segment((A11, B11), (A12, B12)) → C12
  15. Segment((A12, B12), (A13, B13)) → C13
  16. Segment((A13, B13), (A14, B14)) → C14
  17. Segment((A14, B14), (A15, B15)) → C15
  18. Segment((A15, B15), (A16, B16)) → C16
  19. Segment((A16, B16), (A17, B17)) → C17
  20. Segment((A17, B17), (A18, B18)) → C18
  21. Segment((A18, B18), (A19, B19)) → C19
  22. Segment((A19, B19), (A20, B20)) → C20
  23. Segment((A20, B20), (A21, B21)) → C21
  24. Segment((A21, B21), (A22, B22)) → C22
  25. Segment((A22, B22), (A23, B23)) → C23
  26. Segment((A23, B23), (A24, B24)) → C24
  27. Segment((A24, B24), (A25, B25)) → C25
  28. Segment((A25, B25), (A26, B26)) → C26
  29. Segment((A26, B26), (A27, B27)) → C27
  30. Segment((A27, B27), (A28, B28)) → C28
  31. Segment((A28, B28), (A29, B29)) → C29
  32. Segment((A29, B29), (A30, B30)) → C30
  33. Segment((A30, B30), (A31, B31)) → C31
  34. Segment((A31, B31), (A32, B32)) → C32
  35. Segment((A32, B32), (A33, B33)) → C33
  36. Segment((A33, B33), (A34, B34)) → C34
  37. Segment((A34, B34), (A35, B35)) → C35
  38. Segment((A35, B35), (A36, B36)) → C36
  39. Segment((A36, B36), (A37, B37)) → C37
  40. Segment((A37, B37), (A38, B38)) → C38
  41. Segment((A38, B38), (A39, B39)) → C39
  42. Segment((A39, B39), (A40, B40)) → C40
  43. Segment((A40, B40), (A41, B41)) → C41
  44. Segment((A41, B41), (A42, B42)) → C42
  45. Segment((A42, B42), (A43, B43)) → C43
  46. Segment((A43, B43), (A44, B44)) → C44
  47. Segment((A44, B44), (A45, B45)) → C45
  48. Segment((A45, B45), (A46, B46)) → C46
  49. Segment((A46, B46), (A47, B47)) → C47
  50. Segment((A47, B47), (A48, B48)) → C48
  51. Segment((A48, B48), (A49, B49)) → C49
  52. Segment((A49, B49), (A50, B50)) → C50
  53. Segment((A50, B50), (A51, B51)) → C51
  54. Segment((A51, B51), (A52, B52)) → C52
  55. Segment((A52, B52), (A53, B53)) → C53
  56. Segment((A53, B53), (A54, B54)) → C54
  57. Segment((A54, B54), (A55, B55)) → C55
  58. Segment((A55, B55), (A56, B56)) → C56
  59. Segment((A56, B56), (A57, B57)) → C57
  60. Segment((A57, B57), (A58, B58)) → C58
  61. Segment((A58, B58), (A59, B59)) → C59
  62. Segment((A59, B59), (A60, B60)) → C60
  63. Segment((A60, B60), (A61, B61)) → C61
  64. Segment((A61, B61), (A62, B62)) → C62
  65. Segment((A62, B62), (A63, B63)) → C63
  66. Segment((A63, B63), (A64, B64)) → C64
  67. Segment((A64, B64), (A65, B65)) → C65
  68. Segment((A65, B65), (A66, B66)) → C66
  69. Segment((A66, B66), (A67, B67)) → C67
  70. Segment((A67, B67), (A68, B68)) → C68
  71. Segment((A68, B68), (A69, B69)) → C69
  72. Segment((A69, B69), (A70, B70)) → C70
  73. Segment((A70, B70), (A71, B71)) → C71
  74. Segment((A71, B71), (A72, B72)) → C72
  75. Segment((A72, B72), (A73, B73)) → C73
  76. Segment((A73, B73), (A74, B74)) → C74
  77. Segment((A74, B74), (A75, B75)) → C75
  78. Segment((A75, B75), (A76, B76)) → C76
  79. Segment((A76, B76), (A77, B77)) → C77
  80. Segment((A77, B77), (A78, B78)) → C78
  81. Segment((A78, B78), (A79, B79)) → C79
  82. Segment((A79, B79), (A80, B80)) → C80
  83. Segment((A80, B80), (A81, B81)) → C81
  84. Segment((A81, B81), (A82, B82)) → C82
  85. Segment((A82, B82), (A83, B83)) → C83
  86. Segment((A83, B83), (A84, B84)) → C84
  87. Segment((A84, B84), (A85, B85)) → C85
  88. Segment((A85, B85), (A86, B86)) → C86
  89. Segment((A86, B86), (A87, B87)) → C87
  90. Segment((A87, B87), (A88, B88)) → C88
  91. Segment((A88, B88), (A89, B89)) → C89
  92. Segment((A89, B89), (A90, B90)) → C90
  93. Segment((A90, B90), (A91, B91)) → C91
  94. Segment((A91, B91), (A92, B92)) → C92
  95. Segment((A92, B92), (A93, B93)) → C93
  96. Segment((A93, B93), (A94, B94)) → C94
  97. Segment((A94, B94), (A95, B95)) → C95
  98. Segment((A95, B95), (A96, B96)) → C96
  99. Segment((A96, B96), (A97, B97)) → C97
  100. Segment((A97, B97), (A98, B98)) → C98
  101. Segment((A98, B98), (A99, B99)) → C99
  102. Segment((A99, B99), (A100, B100)) → C100
  103. Segment((A100, B100), (A101, B101)) → C101
  104. Midpoint(e) → E
  105. Vector(E, H) → v
  106. If(F > ((μ_s * m) * g), fk, fsmax) → f
  107. Vector(E, (x(E) + (F * cos(θ) / 20), y(E))) → T_x
  108. Vector((x(E) + 0.02, y(E)), (x(E) + 0.02, y(E) + (F * sin(θ) / 20))) → T_y
  109. Vector(E, (x(E) + (F * cos(θ) / 20), y(E) + (F * sin(θ) / 20))) → T
  110. Vector(E, (x(E), y(E) - (m * 9.8 / 20))) → mg
  111. Vector((x(E) - 0.02, y(E)), (x(E) - 0.02, y(E) + Length[mg] - Length[T_y])) → n
  112. Vector(E, H2) → u
  113. If(vel > 0, ((F * cos(θ)) - fk) / m, If[fsmax > (F * cos(θ)), 0, ((F * cos(θ)) - fk) / m]) → acc
  114. If((F * sin(θ)) ≥ (m * g), true, false) → up
  115. Angle(T_x, T) → α
  116. Textfield(F) → inputBox1
  117. Textfield(m) → inputBox2
  118. Textfield(θ) → inputBox3
  119. Textfield(μ_s) → inputBox4
  120. Textfield(μ_k) → inputBox5

AI Drawing Prompt Reference

Draw a diagram simulating a box being pulled on a horizontal surface. The diagram should include a horizontal surface, a box, a rope connecting the box to a fixed point, and a force diagram showing static and kinetic friction. The construction order should be: first draw the horizontal surface, then place the box, then draw the rope, and finally add the force diagram to illustrate the direction and magnitude of friction. The diagram should reflect the difference between static and kinetic friction and how the pulling force affects motion.
The prompt above was compiled from the original drawing commands and is for reference only.