%23%20%2F%2F%2F%20script%0A%23%20requires-python%20%3D%20%22%3E%3D3.11%22%0A%23%20dependencies%20%3D%20%5B%22marimo%3E%3D0.23.9%22%2C%20%22numpy%3E%3D2.0%22%2C%20%22matplotlib%3E%3D3.9%22%2C%20%22scipy%3E%3D1.14%22%2C%20%22urllib3%3E%3D2.2%22%2C%20%22ipython%22%5D%0A%23%20%2F%2F%2F%0A%0Aimport%20marimo%0A%0A__generated_with%20%3D%20%220.25.2%22%0Aapp%20%3D%20marimo.App()%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%20Biomechanical%20analysis%20of%20vertical%20jumps%0A%0A%20%20%20%20%3E%20Marcos%20Duarte%2C%20Renato%20Naville%20Watanabe%3Cbr%3E%0A%20%20%20%20%3E%20%5BLaboratory%20of%20Biomechanics%20and%20Motor%20Control%5D(https%3A%2F%2Fbmclab.pesquisa.ufabc.edu.br%2F)%3Cbr%3E%0A%20%20%20%20%3E%20Federal%20University%20of%20ABC%2C%20Brazil%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%20How%20to%20use%20this%20guide%0A%0A%20%20%20%20We%20will%20connect%20flight%20time%2C%20net%20impulse%20and%20force-platform%20integration.%20The%20force%20plate%20measures%20ground%20reaction%20force%3B%20acceleration%20needs%20that%20force%20minus%20body%20weight.%20Before%20comparing%20jump-height%20estimates%2C%20choose%20takeoff%2Flanding%20events%2C%20the%20force%20baseline%20and%20the%20initial%20velocity.%0A%0A%20%20%20%20Try%20the%20distributed%20**Exercises**%20before%20opening%20their%20collapsed%20worked%20solutions.%20Then%20use%20the%20**Checkpoint%20questions**%20and%20attempt%20the%20**Problems**%20independently%3B%20their%20panels%20contain%20final%20answers%20only.%20Predict%20the%20effect%20of%20a%20parameter%20change%20before%20running%20it%2C%20and%20check%20units%20and%20limiting%20cases.%0A%0A%20%20%20%20**Opening%20challenge.**%20Two%20jumps%20have%20the%20same%20flight%20time%2C%20but%20one%20lands%20with%20deeply%20bent%20knees.%20Does%20the%20usual%20flight-time%20formula%20necessarily%20give%20the%20same%20true%20rise%20of%20the%20center%20of%20mass%3F%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%20Python%20setup%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_()%3A%0A%20%20%20%20try%3A%0A%20%20%20%20%20%20%20%20from%20notebook_resources%20import%20repo_file%0A%20%20%20%20except%20ModuleNotFoundError%20as%20_error%3A%0A%20%20%20%20%20%20%20%20if%20_error.name%20!%3D%20%22notebook_resources%22%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20raise%0A%20%20%20%20%20%20%20%20raise%20ModuleNotFoundError(%0A%20%20%20%20%20%20%20%20%20%20%20%20%22This%20notebook%20needs%20notebook_resources.py.%20Download%20it%20from%3A%5Cn%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%22https%3A%2F%2Fraw.githubusercontent.com%2FBMClab%2FBMC%2Fmaster%2Ffunctions%2Fnotebook_resources.py%5Cn%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Save%20it%20in%20the%20same%20folder%20as%20this%20notebook%2C%20then%20rerun%20this%20cell.%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20name%3D%22notebook_resources%22%2C%0A%20%20%20%20%20%20%20%20)%20from%20None%0A%20%20%20%20return%20(repo_file%2C)%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20import%20numpy%20as%20np%0A%20%20%20%20from%20scipy.integrate%20import%20cumulative_trapezoid%0A%20%20%20%20import%20matplotlib.pyplot%20as%20plt%0A%20%20%20%20from%20IPython.display%20import%20YouTubeVideo%0A%0A%20%20%20%20return%20YouTubeVideo%2C%20cumulative_trapezoid%2C%20np%2C%20plt%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%20Introduction%0A%0A%20%20%20%20A%20vertical%20jump%20is%20the%20act%20of%20raising%20(in%20the%20vertical%20direction)%20the%20body%20center%20of%20gravity%20using%20your%20own%20muscle%20forces%20and%20jumping%20into%20the%20air%20(%5BWikipedia%5D(https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FVertical_jump)).%0A%0A%20%20%20%20Besides%20being%20an%20important%20element%20in%20several%20sports%2C%20the%20vertical%20jump%20can%20be%20used%20to%20train%20and%20evaluate%20some%20physical%20capacities%20(e.g.%2C%20strength%20and%20power)%20of%20a%20person.%0A%0A%20%20%20%20In%20this%20notebook%20we%20will%20study%20some%20aspects%20of%20the%20biomechanics%20of%20vertical%20jumps.%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%20Center%20of%20gravity%0A%0A%20%20%20%20Center%20of%20gravity%20or%20center%20of%20mass%20is%20a%20measure%20of%20the%20average%20location%20in%20space%20of%20the%20body%20considering%20all%20body%20segments%2C%20their%20mass%20and%20their%20position.%3Cbr%3E%0A%20%20%20%20From%20Mechanics%2C%20the%20exact%20definitions%20of%20these%20quantities%20are%3A%0A%0A%20%20%20%20-%20**Center%20of%20mass%20(CM)**%3A%20The%20center%20of%20mass%20(or%20barycenter)%20is%20the%20unique%20point%20at%20the%20center%20of%20a%20distribution%20of%20mass%20in%20space%20that%20has%20the%20property%20that%20the%20weighted%20position%20vectors%20relative%20to%20this%20point%20sum%20to%20zero.%20SI%20unit%3A%20%24m%24%20(vector).%3Cbr%3E%0A%20%20%20%20-%20**Center%20of%20gravity%20(CG)**%3A%20Center%20of%20gravity%20is%20the%20point%20in%20an%20object%20around%20which%20the%20resultant%20torque%20due%20to%20gravity%20forces%20vanishes.%20Near%20the%20surface%20of%20the%20earth%2C%20where%20the%20gravity%20acts%20downward%20as%20a%20parallel%20force%20field%2C%20the%20center%20of%20gravity%20and%20the%20center%20of%20mass%20are%20the%20same.%20SI%20unit%3A%20%24m%24%20(vector).%0A%0A%20%20%20%20The%20mathematical%20definition%20for%20the%20center%20of%20mass%20or%20center%20of%20gravity%20of%20a%20system%20with%20N%20objects%20(or%20particles)%2C%20each%20with%20mass%20%24m_i%24%20and%20position%20%24r_i%24%20is%3A%0A%0A%20%20%20%20%24%24%0A%20%20%20%20%5Cbegin%7Barray%7D%7Bl%20l%7D%0A%20%20%20%20%5Cvec%7Br%7D_%7Bcm%7D%20%3D%20%5Cdfrac%7B1%7D%7BM%7D%5Csum_%7Bi%3D1%7D%5EN%20m_%7Bi%7D%5Cvec%7Br%7D_i%20%5Cquad%5Cquad%20%5Ctext%7Bwhere%7D%20%5Cquad%20M%20%3D%20%5Csum_%7Bi%3D1%7D%5EN%20m_%7Bi%7D%20%5C%5C%0A%20%20%20%20%5Cvec%7Br%7D_%7Bcg%7D%20%3D%20%5Cdfrac%7B1%7D%7BMg%7D%5Csum_%7Bi%3D1%7D%5EN%20m_%7Bi%7Dg_%7Bi%7D%5Cvec%7Br%7D_i%20%5Cquad%20%5Ctext%7Bwhere%7D%20%5Cquad%20Mg%20%3D%20%5Csum_%7Bi%3D1%7D%5EN%20m_%7Bi%7Dg_%7Bi%7D%0A%20%20%20%20%5Cend%7Barray%7D%0A%20%20%20%20%24%24%0A%0A%20%20%20%20If%20we%20consider%20%24g%24%20constant%3A%0A%0A%20%20%20%20%24%24%0A%20%20%20%20%5Cbegin%7Barray%7D%7Bl%20l%7D%0A%20%20%20%20%5Cvec%7Br%7D_%7Bcg%7D%20%3D%20%5Cdfrac%7Bg%7D%7BMg%7D%5Csum_%7Bi%3D1%7D%5EN%20m_%7Bi%7D%20%5C%3A%20%5Cvec%7Br%7D_i%20%3D%20%5Cdfrac%7B1%7D%7BM%7D%5Csum_%7Bi%3D1%7D%5EN%20m_%7Bi%7D%5C%3A%5Cvec%7Br%7D_i%20%5C%5C%0A%20%20%20%20%5C%5C%0A%20%20%20%20%5Cvec%7Br%7D_%7Bcg%7D%20%3D%20%5Cvec%7Br%7D_%7Bcm%7D%0A%20%20%20%20%5Cend%7Barray%7D%0A%20%20%20%20%24%24%0A%0A%20%20%20%20This%20means%20that%20how%20much%20a%20person%20jumps%20is%20measured%20by%20the%20displacement%20of%20his%20or%20her%20center%20of%20gravity%2C%20and%20not%20by%20how%20much%20the%20feet%20was%20raised%20in%20space.%20For%20instance%2C%20the%20following%20Youtube%20video%20entitled%20%22Highest%20Vertical%20jump%2062%20inches%22%20(157.5%20cm!)%20shows%20a%20great%20vertical%20jump%2C%20but%20in%20fact%20its%20height%20is%20'just'%20about%20half%20of%20that%3A%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_(YouTubeVideo)%3A%0A%20%20%20%20YouTubeVideo('NUyql5IFTNY')%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20So%2C%20the%20true%20measurement%20of%20the%20height%20of%20a%20vertical%20jump%20is%20the%20displacement%20of%20the%20center%20of%20gravity%20in%20the%20vertical%20direction.%20A%20problem%20is%20that%20to%20measure%20the%20center%20of%20gravity%20position%20is%20usually%20too%20complicated%20because%20we%20would%20have%20to%20estimate%20the%20position%20of%20each%20body%20segment.%3Cbr%3E%0A%20%20%20%20Instead%2C%20there%20are%20alternative%20methods%20with%20varying%20degrees%20of%20accuracy%20for%20measuring%20the%20height%20of%20vertical%20jump%20(%5Bsee%20here%20for%20a%20list%5D(http%3A%2F%2Fwww.topendsports.com%2Ftesting%2Fequipment-verticaljump.htm))%3A%0A%0A%20%20%20%20-%20%5B**Sargent%20Jump%20Test**%5D(http%3A%2F%2Fwww.brianmac.co.uk%2Fsgtjump.htm).%20How%20high%20you%20can%20reach%20an%20object.%0A%20%20%20%20-%20**Flight%20time%20measurement**.%20From%20Newton's%20laws%20of%20motion%2C%20the%20height%20of%20a%20jump%20is%20related%20to%20the%20flight%20time%20under%20controlled%20conditions.%20One%20can%20measure%20the%20flight%20time%20using%20a%20%5Bcontact%20mat%5D(http%3A%2F%2Fwww.probotics.org%2FJustJump%2FverticalJump.htm)%2C%20light%20sensor%2C%20%5Baccelerometer%5D(http%3A%2F%2Fwww.jssm.org%2Fvol11%2Fn1%2F17%2Fv11n1-17pdf.pdf)%2C%20video%20(the%20number%20of%20frames%20the%20jumper%20is%20in%20the%20air)%2C%20attaching%20a%20cable%20to%20the%20jumper's%20waist%20and%20measuring%20the%20displacement%20of%20this%20cable%2C%20etc.%0A%20%20%20%20-%20**Force%20platform%20measurements**.%20A%20device%20called%20%5Bforce%20platform%5D(https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FForce_platform)%20which%20measures%20the%20forces%20applied%20on%20the%20ground%20as%20a%20function%20of%20time%20can%20also%20be%20used%20to%20measure%20the%20flight%20time%20and%20then%20the%20height%20of%20vertical%20jump.%20But%20the%20real%20utility%20of%20the%20force%20platform%20is%20that%20it%20can%20actually%20measure%20the%20force%20produced%20by%20the%20jumper%20to%20find%20the%20displacement%20of%20the%20center%20of%20gravity%20using%20Newton's%20laws%20of%20motion.%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%23%20Measurement%20of%20the%20jump%20height%20from%20flight%20time%0A%0A%20%20%20%20We%20can%20estimate%20the%20height%20of%20a%20jump%20measuring%20for%20how%20long%20the%20jumper%20stayed%20in%20the%20air%20during%20the%20jump%20(flight%20time).%20At%20the%20vertical%20direction%20and%20ignoring%20the%20air%20resistance%2C%20the%20only%20external%20force%20that%20acts%20on%20the%20body%20in%20the%20air%20is%20the%20(constant)%20gravitational%20force%2C%20with%20magnitude%20%24P%20%3D%20-mg%24%2C%20where%20%24g%24%20is%20the%20acceleration%20of%20gravity%20(about%20%249.8%20m%2Fs%5E2%24%20on%20the%20surface%20of%20the%20Earth).%20Using%20the%20equation%20of%20motion%20for%20a%20body%20with%20constant%20acceleration%2C%20the%20height%20of%20the%20center%20of%20gravity%20of%20a%20body%20in%20the%20air%20at%20a%20certain%20time%20is%3A%0A%0A%20%20%20%20%24%24%0A%20%20%20%20h(t)%20%3D%20h_0%20%2B%20v_0%20t%20-%20%5Cfrac%7Bgt%5E2%7D%7B2%7D%0A%20%20%20%20%24%24%0A%0A%20%20%20%20At%20the%20maximum%20height%20(%24h%24%2C%20the%20jump%20height)%2C%20the%20vertical%20velocity%20of%20the%20body%20is%20zero.%20We%20can%20take%20use%20this%20property%20to%20calculate%20the%20jump%20height%20from%20the%20time%20of%20falling%3A%0A%0A%20%20%20%20%24%24%0A%20%20%20%20h%20%3D%20%5Cfrac%7Bgt_%7Bfall%7D%5E2%7D%7B2%7D%0A%20%20%20%20%24%24%0A%0A%20%20%20%20Because%20the%20time%20of%20falling%20is%20equal%20to%20the%20time%20of%20rising%2C%20%24t_%7Bflight%7D%20%3D%20t_%7Brise%7D%20%2B%20t_%7Bfall%7D%20%3D%202%20t_%7Bfall%7D%24%2C%20the%20jump%20height%20as%20a%20function%20of%20the%20flight%20time%20is%3A%0A%0A%20%20%20%20%24%24%0A%20%20%20%20h%20%3D%20%5Cfrac%7Bgt_%7B%5Ctext%7Bflight%7D%7D%5E2%7D%7B8%7D%0A%20%20%20%20%24%24%0A%0A%20%20%20%20This%20simple%20equation%20is%20the%20principle%20of%20measurement%20of%20the%20jump%20height%20any%20an%20instrument%20that%20measures%20the%20time%20the%20feet%20is%20not%20in%20contact%20with%20ground%20(using%20a%20pressure%20mat%20or%20a%20photocell%20sensor).%3Cbr%3E%0A%20%20%20%20There%20are%20(were)%20even%20shoes%20using%20this%20principle%20of%20measurement%3A%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_(YouTubeVideo)%3A%0A%20%20%20%20YouTubeVideo('QXnQ4ENjTuY')%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%23%23%20Beware%3A%20the%20flight%20time%20you%20measure%20not%20always%20is%20the%20flight%20time%20you%20want%0A%0A%20%20%20%20However%2C%20the%20flight%20time%2C%20measured%20as%20the%20time%20without%20contact%20with%20the%20ground%2C%20during%20a%20jump%20is%20not%20necessarily%20equal%20to%20the%20flight%20time%20of%20the%20body%20center%20of%20gravity%20(which%20is%20the%20measure%20we%20need%20to%20estimate%20the%20actual%20height%20jump).%0A%0A%20%20%20%20For%20example%2C%20if%20the%20jumper%20flexes%20knees%20and%20hips%20at%20the%20landing%20phase%2C%20the%20measured%20flight%20time%20will%20be%20larger%20but%20not%20the%20flight%20time%20of%20the%20body%20center%20of%20gravity.%20Because%20that%2C%20a%20more%20accurate%20method%20is%20to%20use%20a%20force%20platform%20as%20we%20will%20see%20now.%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20**Exercise%201%20%E2%80%94%20Check%20flight%20symmetry.**%20For%20flight%20time%200.50%20s%20and%20%24g%3D9.81%24%20m%2Fs%C2%B2%2C%20estimate%20jump%20height%20when%20COM%20height%20is%20equal%20at%20takeoff%20and%20landing.%20What%20assumption%20fails%20if%20landing%20COM%20is%20lower%3F%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%2F%2F%2F%20details%20%7C%20Solution%20to%20Exercise%201%0A%0A%20%20%20%20%24h%3DgT%5E2%2F8%3D0.3066%24%20m.%20The%20formula%20uses%20equal%20ascent%20and%20descent%20times.%20A%20lower%20landing%20COM%20lengthens%20descent%20and%20flight%20time%2C%20so%20this%20estimate%20overstates%20the%20rise%20above%20takeoff.%0A%20%20%20%20%2F%2F%2F%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%23%20Measurement%20of%20the%20jump%20height%20using%20a%20force%20platform%0A%0A%20%20%20%20Let's%20draw%20the%20%5Bfree%20body%20diagram%5D(https%3A%2F%2Fmolab.marimo.io%2Fgithub%2FBMClab%2FBMC%2Fblob%2Fmaster%2Fnotebooks%2Ffree_body_diagram.py)%20for%20a%20person%20performing%20a%20jump%3A%0A%0A%20%20%20%20%3Cdiv%20class%3D'center-align'%3E%3Cfigure%20aria-describedby%3D%22figure-caption-1%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fgithub.com%2FBMClab%2FBMC%2Fblob%2Fmaster%2Fimages%2FFBDjump.png%3Fraw%3D1%22%20alt%3D%22Vertical%20jump%20FBD%22%2F%3E%3C%2Ffigure%3E%3C%2Fdiv%3E%0A%0A%20%20%20%20%3Cspan%20id%3D%22figure-caption-1%22%20class%3D%22figure-caption%22%20style%3D%22display%3Ablock%3Btext-align%3Acenter%3Bfont-style%3Aitalic%22%3EA%20person%20during%20the%20propulsion%20phase%20of%20jumping%20and%20the%20corresponding%20free%20body%20diagram%20drawn%20for%20the%20center%20of%20mass.%20GRF(t)%20is%20the%20time-varying%20ground%20reaction%20force.%3C%2Fspan%3E%0A%0A%20%20%20%20So%2C%20according%20to%20the%20Euler's%20version%20of%20the%20Newton's%20second%20law%20(for%20the%20motion%20of%20the%20body%20center%20of%20mass)%2C%20the%20dynamics%20(as%20a%20function%20of%20time)%20for%20the%20body%20center%20of%20mass%20during%20a%20jump%20is%20given%20by%3A%0A%0A%20%20%20%20%24%24%0A%20%20%20%20GRF(t)%20-%20mg%20%3D%20ma(t)%0A%20%20%20%20%24%24%0A%0A%20%20%20%20Where%20%24GRF(t)%24%20is%20the%20ground%20reaction%20force%20applied%20by%20the%20ground%20on%20the%20jumper%2C%20%24m%24%20is%20the%20subject%20mass%2C%20and%20%24a(t)%24%20the%20center%20of%20mass%20acceleration.%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%23%20Force%20platform%0A%0A%20%20%20%20Force%20platform%20or%20force%20plate%20is%20an%20instrument%20for%20measuring%20the%20forces%20generated%20by%20a%20body%20acting%20on%20the%20platform.%20A%20force%20plate%20is%20an%20electromechanical%20transducer%20that%20measures%20force%20typically%20by%20measuring%20the%20deformation%20(strain)%20on%20its%20sensors%20and%20converting%20that%20to%20electrical%20signals.%20These%20electrical%20signals%20are%20converted%20back%20to%20force%20and%20moment%20of%20force%20using%20calibration%20factors.%0A%0A%20%20%20%20%3Cdiv%20class%3D'center-align'%3E%3Cfigure%20aria-describedby%3D%22figure-caption-2%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fgithub.com%2FBMClab%2FBMC%2Fblob%2Fmaster%2Fimages%2FKistlerForcePlate.png%3Fraw%3D1%22%20alt%3D%22A%20force%20plate%20and%20its%20coordinate%20system%20convention%22%2F%3E%3C%2Ffigure%3E%3C%2Fdiv%3E%0A%0A%20%20%20%20%3Cspan%20id%3D%22figure-caption-2%22%20class%3D%22figure-caption%22%20style%3D%22display%3Ablock%3Btext-align%3Acenter%3Bfont-style%3Aitalic%22%3EFigure.%20A%20force%20plate%20and%20its%20coordinate%20system%20convention%20(from%20%3Ca%20href%3D%22http%3A%2F%2Fisbweb.org%2Fsoftware%2Fmovanal%2Fvaughan%2Fkistler.pdf%22%3EKistler%20Force%20Plate%20Formulae%3C%2Fa%3E).%3C%2Fspan%3E%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20Usually%20the%20force%20platform%20is%20placed%20on%20the%20floor%20and%20we%20are%20interested%20not%20in%20the%20force%20applied%20on%20the%20force%20platform%2C%20but%20in%20its%20reaction%2C%20the%20force%20that%20the%20force%20platform%20applied%20on%20the%20jumper%2C%20which%2C%20according%20to%20Newton's%20third%20law%20of%20motion%2C%20has%20the%20same%20magnitude%20and%20line%20of%20action%20but%20opposite%20direction.%20Because%20of%20that%2C%20usually%20the%20forces%20measured%20by%20the%20force%20platform%20are%20referred%20as%20ground%20reaction%20forces.%0A%0A%20%20%20%20Most%20of%20the%20commercial%20force%20platforms%20are%20able%20to%20measure%20the%20vectors%20force%2C%24%5BF_X%2C%5C%2C%20F_Y%2C%5C%2C%20F_Z%5D%24%2C%20and%20moment%20of%20force%2C%24%5BM_X%2C%5C%2C%20M_Y%2C%5C%2C%20M_Z%5D%24%2C%20from%20which%20the%20%5Bcenter%20of%20pressure%5D(https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FCenter_of_pressure_(terrestrial_locomotion)%20(COP%2C%20the%20point%20of%20application%20of%20the%20resultant%20force%20on%20the%20force%20plate)%20can%20be%20calculated%24%5BCOP_X%2C%5C%2C%20COP_Y%5D%24.%20Because%20of%20that%2C%20these%20force%20platforms%20are%20known%20as%20six-components.%20Force%20platforms%20that%20can%20measure%20only%20the%20vertical%20force%20component%20and%20two%20moments%20of%20force%20(or%20the%20two%20COPs)%20are%20known%20as%20three-components.%0A%0A%20%20%20%20Read%20more%20about%20force%20platforms%20in%20chapter%205%20or%20Winter's%20book%20and%20in%20Cross%20(1999).%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%23%23%20Ground%20reaction%20force%20during%20vertical%20jump%0A%0A%20%20%20%20Here%20is%20a%20video%20from%20Youtube%20of%20a%20person%20jumping%20and%20a%20plot%20of%20the%20ground%20reaction%20force%20measured%20with%20a%20force%20platform%3A%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_(YouTubeVideo)%3A%0A%20%20%20%20YouTubeVideo('qN3apht8zRs')%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20Here%20is%20a%20plot%20of%20the%20vertical%20component%20of%20the%20ground%20reaction%20force%20measured%20with%20a%20force%20platform%20during%20a%20vertical%20jump%20with%20countermovement%3A%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%23%20Processing%20this%20recording%0A%0A%20%20%20%20The%20quiet%20airborne%20interval%20from%200.95%20to%201.25%20s%20supplies%20a%20median%20force%20offset.%20Subtract%20it%20once%2C%20then%20estimate%20body%20weight%20from%20the%20first%200.10%20s%20using%20the%20same%20corrected%20force.%20Takeoff%2Flanding%20use%20a%2010%20N%20contact%20threshold%3B%20movement%20onset%20uses%20a%205%25%20drop%20from%20body%20weight.%20These%20are%20explicit%20choices%20for%20this%20recording.%20Change%20them%20in%20a%20sensitivity%20analysis%2C%20and%20do%20not%20subtract%20the%20minimum%20sample%20as%20a%20second%20offset%20correction.%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_(np%2C%20plt%2C%20repo_file)%3A%0A%20%20%20%20GRFv%20%3D%20np.loadtxt(repo_file('data%2FGRFZjump.txt')%2C%20skiprows%3D0%2C%20unpack%3DFalse)%0A%20%20%20%20freq%20%3D%20600%0A%20%20%20%20time%20%3D%20np.arange(0%2C%20len(GRFv)%20%2F%20freq%2C%201%20%2F%20freq)%0A%20%20%20%20g%20%3D%209.8%0A%20%20%20%20_force_offset%20%3D%20np.median(GRFv%5Bint(0.95%20*%20freq)%3Aint(1.25%20*%20freq)%5D)%0A%20%20%20%20GRFv%20%3D%20GRFv%20-%20_force_offset%0A%20%20%20%20m%20%3D%20np.mean(GRFv%5B0%3Aint(freq%20%2F%2010)%5D)%20%2F%20g%0A%20%20%20%20(_fig%2C%20ax)%20%3D%20plt.subplots(1%2C%201%2C%20figsize%3D(10%2C%204))%0A%20%20%20%20ax.plot(time%2C%20GRFv%2C%20'b'%2C%20linewidth%3D'3')%0A%20%20%20%20ax.plot(%5Btime%5B0%5D%2C%20time%5B-1%5D%5D%2C%20%5Bm%20*%20g%2C%20m%20*%20g%5D%2C%20'k'%2C%20linewidth%3D'2')%0A%20%20%20%20ax.set_xlabel('Time%20%5Bs%5D'%2C%20fontsize%3D16)%0A%20%20%20%20ax.set_ylabel('Vertical%20GRF%20%5BN%5D'%2C%20fontsize%3D16)%0A%20%20%20%20ax.set_xticks(np.arange(time%5B0%5D%2C%20time%5B-1%5D%2C%200.2))%0A%20%20%20%20ax.grid()%0A%20%20%20%20plt.tight_layout()%0A%20%20%20%20plt.show()%0A%20%20%20%20return%20GRFv%2C%20freq%2C%20g%2C%20m%2C%20time%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20This%20graph%20of%20the%20vertical%20component%20of%20the%20ground%20reaction%20force%20shown%20above%20has%20very%20interesting%20things%3A%0A%0A%20%20%20%201.%20At%20the%20beginning%20the%20jumper%20was%20standing%20still%20and%20the%20GRF%20is%20equal%20to%20the%20jumper's%20body%20weight%3B%0A%20%20%20%202.%20After%20the%20jumper%20started%20the%20movement%20to%20jump%20there%20is%20a%20phase%20where%20GRF%20is%20lower%20than%20the%20body%20weight%20even%20with%20the%20jumper%20completely%20on%20the%20ground%3B%0A%20%20%20%203.%20The%20GRF%20increases%20to%20about%20two%20times%20the%20body%20weight%20while%20the%20jumper%20is%20still%20on%20the%20ground%3B%0A%20%20%20%204.%20When%20the%20jumper%20is%20in%20the%20air%20is%20clearly%20indicated%20by%20the%20zero%20values%20of%20GRF%3B%0A%20%20%20%205.%20After%20landing%20the%20GRF%20reaches%20a%20peak%20of%20about%20six%20times%20the%20jumper's%20body%20weight.%0A%0A%20%20%20%20These%20are%20all%20interesting%20things%20but%20we%20will%20discuss%20only%20some%20of%20them%20next.%3Cbr%3E%0A%20%20%20%20We%20can%20detect%20the%20takeoff%20and%20landing%20instants%20by%20detecting%20the%20first%20and%20last%20time%20GRF%20is%20under%20a%20certain%20threshold%20(close%20to%20zero)%3A%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_(GRFv%2C%20np%2C%20time)%3A%0A%20%20%20%20GRFv_1%20%3D%20GRFv.copy()%20%20%23%20already%20corrected%20using%20the%20unloaded%20flight%20baseline%0A%20%20%20%20limiar%20%3D%2010%0A%20%20%20%20_inds%20%3D%20np.where(GRFv_1%20%3C%20limiar)%0A%20%20%20%20i1%20%3D%20_inds%5B0%5D%5B0%5D%0A%20%20%20%20i2%20%3D%20_inds%5B0%5D%5B-1%5D%0A%20%20%20%20print('Takeoff%20instant%20%7B%3A.3f%7D%20s'.format(time%5Bi1%5D))%0A%20%20%20%20print('Landing%20instant%20%7B%3A.3f%7D%20s'.format(time%5Bi2%5D))%0A%20%20%20%20return%20GRFv_1%2C%20i1%2C%20i2%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20The%20jump%20height%20can%20be%20calculated%20from%20these%20instants%20using%20the%20kinematic%20expression%3A%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_(g%2C%20i1%2C%20i2%2C%20time)%3A%0A%20%20%20%20h%20%3D%20g*(time%5Bi2%5D-time%5Bi1%5D)**2%2F8%0A%20%20%20%20print('Jump%20height%20%7B%3A.3f%7D%20m'.format(h))%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20We%20can%20detect%20the%20beginning%20of%20movement%20by%20detecting%20when%20GRFv%20starts%20to%20go%20below%20the%20body%20weight%3A%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_(GRFv_1%2C%20g%2C%20m%2C%20np%2C%20time)%3A%0A%20%20%20%20_inds%20%3D%20np.where(GRFv_1%20%3C%200.95%20*%20m%20*%20g)%0A%20%20%20%20i0%20%3D%20_inds%5B0%5D%5B0%5D%0A%20%20%20%20print('Jump%20start%20%7B%3A.3f%7D%20s'.format(time%5Bi0%5D))%0A%20%20%20%20return%20(i0%2C)%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20**Exercise%202%20%E2%80%94%20Subtract%20body%20weight.**%20A%2060%20kg%20jumper%20receives%20average%20GRF%20900%20N%20for%200.20%20s%2C%20starting%20with%20zero%20vertical%20velocity.%20Use%20%24g%3D10%24%20m%2Fs%C2%B2.%20Find%20net%20impulse%20and%20final%20velocity.%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%2F%2F%2F%20details%20%7C%20Solution%20to%20Exercise%202%0A%0A%20%20%20%20Body%20weight%20is%20600%20N.%20Net%20impulse%20is%20%24(900-600)(0.20)%3D60%24%20N%20s%2C%20giving%20%24%5CDelta%20v%3D60%2F60%3D1%24%20m%2Fs.%20Integrating%20900%20N%20alone%20would%20include%20the%20impulse%20needed%20merely%20to%20oppose%20gravity.%0A%20%20%20%20%2F%2F%2F%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%23%20Jump%20height%20from%20the%20impulse%20measurement%0A%0A%20%20%20%20We%20know%20that%20the%20%5Bmechanical%20impulse%5D(kinetics_fundamental_concepts.py%23impulse)%20is%20equal%20to%20the%20change%20in%20linear%20momentum%20of%20a%20body%2C%20which%20for%20a%20body%20with%20constant%20mass%20is%20simply%20the%20body%20mass%20times%20the%20change%20in%20velocity.%20For%20a%20time-varying%20force%2C%20the%20impulse%20is%3A%0A%0A%20%20%20%20%24%24%0A%20%20%20%20%5Cvec%7BImp%7D%20%3D%20%5Cint_%7Bt_0%7D%5E%7Bt_f%7D%20%5Cvec%7BF%7D(t)%20%5Cmathrm%7Bd%7Dt%20%3D%20m%20%5B%5Cvec%7Bv%7D_%7Bt_f%7D%20-%20%5Cvec%7Bv%7D_%7Bt_0%7D%5D%0A%20%20%20%20%24%24%0A%0A%20%20%20%20For%20the%20analysis%20of%20a%20vertical%20jump%2C%20in%20the%20vertical%20direction%20%24F(t)%20%3D%20GRF(t)%20-%20mg%24%20and%20%24F(t)%24%20is%20discrete%20in%20time%20(sampled%20at%20intervals%20%24%5CDelta%20t%24)%3A%0A%0A%20%20%20%20%24%24%0A%20%20%20%20Imp%20%3D%20%5Csum_%7Bt_0%7D%5E%7Bt_f%7D%20F(t)%5CDelta%20t%20%3D%20m%20%5Bv_%7Bt_f%7D%20-%20v_%7Bt_0%7D%5D%0A%20%20%20%20%24%24%0A%0A%20%20%20%20For%20a%20jump%20starting%20from%20a%20rest%20position%2C%20the%20initial%20velocity%20is%20zero.%20This%20means%20that%20the%20change%20in%20velocity%20is%20equal%20to%20the%20final%20velocity%20(at%20the%20moment%20of%20takeoff).%20Therefore%2C%20we%20can%20calculate%20the%20final%20velocity%20of%20the%20propulsion%20phase%20as%3A%0A%0A%20%20%20%20%24%24%0A%20%20%20%20%5Cbegin%7Barray%7D%7Bl%20l%7D%0A%20%20%20%20%5Csum_%7Bt_0%7D%5E%7Bt_f%7D%20F(t)%5CDelta%20t%20%3D%20m%5Bv_f-0%5D%20%5Cimplies%20%5C%5C%0A%20%20%20%20v_f%20%3D%20%5Cdfrac%7B%5Csum_%7Bt_0%7D%5E%7Bt_f%7D%20F(t)%5CDelta%20t%7D%7Bm%7D%0A%20%20%20%20%5Cend%7Barray%7D%0A%20%20%20%20%24%24%0A%0A%20%20%20%20This%20final%20velocity%20is%20the%20initial%20velocity%20of%20the%20aerial%20phase%20of%20the%20jump.%3Cbr%3E%0A%20%20%20%20If%20we%20know%20the%20initial%20velocity%20of%20the%20jump%2C%20it's%20straightforward%20to%20calculate%20the%20jump%20height%2C%20for%20example%2C%20using%20the%20%5BTorricelli's%20equation%5D(https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FTorricelli's_equation)%3A%0A%0A%20%20%20%20%24%24%0A%20%20%20%20v_f%5E2%20%3D%20v_0%5E2%20-%202gh%0A%20%20%20%20%24%24%0A%0A%20%20%20%20Where%20%24v_i%24%20and%20%24v_f%24%20are%20the%20initial%20and%20final%20velocities%20and%20%24h%24%20is%20the%20change%20in%20the%20position%20of%20the%20body%20center%20of%20gravity%20(the%20height%20of%20the%20vertical%20jump)%20and%20we%20considered%20just%20the%20first%20part%20of%20the%20jump%2C%20the%20upward%20phase.%0A%0A%20%20%20%20From%20Mechanics%20we%20know%20that%20the%20velocities%20at%20takeoff%20and%20at%20landing%20are%20equal%20in%20magnitude%20and%20that%20the%20time%20of%20the%20upward%20phase%20is%20equal%20to%20the%20time%20of%20the%20downward%20phase%20of%20this%20ballistic%20flight.%0A%0A%20%20%20%20For%20the%20upward%20phase%20of%20the%20vertical%20jump%3A%0A%0A%20%20%20%20%24%24%0A%20%20%20%20%5Cbegin%7Barray%7D%7Bl%20l%7D%0A%20%20%20%200%20%3D%20v_0%5E2%20-%202gh%20%5Cimplies%20%5C%5C%0A%20%20%20%20h%20%3D%20%5Cdfrac%7Bv_0%5E2%7D%7B2g%7D%0A%20%20%20%20%5Cend%7Barray%7D%0A%20%20%20%20%24%24%0A%0A%20%20%20%20We%20could%20also%20have%20calculated%20the%20jump%20height%20from%20the%20velocity%20using%20the%20%5Bprinciple%20of%20conservation%20of%20the%20mechanical%20energy%5D(kinetics_fundamental_concepts.py%23principles-of-conservation).%20The%20sum%20of%20the%20potential%20and%20kinetic%20energies%20at%20the%20instants%20beginning%20of%20the%20jump%20(%24t_0%24)%20and%20highest%20point%20of%20the%20jump%20trajectory%20(%24t_%7Bhmax%7D%24)%20are%20equal%3A%0A%0A%20%20%20%20%24%24%0A%20%20%20%20mgh(t_0)%20%2B%20%5Cfrac%7Bmv%5E2(t_0)%7D%7B2%7D%20%3D%20mgh(t_%7Bhmax%7D)%20%2B%20%5Cfrac%7Bmv%5E2(t_%7Bhmax%7D)%7D%7B2%7D%0A%20%20%20%20%24%24%0A%0A%20%20%20%20%24%24%0A%20%20%20%200%20%2B%20%5Cfrac%7Bmv%5E2(t_0)%7D%7B2%7D%20%3D%20%20mgh(t_%7Bhmax%7D)%20%2B%200%0A%20%20%20%20%24%24%0A%0A%20%20%20%20%24%24%0A%20%20%20%20h(t_%7Bhmax%7D)%20%3D%20%5Cfrac%7Bv%5E2(t_0)%7D%7B2g%7D%0A%20%20%20%20%24%24%0A%0A%20%20%20%20Same%20expression%20as%20before.%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20**Exercise%203%20%E2%80%94%20Connect%20takeoff%20speed%20to%20height.**%20Takeoff%20speed%20is%202.5%20m%2Fs.%20Find%20the%20rise%20above%20takeoff%20with%20%24g%3D9.81%24%20m%2Fs%C2%B2.%20Does%20this%20include%20the%20COM%20rise%20during%20push-off%3F%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%2F%2F%2F%20details%20%7C%20Solution%20to%20Exercise%203%0A%0A%20%20%20%20%24h%3Dv_%7BTO%7D%5E2%2F(2g)%3D6.25%2F19.62%3D0.3186%24%20m.%20This%20is%20only%20the%20airborne%20rise.%20Total%20rise%20from%20the%20initial%20standing%20COM%20also%20includes%20the%20displacement%20accumulated%20before%20takeoff.%0A%20%20%20%20%2F%2F%2F%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%23%20Kinetic%20analysis%20of%20a%20vertical%20jump%0A%0A%20%20%20%20The%20force%20plate%20can%20also%20be%20used%20to%20calculate%20other%20mechanical%20variables%20to%20characterize%20the%20subject's%20performance%20(see%20Dowling%20and%20Vamos%201993)%20for%20a%20list%20of%20such%20variables).%20For%20example%2C%0A%0A%20%20%20%20Resultant%20vertical%20force%20on%20the%20subject%3A%0A%0A%20%20%20%20%24%24%0A%20%20%20%20F(t)%20%3D%20GRF(t)%20-%20mg%0A%20%20%20%20%24%24%0A%0A%20%20%20%20Vertical%20acceleration%20of%20the%20center%20of%20mass%3A%0A%0A%20%20%20%20%24%24%0A%20%20%20%20a(t)%20%3D%20%5Cfrac%7BF(t)%7D%7Bm%7D%0A%20%20%20%20%24%24%0A%0A%20%20%20%20Vertical%20velocity%20of%20the%20center%20of%20mass%20(initial%20velocity%20equals%20zero)%3A%0A%0A%20%20%20%20%24%24%0A%20%20%20%20v(t)%20%3D%20%5Csum_%7Bt_0%7D%5E%7Bt_f%7D%20a(t)%20%5CDelta%20t%0A%20%20%20%20%24%24%0A%0A%20%20%20%20Vertical%20displacement%20of%20the%20center%20of%20mass%20(initial%20displacement%20equals%20zero)%3A%0A%0A%20%20%20%20%24%24%0A%20%20%20%20h(t)%20%3D%20%5Csum_%7Bt_0%7D%5E%7Bt_f%7D%20v(t)%20%5CDelta%20t%0A%20%20%20%20%24%24%0A%0A%20%20%20%20Power%20due%20to%20the%20resultant%20vertical%20force%3A%0A%0A%20%20%20%20%24%24%0A%20%20%20%20P(t)%20%3D%20GRF(t)v(t)%0A%20%20%20%20%24%24%0A%0A%20%20%20%20Note%20that%20we%20used%20the%20vertical%20ground%20reaction%20force%20for%20the%20calculation%20of%20mechanical%20power%2C%20not%20the%20resultant%20force%20on%20the%20body%2C%20to%20represent%20the%20total%20power%20the%20jumper%20is%20producing.%20One%20could%20argue%20that%20during%20standing%20the%20jumper%20is%20not%20actually%20'generating'%20any%20force%20(so%20we%20should%20not%20use%20GRF)%2C%20but%20in%20this%20phase%2C%20the%20jumper's%20speed%20is%20zero%2C%20and%20the%20power%20is%20zero.%0A%0A%20%20%20%20Let's%20work%20with%20the%20ground%20reaction%20force%20data%20from%20a%20vertical%20jump%20and%20calculate%20such%20quantities.%3Cbr%3E%0A%20%20%20%20For%20now%2C%20let's%20ignore%20the%20landing%20and%20focus%20on%20the%20propulsion%20phase%20of%20the%20jump.%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_(GRFv_1%2C%20cumulative_trapezoid%2C%20freq%2C%20g%2C%20i0%2C%20i1%2C%20m%2C%20time)%3A%0A%20%20%20%20time_1%20%3D%20time%5Bi0%3Ai1%20%2B%201%5D%20-%20time%5Bi0%5D%0A%20%20%20%20F%20%3D%20GRFv_1%5Bi0%3Ai1%20%2B%201%5D%20-%20m%20*%20g%0A%20%20%20%20a%20%3D%20F%20%2F%20m%0A%20%20%20%20v%20%3D%20cumulative_trapezoid(a%2C%20dx%3D1%20%2F%20freq%2C%20initial%3D0)%0A%20%20%20%20h_1%20%3D%20cumulative_trapezoid(v%2C%20dx%3D1%20%2F%20freq%2C%20initial%3D0)%0A%20%20%20%20P%20%3D%20(F%20%2B%20m%20*%20g)%20*%20v%0A%20%20%20%20return%20F%2C%20P%2C%20a%2C%20h_1%2C%20time_1%2C%20v%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20And%20here%20are%20the%20plots%20for%20these%20quantities%3A%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_(F%2C%20P%2C%20a%2C%20h_1%2C%20np%2C%20plt%2C%20time_1%2C%20v)%3A%0A%20%20%20%20(_fig%2C%20_axs)%20%3D%20plt.subplots(5%2C%201%2C%20sharex%3DTrue%2C%20squeeze%3DTrue%2C%20figsize%3D(8%2C%208))%0A%20%20%20%20_axs%5B0%5D.plot(time_1%2C%20F%2C%20'b'%2C%20lw%3D'4'%2C%20label%3D'Force')%0A%20%20%20%20_axs%5B1%5D.plot(time_1%2C%20a%2C%20'b'%2C%20lw%3D'4'%2C%20label%3D'Acceleration')%0A%20%20%20%20_axs%5B2%5D.plot(time_1%2C%20v%2C%20'b'%2C%20lw%3D'4'%2C%20label%3D'Velocity')%0A%20%20%20%20_axs%5B3%5D.plot(time_1%2C%20h_1%2C%20'b'%2C%20lw%3D'4'%2C%20label%3D'Displacement')%0A%20%20%20%20_axs%5B4%5D.plot(time_1%2C%20P%2C%20'b'%2C%20lw%3D'4'%2C%20label%3D'Power')%0A%20%20%20%20_axs%5B4%5D.set_xlabel('Time%20%5B%24s%24%5D'%2C%20fontsize%3D14)%0A%20%20%20%20_axs%5B4%5D.set_xticks(np.arange(time_1%5B0%5D%2C%20time_1%5B-1%5D%2C%200.1))%0A%20%20%20%20_axs%5B4%5D.set_xlim(%5Btime_1%5B0%5D%2C%20time_1%5B-1%5D%5D)%0A%20%20%20%20ylabel%20%3D%20%5B'F%20%5B%24N%24%5D'%2C%20'a%20%5B%24m%2Fs%5E2%24%5D'%2C%20'v%20%5B%24m%2Fs%24%5D'%2C%20'h%20%5B%24m%24%5D'%2C%20'P%20%5B%24W%24%5D'%5D%0A%20%20%20%20for%20(axi%2C%20ylabeli)%20in%20zip(_axs%2C%20ylabel)%3A%0A%20%20%20%20%20%20%20%20axi.axhline(0%2C%20c%3D'r'%2C%20linewidth%3D'2'%2C%20alpha%3D0.6)%0A%20%20%20%20%20%20%20%20axi.set_ylabel(ylabeli%2C%20fontsize%3D14)%0A%20%20%20%20%20%20%20%20axi.text(0.03%2C%200.75%2C%20axi.get_legend_handles_labels()%5B1%5D%5B0%5D%2C%20transform%3Daxi.transAxes%2C%20fontsize%3D14%2C%20c%3D'r')%0A%20%20%20%20%20%20%20%20axi.yaxis.set_major_locator(plt.MaxNLocator(4))%0A%20%20%20%20%20%20%20%20axi.yaxis.set_label_coords(-0.1%2C%200.5)%0A%20%20%20%20%20%20%20%20axi.grid(True)%0A%20%20%20%20plt.tight_layout(h_pad%3D0)%0A%20%20%20%20plt.show()%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20Looking%20at%20these%20graphs%2C%20we%20can%20see%20that%20the%20instant%20where%20the%20jumper%20has%20the%20lowest%20position%20is%20approximately%20at%200.44%20s%2C%20where%20the%20velocity%20is%20also%20zero.%20Up%20to%20this%20instant%20the%20jumper%20was%20moving%20down%20(countermovement%20phase)%20and%20from%20this%20instant%20on%20the%20jumper%20starts%20to%20rise%20until%20loses%20contact%20with%20the%20ground.%20This%20instant%20also%20indicates%20when%20the%20power%20starts%20to%20be%20positive.%20Looking%20at%20the%20graph%20of%20the%20force%2C%20the%20total%20area%20under%20the%20curve%20(the%20impulse)%20up%20to%20this%20instant%20should%20be%20zero%20because%20if%20the%20jumper%20started%20at%20rest%20and%20came%20to%20zero%20velocity%20again%2C%20the%20impulse%20is%20zero.%0A%0A%20%20%20%20This%20turning%20point%20is%20used%20to%20indicate%20the%20change%20from%20eccentric%20(negative%20power)%20to%20concentric%20(positive%20power)%20phase%20of%20the%20jump.%20Although%20this%20instant%20was%20detected%20based%20on%20the%20movement%20of%20the%20center%20of%20mass%2C%20this%20roughly%20indicates%20the%20change%20in%20the%20net%20muscle%20activation%20in%20the%20body%20to%20perform%20the%20jump.%0A%0A%20%20%20%20Let's%20visualize%20these%20phases%20in%20the%20plots%3A%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_(np%2C%20time_1%2C%20v)%3A%0A%20%20%20%20_inds%20%3D%20np.where(v%20%3E%200)%0A%20%20%20%20iec%20%3D%20_inds%5B0%5D%5B0%5D%0A%20%20%20%20print('Instant%20of%20the%20lowest%20position%20%7B%3A.3f%7D%20s'.format(time_1%5Biec%5D))%0A%20%20%20%20return%20(iec%2C)%0A%0A%0A%40app.cell%0Adef%20_(F%2C%20P%2C%20g%2C%20iec%2C%20m%2C%20np%2C%20plt%2C%20time_1)%3A%0A%20%20%20%20(_fig%2C%20_axs)%20%3D%20plt.subplots(1%2C%202%2C%20sharex%3DTrue%2C%20squeeze%3DTrue%2C%20figsize%3D(12%2C%204))%0A%20%20%20%20_axs%5B0%5D.plot(time_1%2C%20F%20%2B%20m%20*%20g%2C%20'b'%2C%20linewidth%3D'2')%0A%20%20%20%20_axs%5B0%5D.plot(%5Btime_1%5B0%5D%2C%20time_1%5B-1%5D%5D%2C%20%5Bm%20*%20g%2C%20m%20*%20g%5D%2C%20'k'%2C%20linewidth%3D'1')%0A%20%20%20%20_axs%5B0%5D.fill_between(time_1%5B0%3Aiec%5D%2C%20F%5B0%3Aiec%5D%20%2B%20m%20*%20g%2C%20m%20*%20g%2C%20color%3D%5B1%2C%200%2C%200%2C%200.2%5D)%0A%20%20%20%20_axs%5B0%5D.fill_between(time_1%5Biec%3A-1%5D%2C%20F%5Biec%3A-1%5D%20%2B%20m%20*%20g%2C%20m%20*%20g%2C%20color%3D%5B0%2C%201%2C%200%2C%200.2%5D)%0A%20%20%20%20_axs%5B0%5D.plot(%5B%5D%2C%20%5B%5D%2C%20linewidth%3D10%2C%20color%3D%5B1%2C%200%2C%200%2C%200.2%5D%2C%20label%3D'Eccentric')%0A%20%20%20%20_axs%5B0%5D.plot(%5B%5D%2C%20%5B%5D%2C%20linewidth%3D10%2C%20color%3D%5B0%2C%201%2C%200%2C%200.2%5D%2C%20label%3D'Concentric')%0A%20%20%20%20_axs%5B0%5D.legend(frameon%3DFalse%2C%20loc%3D'upper%20left'%2C%20fontsize%3D12)%0A%20%20%20%20_axs%5B0%5D.set_ylabel('Vertical%20GRF%20%5B%24N%24%5D'%2C%20fontsize%3D14)%0A%20%20%20%20_axs%5B0%5D.set_xlabel('Time%20%5B%24s%24%5D'%2C%20fontsize%3D14)%0A%20%20%20%20_axs%5B0%5D.yaxis.set_major_locator(plt.MaxNLocator(5))%0A%20%20%20%20_axs%5B1%5D.plot(time_1%2C%20P%2C%20'b'%2C%20linewidth%3D'2')%0A%20%20%20%20_axs%5B1%5D.plot(%5Btime_1%5B0%5D%2C%20time_1%5B-1%5D%5D%2C%20%5B0%2C%200%5D%2C%20'k'%2C%20linewidth%3D'1')%0A%20%20%20%20_axs%5B1%5D.fill_between(time_1%5B0%3Aiec%5D%2C%20P%5B0%3Aiec%5D%2C%20color%3D%5B1%2C%200%2C%200%2C%200.2%5D)%0A%20%20%20%20_axs%5B1%5D.fill_between(time_1%5Biec%3A-1%5D%2C%20P%5Biec%3A-1%5D%2C%20color%3D%5B0%2C%201%2C%200%2C%200.2%5D)%0A%20%20%20%20_axs%5B1%5D.set_ylabel('Power%20%5B%24W%24%5D'%2C%20fontsize%3D14)%0A%20%20%20%20_axs%5B1%5D.set_xlabel('Time%20%5B%24s%24%5D'%2C%20fontsize%3D14)%0A%20%20%20%20_axs%5B1%5D.set_xticks(np.arange(time_1%5B0%5D%2C%20time_1%5B-1%5D%2C%200.1))%0A%20%20%20%20_axs%5B1%5D.yaxis.set_major_locator(plt.MaxNLocator(5))%0A%20%20%20%20_axs%5B1%5D.set_xlim(%5Btime_1%5B0%5D%2C%20time_1%5B-1%5D%5D)%0A%20%20%20%20plt.tight_layout()%0A%20%20%20%20plt.show()%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20**Exercise%204%20%E2%80%94%20Distinguish%20two%20work%20quantities.**%20A%20jumper%E2%80%99s%20COM%20rises%200.2%20m%20while%20kinetic%20energy%20increases%20by%20100%20J.%20For%20mass%2050%20kg%20and%20%24g%3D10%24%20m%2Fs%C2%B2%2C%20find%20net-force%20work%20and%20GRF%20work%20on%20the%20COM.%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%2F%2F%2F%20details%20%7C%20Solution%20to%20Exercise%204%0A%0A%20%20%20%20Net-force%20work%20equals%20%24%5CDelta%20K%3D100%24%20J.%20Gravity%20does%20%24-mg%5CDelta%20h%3D-100%24%20J%2C%20so%20the%20GRF%20work%20on%20the%20COM%20is%20%24%5CDelta%20K%2Bmg%5CDelta%20h%3D200%24%20J.%20These%20COM-level%20quantities%20are%20not%20the%20sum%20of%20individual%20muscle-fiber%20work.%0A%20%20%20%20%2F%2F%2F%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20-%20%5BPhysics%20breakdown%20of%20a%20jump%5D(https%3A%2F%2Fyoutu.be%2FZaGreqCFOJM)%0A%20%20%20%20-%20%5BRecap%20of%20the%20force%20plate%20analysis%5D(https%3A%2F%2Fyoutu.be%2Fu05pLtC-T1s)%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20import%20marimo%20as%20mo%0A%0A%20%20%20%20return%20(mo%2C)%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%20Checkpoint%20questions%0A%0A%20%20%20%201.%20Which%20force%20is%20integrated%20to%20obtain%20COM%20velocity%3F%0A%20%20%20%202.%20Which%20initial%20condition%20is%20lost%20if%20only%20acceleration%20is%20measured%3F%0A%20%20%20%203.%20Why%20is%20force%20baseline%20estimation%20critical%3F%0A%20%20%20%204.%20Which%20height%20does%20%24v_%7BTO%7D%5E2%2F(2g)%24%20describe%3F%0A%20%20%20%205.%20What%20resolves%20the%20opening%20challenge%3F%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%2F%2F%2F%20details%20%7C%20Checkpoint%20answers%0A%0A%20%20%20%201.%20Net%20external%20vertical%20force%2C%20GRF%20minus%20weight.%0A%20%20%20%202.%20Initial%20velocity%20(and%20initial%20position%20for%20a%20second%20integration).%0A%20%20%20%203.%20A%20small%20force%20bias%20accumulates%20into%20velocity%20and%20displacement%20drift.%0A%20%20%20%204.%20Rise%20of%20COM%20from%20takeoff%20to%20apex.%0A%20%20%20%205.%20Account%20for%20takeoff%20and%20landing%20COM-height%20differences%2C%20or%20use%20a%20validated%20impulse%20estimate.%0A%20%20%20%20%2F%2F%2F%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%20Problems%0A%0A%20%20%20%201.%20For%20the%20**net%20vertical%20force**%20%24F%3DGRF-mg%24%2C%20work%20on%20the%20COM%20is%20defined%20as%3A%0A%0A%20%20%20%20%24%24%0A%20%20%20%20W%20%3D%20%5Cint_%7Bh_0%7D%5E%7Bh_f%7D%20F(h)%20%5Cmathrm%7Bd%7Dh%0A%20%20%20%20%24%24%0A%0A%20%20%20%20This%20equals%20the%20change%20in%20kinetic%20energy%20and%20the%20integral%20of%20**net-force%20power**%2C%20%24P_%7Bnet%7D%3DFv%24%20(the%20plotted%20power%20above%20is%20instead%20%24P_%7BGRF%7D%3DGRF%5C%2Cv%24)%3A%0A%0A%20%20%20%20%24%24%0A%20%20%20%20W%20%3D%20%5CDelta%20E_K%20%3D%20%5Cint_%7Bt_0%7D%5E%7Bt_f%7D%20P_%7Bnet%7D(t)%20%5Cmathrm%7Bd%7Dt%0A%20%20%20%20%24%24%0A%0A%20%20%20%20%20a)%20Use%20the%20data%20of%20the%20vertical%20jump%20in%20this%20text%20to%20plot%20the%20graph%20for%20the%20ground%20reaction%20force%20versus%20displacement.%3Cbr%3E%0A%20%20%20%20%20b)%20Calculate%20both%20net-force%20work%20and%20GRF%20work%20during%20the%20analyzed%20movement%20from%20onset%20to%20takeoff%20and%20during%20its%20eccentric%20and%20concentric%20phases.%20Use%20%24W_%7BGRF%7D%3D%5CDelta%20K%2Bmg%5CDelta%20h%24%20for%20the%20latter%3B%20compare%20force%E2%80%93displacement%20and%20power%E2%80%93time%20integration.%0A%0A%20%20%20%202.%20For%20the%20dataset%20in%20this%20text%2C%20calculate%20all%20the%20variables%20described%20in%20Dowling%2C%20Vamos%20(1993).%0A%0A%20%20%20%203.%20A%20Biomedical%20Engineering%20student%20(m%20%3D%2050%20kg)%20performs%20a%20vertical%20jump.%20The%20ground%20reaction%20force%20during%20the%20jump%20is%20measured%20with%20a%20force%20platform.%20Use%20g%20%3D%2010%20m%2Fs2.%20The%20values%20of%20the%20vertical%20ground%20reaction%20force%20over%20time%20are%20presented%20in%20the%20graph%20below.%0A%0A%20%20%20%20%3Cdiv%20class%3D'center-align'%3E%3Cfigure%20aria-describedby%3D%22figure-caption-3%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fgithub.com%2FBMClab%2FBMC%2Fblob%2Fmaster%2Fimages%2Fverticaljump_fz.png%3Fraw%3D1%22%20width%3D500px%20alt%3D%22Vertical%20jump%20Fz%22%2F%3E%3C%2Ffigure%3E%3C%2Fdiv%3E%0A%0A%20%20%20%20%3Cspan%20id%3D%22figure-caption-3%22%20class%3D%22figure-caption%22%20style%3D%22display%3Ablock%3Btext-align%3Acenter%3Bfont-style%3Aitalic%22%3EHypothetical%20vertical%20ground%20reaction%20force%20during%20a%20jump.%3C%2Fspan%3E%0A%0A%20%20%20%20For%20a%20reproducible%20interpretation%20of%20the%20schematic%2C%20use%20piecewise-linear%20GRF%20knots%20%24(t%2CF)%3D(0%2C500)%2C(1%2C500)%2C(1.1%2C450)%2C(1.2%2C500)%2C(1.5%2C700)%24%20in%20seconds%20and%20newtons%2C%20followed%20by%20zero%20force%20after%201.5%20s.%20The%20drawing%20is%20schematic%3B%20these%20labeled%20values%20define%20the%20calculation.%20Assume%20zero%20initial%20velocity.%3Cbr%3E%0A%0A%20%20%20%20Considering%20these%20data%3A%3Cbr%3E%0A%20%20%20%20%20%20%20a)%20Model%20the%20phenomenon%20and%20draw%20a%20free%20body%20diagram%20for%20the%20student%E2%80%99s%20center%20of%20gravity.%3Cbr%3E%0A%20%20%20%20%20%20%20b)%20Sketch%20a%20graph%20of%20the%20student's%20vertical%20acceleration%20over%20time.%3Cbr%3E%0A%20%20%20%20%20%20%20c)%20Calculate%20the%20speed%20of%20the%20center%20of%20gravity%20at%20the%20instant%20the%20student%20loses%20contact%20with%20the%20ground%20(when%20the%20aerial%20phase%20of%20the%20jump%20begins).%3Cbr%3E%0A%20%20%20%20%20%20%20d)%20Calculate%20the%20height%20of%20the%20student's%20jump%20(the%20displacement%20of%20her%20center%20of%20gravity).%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(F%2C%20P%2C%20freq%2C%20g%2C%20h_1%2C%20iec%2C%20m%2C%20mo%2C%20np%2C%20time_1%2C%20v)%3A%0A%20%20%20%20_grf%20%3D%20F%20%2B%20m%20*%20g%0A%20%20%20%20_sections%20%3D%20%5B(%22Onset%20to%20takeoff%22%2C%200%2C%20len(v)%20-%201)%2C%20(%22Eccentric%22%2C%200%2C%20iec)%2C%20(%22Concentric%22%2C%20iec%2C%20len(v)%20-%201)%5D%0A%20%20%20%20_rows%20%3D%20%5B%5D%0A%20%20%20%20for%20_label%2C%20_a%2C%20_b%20in%20_sections%3A%0A%20%20%20%20%20%20%20%20_sl%20%3D%20slice(_a%2C%20_b%20%2B%201)%0A%20%20%20%20%20%20%20%20_wn%20%3D%20np.trapezoid(F%5B_sl%5D%2C%20h_1%5B_sl%5D)%0A%20%20%20%20%20%20%20%20_wg%20%3D%20np.trapezoid(_grf%5B_sl%5D%2C%20h_1%5B_sl%5D)%0A%20%20%20%20%20%20%20%20_wnt%20%3D%20np.trapezoid(F%5B_sl%5D%20*%20v%5B_sl%5D%2C%20time_1%5B_sl%5D)%0A%20%20%20%20%20%20%20%20_wgt%20%3D%20np.trapezoid(P%5B_sl%5D%2C%20time_1%5B_sl%5D)%0A%20%20%20%20%20%20%20%20_rows.append(f%22%7C%20%7B_label%7D%20%7C%20%7B_wn%3A.3f%7D%20%7C%20%7B_wnt%3A.3f%7D%20%7C%20%7B_wg%3A.3f%7D%20%7C%20%7B_wgt%3A.3f%7D%20%7C%22)%0A%20%20%20%20%23%20Dowling%20%26%20Vamos%20labels%3B%20the%20major%20positive%20impulse%20is%20the%20contiguous%0A%20%20%20%20%23%20above-weight%20interval%20around%20the%20largest%20force%20before%20takeoff.%0A%20%20%20%20_peak%20%3D%20int(np.argmax(_grf))%0A%20%20%20%20_minimum%20%3D%20int(np.argmin(_grf%5B%3A_peak%20%2B%201%5D))%0A%20%20%20%20_left%20%3D%20_peak%0A%20%20%20%20while%20_left%20%3E%200%20and%20F%5B_left%20-%201%5D%20%3E%200%3A%0A%20%20%20%20%20%20%20%20_left%20-%3D%201%0A%20%20%20%20_right%20%3D%20_peak%0A%20%20%20%20while%20_right%20%3C%20len(F)%20-%201%20and%20F%5B_right%20%2B%201%5D%20%3E%200%3A%0A%20%20%20%20%20%20%20%20_right%20%2B%3D%201%0A%20%20%20%20_negative_v%20%3D%20int(np.argmin(v))%0A%20%20%20%20_power_peak%20%3D%20int(np.argmax(P))%0A%20%20%20%20_jp%20%3D%20np.trapezoid(F%5B_left%3A_right%20%2B%201%5D%2C%20time_1%5B_left%3A_right%20%2B%201%5D)%0A%20%20%20%20_jn%20%3D%20-np.trapezoid(np.minimum(F%5B%3A_left%20%2B%201%5D%2C%200)%2C%20time_1%5B%3A_left%20%2B%201%5D)%0A%20%20%20%20_duration%20%3D%20time_1%5B_right%5D%20-%20time_1%5B_left%5D%0A%20%20%20%20_vals%20%3D%20%5B%0A%20%20%20%20%20%20%20%20(%22A%3A%20major%20negative-impulse%20duration%22%2C%20time_1%5B_left%5D%2C%20%22s%22)%2C%0A%20%20%20%20%20%20%20%20(%22b%3A%20minimum%20force%20before%20peak%22%2C%20_grf%5B_minimum%5D%2C%20%22N%22)%2C%0A%20%20%20%20%20%20%20%20(%22C%3A%20minimum%20to%20maximum%20force%22%2C%20time_1%5B_peak%5D%20-%20time_1%5B_minimum%5D%2C%20%22s%22)%2C%0A%20%20%20%20%20%20%20%20(%22D%3A%20major%20positive-impulse%20duration%22%2C%20_duration%2C%20%22s%22)%2C%0A%20%20%20%20%20%20%20%20(%22e%3A%20maximum%20force%22%2C%20_grf%5B_peak%5D%2C%20%22N%22)%2C%0A%20%20%20%20%20%20%20%20(%22F%3A%20maximum%20force%20to%20takeoff%22%2C%20time_1%5B-1%5D%20-%20time_1%5B_peak%5D%2C%20%22s%22)%2C%0A%20%20%20%20%20%20%20%20(%22G%3A%20onset%20to%20takeoff%22%2C%20time_1%5B-1%5D%2C%20%22s%22)%2C%0A%20%20%20%20%20%20%20%20(%22H%3A%20minimum%20force%20to%20low%20point%22%2C%20time_1%5Biec%5D%20-%20time_1%5B_minimum%5D%2C%20%22s%22)%2C%0A%20%20%20%20%20%20%20%20(%22i%3A%20maximum%20positive%20force%20slope%22%2C%20np.max(np.gradient(_grf%2C%201%20%2F%20freq))%2C%20%22N%2Fs%22)%2C%0A%20%20%20%20%20%20%20%20(%22J%3A%20minimum%20velocity%20to%20low%20point%22%2C%20time_1%5Biec%5D%20-%20time_1%5B_negative_v%5D%2C%20%22s%22)%2C%0A%20%20%20%20%20%20%20%20(%22k%3A%20force%20at%20low%20point%22%2C%20_grf%5Biec%5D%2C%20%22N%22)%2C%0A%20%20%20%20%20%20%20%20(%22l%3A%20most%20negative%20power%22%2C%20np.min(P)%2C%20%22W%22)%2C%0A%20%20%20%20%20%20%20%20(%22M%3A%20positive-power%20duration%22%2C%20time_1%5B-1%5D%20-%20time_1%5Biec%5D%2C%20%22s%22)%2C%0A%20%20%20%20%20%20%20%20(%22n%3A%20maximum%20positive%20power%22%2C%20np.max(P)%2C%20%22W%22)%2C%0A%20%20%20%20%20%20%20%20(%22O%3A%20maximum%20power%20to%20takeoff%22%2C%20time_1%5B-1%5D%20-%20time_1%5B_power_peak%5D%2C%20%22s%22)%2C%0A%20%20%20%20%20%20%20%20(%22p%3A%20average%20force%20slope%20minimum%20to%20maximum%22%2C%20(_grf%5B_peak%5D%20-%20_grf%5B_minimum%5D)%20%2F%20(time_1%5B_peak%5D%20-%20time_1%5B_minimum%5D)%2C%20%22N%2Fs%22)%2C%0A%20%20%20%20%20%20%20%20(%22q%3A%20major%20impulse%20shape%20factor%22%2C%20_jp%20%2F%20(F%5B_peak%5D%20*%20_duration)%2C%20%22%22)%2C%0A%20%20%20%20%20%20%20%20(%22r%3A%20negative%2Fpositive%20impulse%20magnitude%20ratio%22%2C%20_jn%20%2F%20_jp%2C%20%22%22)%2C%0A%20%20%20%20%20%20%20%20(%22s%3A%20most%20negative%20velocity%22%2C%20np.min(v)%2C%20%22m%2Fs%22)%2C%0A%20%20%20%20%5D%0A%20%20%20%20_work%20%3D%20%22%7C%20Interval%20%7C%20Net%20force%20vs%20height%20(J)%20%7C%20Net%20power%20vs%20time%20(J)%20%7C%20GRF%20vs%20height%20(J)%20%7C%20GRF%20power%20vs%20time%20(J)%20%7C%5Cn%7C---%7C---%3A%7C---%3A%7C---%3A%7C---%3A%7C%5Cn%22%20%2B%20%22%5Cn%22.join(_rows)%0A%20%20%20%20_metrics%20%3D%20%22%7C%20Label%20%7C%20Result%20%7C%20Unit%20%7C%5Cn%7C---%7C---%3A%7C---%7C%5Cn%22%20%2B%20%22%5Cn%22.join(f%22%7C%20%7B_l%7D%20%7C%20%7B_x%3A.4f%7D%20%7C%20%7B_u%7D%20%7C%22%20for%20_l%2C%20_x%2C%20_u%20in%20_vals)%0A%20%20%20%20mo.accordion(%7B%22Final%20answers%20to%20original%20Problems%22%3A%20mo.md(%0A%20%20%20%20%20%20%20%20%22**1.**%20Force%E2%80%93height%20trace%3A%20a%20loop%20with%20negative-displacement%20eccentric%20and%20positive-displacement%20concentric%20branches.%20Values%20use%20the%20stated%20onset%2Flow-point%2Ftakeoff%20sample%20boundaries.%5Cn%5Cn%22%20%2B%20_work%20%2B%0A%20%20%20%20%20%20%20%20%22%5Cn%5Cn**2.**%20Values%20for%20the%20labels%20in%20Dowling%20%26%20Vamos%20Table%201%2C%20using%20the%20unsmoothed%20corrected%20force%2C%20the%20stated%20thresholds%2C%20the%20contiguous%20above-weight%20interval%20around%20peak%20force%2C%20and%20impulse%20magnitudes%20for%20r.%20Sample%20boundaries%20and%20especially%20the%20force-slope%20maximum%20are%20processing-sensitive.%5Cn%5Cn%22%20%2B%20_metrics%20%2B%0A%20%20%20%20%20%20%20%20%22%5Cn%5Cn**3.**%20(a)%20GRF%20upward%20and%20500%20N%20weight%20downward.%20(b)%20Acceleration%20is%200%20until%201%20s%2C%20linear%200%20to%20%E2%88%921%20m%2Fs%C2%B2%20over%201%E2%80%931.1%20s%2C%20linear%20%E2%88%921%20to%200%20over%201.1%E2%80%931.2%20s%2C%20linear%200%20to%204%20over%201.2%E2%80%931.5%20s%2C%20and%20%E2%88%9210%20m%2Fs%C2%B2%20in%20flight.%20(c)%20Takeoff%20velocity%3A%200.50%20m%2Fs%20upward.%20(d)%20Airborne%20rise%20above%20takeoff%3A%200.0125%20m%3B%20total%20rise%20above%20the%20initial%20COM%20position%3A%200.0325%20m.%22%0A%20%20%20%20)%7D%2C%20expanded%3DFalse)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%20Go%20deeper%0A%0A%20%20%20%20-%20%5BThe%20Physics%20of%20Nike%2B%20Hyperdunk%5D(https%3A%2F%2Fwww.wired.com%2F2012%2F09%2Fthe-physics-of-nike-hyperdunk-2%2F)%0A%20%20%20%20-%20Linthorne%20NP%20(2001)%20%3Ca%20href%3D%22http%3A%2F%2Fwww.brunel.ac.uk%2F~spstnpl%2FPublications%2FVerticalJump(Linthorne).pdf%22%20target%3D%22_blank%22%3EAnalysis%20of%20standing%20vertical%20jumps%20using%20a%20force%20platform%3C%2Fa%3E.%20American%20Journal%20of%20Physics%2C%2069%2C%201198-1204.%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%23%20Video%20lectures%20on%20the%20Internet%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%23%20Additional%20verified%20lecture%0A%0A%20%20%20%20%5BMIT%20OpenCourseWare%5D(https%3A%2F%2Focw.mit.edu%2Fcourses%2F2-003sc-engineering-dynamics-fall-2011%2Fpages%2Ffree-body-diagrams-and-fictitious-forces%2F)%20%E2%80%94%20Free-body%20diagrams%3A%20practice%20selecting%20a%20body%20and%20frame%20before%20writing%20force%20and%20moment%20equations.%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%20References%0A%0A%20%20%20%20-%20Cross%20R%20(1999)%20%5BStanding%2C%20walking%2C%20running%2C%20and%20jumping%20on%20a%20force%20plate%5D(https%3A%2F%2Fpdfs.semanticscholar.org%2F1ad0%2F3557c2bc1ac8e02d89946a17eeadfb7d8a78.pdf).%20American%20Journal%20of%20Physics%2C%2067%2C%204%2C%20304-309.%0A%0A%20%20%20%20-%20Dowling%20JJ%2C%20Vamos%20L%20(1993)%20%5BIdentification%20of%20Kinetic%20and%20Temporal%20Factors%20Related%20to%20Vertical%20Jump%20Performance%5D(https%3A%2F%2Fgithub.com%2FBMClab%2FBMC%2Fblob%2Fmaster%2Fcourses%2Frefs%2FDowling93JABvert_jump.pdf).%20Journal%20of%20Applied%20Biomechanics%2C%209%2C%2095-110.%0A%0A%20%20%20%20-%20Linthorne%20NP%20(2001)%20%3Ca%20href%3D%22http%3A%2F%2Fwww.brunel.ac.uk%2F~spstnpl%2FPublications%2FVerticalJump(Linthorne).pdf%22%20target%3D%22_blank%22%3EAnalysis%20of%20standing%20vertical%20jumps%20using%20a%20force%20platform%3C%2Fa%3E.%20American%20Journal%20of%20Physics%2C%2069%2C%201198-1204.%0A%0A%20%20%20%20-%20Winter%20DA%20(2009)%20%5BKinetics%3A%20Forces%20and%20Moments%20of%20Force%5D(https%3A%2F%2Felearning2.uniroma1.it%2Fpluginfile.php%2F92521%2Fmod_folder%2Fcontent%2F0%2FBiomechanics%2520and%2520Motor%2520Control%2520of%2520Human%2520Movement%2520-%2520ch5.pdf).%20Chapter%205%20of%20%5BBiomechanics%20and%20motor%20control%20of%20human%20movement%5D(https%3A%2F%2Fbooks.google.com.br%2Fbooks%3Fid%3D_bFHL08IWfwC).%204%20ed.%20Hoboken%2C%20EUA%3A%20Wiley.%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0Aif%20__name__%20%3D%3D%20%22__main__%22%3A%0A%20%20%20%20app.run()%0A
1cb450a8e48bc24b826f0de14517cb5a