以高达预期效果.

直白以来都对物理效用有神秘感,完全不明白怎么得以达成的.直到看到了周银辉在老早前写的壹篇博客:http://www.cnblogs.com/zhouyinhui/archive/2007/06/23/793724.html 终于精通是怎么得以完成的了.

CompositionTarget类的Rendering事件.在每1帧成功渲染时触发.那样就能够在非常的短的流年内对目的开始展览更周到的操作,以抵达预期效果.

只是博客里并不曾介绍得出结果公式的长河,导致我真的2头雾水了,所以决定再度写一下,分享给感兴趣的人.

先上效果图:

图片 1

大概是如此个情景,2个橡皮筋拉着一个小球在1个充满介质的长空里活动,橡皮筋越长,拉力就越大,介质能够是空气,水,油等其余液体或气体物质,取决于他们的粘性全面.

公式

Newton的公式

世家都很熟习了:(可能吧,反正小编是不熟习,那都以自家百度查的)

a=(v2-v1)/t

F=F拉-F阻=ma

s=vt+1/2at^2

其间a是加速度,v是速度,t是时间,F是受到的力,s是运动的离开

圆球质量公式

m=4/3 * π * r^3 * ρ

当中m是品质,r是球半径,ρ是密度

粘滞阻力

没学过那种高端的情理,完全不知底,也是在百度查的

在答辩力学中所说的”与实体速度2遍方成正比的阻力”指的正是粘滞阻力
在空气中移动速度不更快的物体 受到的障碍重若是粘滞阻力

Stokes公式 球形物体 F=六πηvr=三πηvd η为流体的粘性周密 r为球形物体的半径
d为球形物体的直径

 

公式都有了,须要做的正是寻觅在上次帧渲染和此次帧渲染那段时光在杜震宇和障碍的效劳下的位移距离.

效率力和速度都作为是X轴和Y轴三个趋势的.

这里取的是把wpf里3个单位的偏离,就当做是壹Newton的力.粘性周密和球的密度作为参数设置.有了这个,就足以依赖公式推导出活动距离.(进度略…正是套公式…源码里有注释…最终会附着源码)

 

下一场,好不轻松推出来了,运转程序意识小球不动.才察觉自家犯了个大错误,就是力和质感差的太悬殊,打个如果就像是一位拿橡皮筋去拉新加坡塔,料定是拉不动.

之所以笔者加了个周全小球直径的3遍方在里面,打个倘诺大约可以知晓成,拉的东西多大,小编的马力就多大,跟被拉的事物大小无关.小编去拉上海塔的时候,笔者已经和东京塔同样高了.

 

屈居源码:拉小球物理效果.zip

相关文章