找回密码
 注册
Simdroid-非首页
查看: 247|回复: 4

[建模专区] 关于ball_wall接触力的获得(有码)

[复制链接]
发表于 2011-1-13 16:51:43 | 显示全部楼层 |阅读模式 来自 北京
def dball
  cp=contact_head                      ;运行函数时必须要有contact存在,否则会出错
  loop while cp # null
    obj=c_ball2(cp)                        ;在接触对里first永远是ball,所以只要检查second
    if pointer_type(obj)=101 then                 ;判断对象是否wall
       bp=c_ball1(cp)
       b_color(bp)=1          ;问题就在这里,如何获得接触力,因为很多个接触,而且之后的力还要算平均,请大侠指教!!!
    endif
    cp=c_next(cp)
  endloop  
end
 楼主| 发表于 2011-1-16 23:57:47 | 显示全部楼层 来自 北京
Simdroid开发平台
DEF _sumw_xfob
  sumw_xf = 0.0
  cp = contact_head
   loop while cp # null ; loop over all contacts in model
    if c_ball2(cp) = find_wall(8) then       ; ball1 is always a ball, ball2 may be wall
       sumw_xf = w_xfob(wp) +sumw_xf
    end_if
    cp = c_next(cp)                                  ;get next contact in linked-list of contacts
   end_loop
END;现在能得到我想要的结果么?
自己顶一下~
回复 1 不支持 0

使用道具 举报

 楼主| 发表于 2011-1-13 16:58:34 | 显示全部楼层 来自 北京
补充:这个过程是动态的,我的目的墙体在一个方向做挤压运动,当平均力达到一定临界值的时候停止,删除(记录的)与之(即wall)接触的颗粒。
回复 不支持

使用道具 举报

发表于 2011-1-25 16:36:49 | 显示全部楼层 来自 北京
谢谢!!!!!!!!
回复 不支持

使用道具 举报

发表于 2011-1-25 16:52:11 | 显示全部楼层 来自 北京
haodongxi!
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-9-29 19:21 , Processed in 0.039967 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表