Blender源码探究之布料解算(三)——力学探索

花了一些时间,找到了布料解算中非常重要的一个部分,就是计算力的方法。

在这个cloth_calc_force方法内,对布料受到的各种外力几乎都考虑进去了。

如下图所示:

        有重力、阻力、压力、风力、弹簧力

重力

很明显可以看到它把重力加速度算进去了

阻力

这个drag参数代表自于空气粘度阻力

由下面可以看出 粘度阻力计算

              阻力 = 速度 * 阻力系数         (没太懂为什么这样计算)      

(百度搜公式,似乎对不上,这块我在高中物理和大学物理都没有涉猎过- -)

然后乘了一个负值,再累加到合力。这样就削减了一部分合力。

压力

因为暂时对此了解不足,所以很难解释。不过看它源码似乎是跟体积有关。

风力

同样对这块暂时不算很了解。源码如下图所示:

弹簧力

首先了解以下布料弹簧的结构定义

然后计算弹簧力的流程,如下代码所示:

先计算弯曲弹簧的力,再计算结构弹簧和剪切弹簧的力。

对于弯曲弹簧力的计算公式,不完全了解 。

弯曲弹簧力的源码如下:

对于结构弹簧和剪切弹簧的力,

遵循胡克定律:

                                                        F = kΔx

其中Δx是弹簧伸缩长度差。

源码如下:

至此,所有力都列举完了。不过还有很多需要探索和研究,继续努力。

 

 

 

 

 

 

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值