Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >2D刚体动力学开源模拟器Dyna-Kinematics

2D刚体动力学开源模拟器Dyna-Kinematics

作者头像
ZC_Robot机器人技术
修改于 2020-10-23 15:39:47
修改于 2020-10-23 15:39:47
2.4K0
举报

2D刚体动力学模拟器Dyna-Kinematics,具有很多可以生成炫酷动画的开源库。话不多说,先给出1个仿真案例

dyna
dyna

该动力学模拟器主要包含以下三部分,即(1)数值积分器(2)2D刚体动力学(3)2D平面碰撞检测。

仿真控制器允许用户:从一组硬编码的场景中选择一个场景;播放,暂停,重置和将模拟记录为GIF;更改某些模拟和显示设置。

具体的应用场景包括:

1 Body-wall collisions

开发过程的第一步是实现对物体与墙壁之间碰撞的支持。 这种碰撞比物体之间的碰撞简单得多,因为墙壁不会受到碰撞的任何影响。 在代码中,墙被视为具有无限质量的物体,这大大简化了碰撞响应方程。在下面的模拟中,注意物体的速度和角速度如何根据其撞击墙壁的方式而变化。 这就是刚体动力学的特征。

Body-wall collisions
Body-wall collisions

2 Body-body collisions

开发过程的第二步是实现对物体之间碰撞的支持。 这种类型的碰撞可能以两种不同的方式发生:两个顶点之间或顶点与边之间。解决碰撞的重要部分是了解碰撞法线是什么。 在顶点-边缘碰撞中,碰撞法线只是边缘的法线。 但是顶点-顶点碰撞呢? 顶点只是点,因此它们没有法线。 有许多方法可以为此类碰撞计算适当的法线。

物体碰撞
物体碰撞

3 Momentum and torque

橙色物体的质量比黄色物体的质量大得多,因此它的动量也更大。 因此,橙色的物体几乎不受碰撞的影响,而黄色的物体反转了方向。粉红色主体的重心位于两端之间。 两个物体之间的接触点位于其上端,或者说,尽可能远离其质心,这意味着通过碰撞施加给它的扭矩最大。 该扭矩转化为最大可能的角速度,从而使其绕其质心快速旋转。

Momentum and torque
Momentum and torque

4 gravity

当我们检测到碰撞时,参与该碰撞的两个刚体几乎是接触的,因为它们在碰撞阈值之内,这是一个很小的距离。在此模拟器中,刚体是完全刚硬的,这意味着它们是不可穿透的。那么,如何防止它们渗透?我们无法施加力量并随着时间的推移对其进行整合,因为我们实际上没有足够的时间来这样做。这两个机构几乎是接触的,因此,如果我们采用这种方法,它们肯定会渗透。这就是为什么我们需要不连续地改变它们的速度,这只能通过在无限的时间段内施加强大的力(即脉冲力)来实现。

因此,既然您知道我一直以来都在用脉冲力来欺骗您,那么您可能想知道该模拟器是否可以随时间实际整合力。它使用经典的四阶Runge-Kutta方法来整合所需的任何力。下面的模拟显示了重力的作用:

重力场仿真
重力场仿真

在碰撞发生时不会损失任何能量,因此身体不会停留在山底。 我使用恢复系数(COR)进行此操作,该模型模拟了碰撞过程中消散了多少传入能量。 通过将COR设置为1,我使所有碰撞都具有完美的弹性,这意味着发生碰撞时不会损失任何能量。 如果我将COR设置为0,则在第一次碰撞中所有传入的能量都将丢失,这完全是塑性碰撞。 0到1之间的任何值都会改变所损失的能量。

这就是弹性碰撞和塑性碰撞。

重力场
重力场

5 Simultaneous collisions

开发过程中的最后也是最具挑战性的步骤是实现在单个时间步中解决多个冲突的支持。要了解“在单个时间步中解决多个冲突”的含义,让我们首先逐步看一下到目前为止我向您展示的模拟是如何执行的:

通过提前一个时间步来开始仿真。 例如,如果时间步长为20毫秒,并且物体的速度为10米/秒且没有加速度,则该物体向前移动0.2米。检查场景中是否有任何物体正在穿透另一个物体或墙壁。 如果是,则我们返回与上一步相同的时间,将时间步长减半,然后再次进行仿真。 使用前面的示例,这意味着我们的时间步长将变为10毫秒,并且我们的身体只会向前移动0.1米。重复之前的步骤,直到没有渗透发生为止。 您可以将此过程视为二进制搜索,以查找可以推进没有场景发生的场景的时间量。

A stack of bodies
A stack of bodies

每个实体均表示为定向边界框(OBB)。不支持OBB与墙形成的拐角之间的碰撞。 因此,墙壁必须形成凸形,以确保永远不会发生无支撑的碰撞。OBB之间的冲突分为两类:顶点-顶点冲突和顶点-边缘冲突。 对于顶点-顶点碰撞,将碰撞体的质心连接起来的线用作碰撞法线。通过解决简单的几何问题可以检测到碰撞。 没有像分离轴定理那样复杂的东西被使用。 仅将顶点投影到法线或边缘上即可查看它们是否穿透,并计算它们的相对速度以查看它们是否碰撞。

使用经典的四阶Runge-Kutta方法执行积分。时间步是固定的。如果将时间步长设置为20毫秒,则每次渲染一帧时,仿真都会提前20毫秒,而与渲染每帧所花费的时间无关。人们通常对此不屑一顾,因为它会产生问题:如果您的计算机能够快速渲染,则模拟将在其上快速显示,但如果它仅能够缓慢地渲染,则在其上将呈现缓慢的仿真。尽管如此,我仍然决定保持时间步长固定,因为这可以使用户使用“记住帧”功能获得漂亮的效果。如果允许帧中执行的步骤数根据渲染该帧所花费的时间而有所变化,那么“记住帧”功能将不会产生完美间隔的结果。身体不允许进入。这是我在开发过程的早期做出的一个决定,因为如果两个物体已经穿透,我将找不到有关如何解决碰撞的信息。在此模拟器的代码中,当两个物体穿透时,时间步被细分,直到它们没有穿透为止。该技术的问题在于,在某些情况下,可以无限细分时间步长,并且仍然无法使物体停止穿透。为了防止仿真器在这种情况下进入无限循环,我执行了一条简单的规则:如果将时间步长细分为小于1微秒,则会停止仿真并显示“无法解决的穿透”错误。

个人评价:该软件为一个小软件,针对平面物体的动力学仿真较为详细,对于认知平面动力学以及图形学具有较重要的启发作用。

本文系外文翻译,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系外文翻译,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
渗透测试中网站代码漏洞审计服务
渗透测试系统漏洞如何找到:在信息收集的根本上找到目标软件系统的系统漏洞。系统漏洞找到我来为大伙儿梳理了4个层面:框架结构模块透明化系统漏洞:依据所APP的的框架结构模块版本号状况,检索透明化系统漏洞认证payload,根据人工或是软件的方法认证系统漏洞。通常这类系统漏洞,存有全部都是许多非常大的系统漏洞。过去系统漏洞:像例如xss\sql注入\ssrf等过去的信息安全系统漏洞,这部分可以运用人工或是软件开展鉴别,就考察大伙儿应对系统漏洞的熟练掌握水平了。动态口令系统漏洞:系统对登录界面点采取动态口令攻击。代码审计0day:在开源代码或未开源代码的状况下,获得目标APP系统源码,开展代码审计。
技术分享达人
2020/09/08
8230
渗透测试中网站代码漏洞审计服务
客户网站渗透测试需要提前预备的事项
对于客户的渗透测试来说,在进行前与用户沟通某些有关事项是非常必要的:首先是渗透测试的目的:用户这次的需求是什么?等待保险、日常安全检查或者其他目的,不同的目的决定了不同的漏洞评估等级,在测试过程中也感受到不同的方法。二是渗透测试总体目标:总体目标通常分为服务器和软件系统,这两个总体目标的渗透方式大致相同。做软件系统的渗透测试,还要辨别软件系统后端的服务器。往往在软件系统渗透失败的时候,我们可以从服务器层面突破,反之亦然。第三是总体目标环境:通常我们的渗透测试会在两个环境下进行,一个是生产环境,一个是测试环境。不同的环境对渗透测试有不同的要求。假如是生产环境,我们还要防止DoS拒绝服务、跨站脚本攻击等可能造成服务中断或延迟服务响应的攻击;其次,生产环境的测试周期还要选择在非业务高峰期;在生产环境中进行渗透测试时,还还要防止向总体目标插入、删除或修改数据。
技术分享达人
2020/11/30
6580
客户网站渗透测试需要提前预备的事项
网站漏洞渗透检测过程与修复方案
网站的渗透测试简单来 说就是模拟攻击者的手法以及攻击手段去测试网站的漏洞,对网站进行渗透攻击测试,对网站的代码漏洞进行挖掘,上传脚本文件获取网站的控 制权,并对测试出来的漏洞以及整体的网站检测出具详细的渗透测试安全报告。
技术分享达人
2018/12/27
3.2K0
安全渗透测试服务体系内容详情
小小白承包了一块20亩的土地,依山傍水,风水不错。听朋友说去年玉米大卖,他也想尝尝甜头,也就种上了玉米。
技术分享达人
2019/09/18
2K0
安全渗透测试服务体系内容详情
网站渗透测试服务 域名跳转劫持漏洞
网站渗透测试是指在没有获得网站源代码以及服务器的情况下,模拟入侵者的攻击手法对网站进行漏洞检测,以及渗透测试,可以很好的对网站安全进行全面的安全检测,把安全做到最大化。在挖掘网站漏洞的时候我们发现很多网站存在域名跳转的情况,下面我们来详细的讲解一下。
技术分享达人
2019/05/24
3.7K0
渗透测试流程和方法
渗透测试,是为了证明网络防御按照预期计划正常运行而提供的一种机制。不妨假设,你的公司定期更新安全策略和程序,时时给系统打补丁,并采用了漏洞扫描器等工具,以确保所有补丁都已打上。如果你早已做到了这些,为什么还要请外方进行审查或渗透测试呢?因为,渗透测试能够独立地检查你的网络策略,换句话说,就是给你的系统安了一双眼睛。而且,进行这类测试的,都是寻找网络系统安全漏洞的专业人士。 渗透测试就是利用我们所掌握的渗透知识,对网站进行一步一步的渗透,发现其中存在的漏洞和隐藏的风险,然后撰写一篇测试报告,提供给我们的客户。客户根据我们撰写的测试报告,对网站进行漏洞修补,以防止黑客的入侵! 渗透测试的前提是我们得经过用户的授权,才可以对网站进行渗透。如果我们没有经过客户的授权而对一个网站进行渗透测试的话,这是违法的。
天钧
2021/01/18
2.2K0
渗透测试流程和方法
网站安全测试 查找漏洞工具分析
渗透测试这些是经常谈到的问题了,我觉得当有了渗透接口测试之后你就会发现渗透测试这一方面也就是:1.基本漏洞测试;2.携带"低调"构思的心血来潮;3.锲而不舍的信念。我们SINE安全在对客户网站,APP进行渗透测试的过程中会发现客户存在的很漏洞,具体渗透测试的过程这里分享一下:
技术分享达人
2020/03/07
2.1K0
网站安全测试 查找漏洞工具分析
渗透测试报告是什么? 含漏洞数量、细节、复现过程
说白了,就是说在网站渗透测试的最后一个步骤里,对代码的漏洞要统计、检测结果显示并现场演示一些早已辨别、认证和运用了的安全漏洞。被测公司的管理和技术精英团队会检验渗透时采取的方式,并会根据这些文档中的结果显示,来修补所存有的网站漏洞。因此从社会道德视角来讲,安全检测结果显示的工作目标非常至关重要。便于协助管理人员和渗透工程师一同掌握、剖析现阶段网站系统程序中的存在的问题,将会需用给不一样的部门拟定不一样措辞的书面报告。除此之外,这些安全检测的结果显示还可以用于对比网站渗透测试前后目标系统的完整性。很多客户找到我们SINE安全做渗透测试服务,那么我们在最后阶段,都是要输出渗透测试报告给客户看,到底这个报告该怎么写,SINE老于来跟大家详细的介绍一番。
技术分享达人
2020/03/15
1.5K0
渗透测试报告是什么? 含漏洞数量、细节、复现过程
APP存在漏洞隐患需要做渗透测试服务
现实生活中小企业面对的网络安全风险多种多样。而真正的隐患,是公司觉得自己自身非常安全,却不知道隐患早就渗透到里面,见机行事。随着安全产业的发展和技术人员安全防范意识的提升,以渗透测试为首的“网络安全防护”已经得到更多认可。渗透测试所作的,便是在隐患真正影响到企业安全前,及时发现处理它。
技术分享达人
2022/09/27
4860
APP渗透测试 深入挖掘漏洞以及如何防止攻击
很多公司都有着自己的APP,包括安卓端以及ios端都有属于自己的APP应用,随着互联网的快速发展,APP安全也影响着整个公司的业务发展,前段时间有客户的APP被攻击,数据被篡改,支付地址也被修改成攻击者自己的,损失惨重,通过朋友介绍找到我们SINE安全做APP的安全防护,我们对客户APP进行渗透测试,漏洞检测,等全方位的安全检测。通过近十年的APP安全维护经验来总结一下,该如何做好APP的安全,防止被攻击。
技术分享达人
2019/12/13
1.5K0
APP渗透测试 深入挖掘漏洞以及如何防止攻击
谈谈网站登录功能的渗透测试与漏洞修复办法
从业渗透测试服务已经有十几年了,在对客户网站进行漏洞检测,安全渗透时,尤其网站用户登录功能上发现的漏洞很多,想总结一下在渗透测试过程中,网站登录功能上都存在哪些网站安全隐患,下面就有请我们SINE安全的工程师老陈来给大家总结一下,让大家都有更好的了解网站,在对自己网站进行开发的过程中,尤其用户登录功能上做好网站安全防护,防止网站被攻击。
技术分享达人
2019/11/25
1.3K0
谈谈网站登录功能的渗透测试与漏洞修复办法
网站安全 渗透测试就业多个问题解答
近期有许多网站渗透测试安全防护从业人员向我咨询就业角度疑问,去甲方公司做安全防护好或者去乙方客户企业做安全防护好,特别是应届毕业生或工作中1到3年的安全防护从业人员。事实上这也是一个不是很好解答的疑问,是因为牵涉的各种因素很多,每一个人的情况也各有不同。但是之所以能够 有那么多的人问,更多的是体现了大伙儿对甲方安全防护企业工作和乙方客户企业工作的未知之数,不清楚哪个更合适自个,更多方面的思想观念将会是对本身职业生涯发展的不确定性。
技术分享达人
2020/03/12
4760
网站安全 渗透测试就业多个问题解答
网站渗透测试公司总结心得
3年,说长也长,说短也短,以前在A3年,从公司的自建房十多人,到走的那时候,上百人,自主创业不容易,一路上说不出的艰苦,也算记录了一个互联网公司的发展壮大,而且据说听闻发展壮大的也非常好,很有可能快挂牌上市了。以后跳到了一个招标方,通称B公司,到现在,又做了3年,可是与在A公司不同,身处招标方,不单单是是分析网络安全问题了,更重视的是维护公司的安全,促进安全建设。刚刚的那时候,公司五百多人,到现在快到一千八人。到公司的挂牌上市,也是人的一生较为难能可贵的行业发展机会。有的那时候我经常说,我可能也是比其他人走运许多。
技术分享达人
2022/02/22
2.3K0
网站渗透测试公司总结心得
渗透测试之网站APP人工安全服务
在前面解决了人工服务网站渗透测试的缺点,工作效率、多次重复、忽略等难题后,也使我们能从原先对1个APP的安全系数提升到接口技术参数级別。这里边简单化了原先人工服务网站渗透测试时搜集资产和寻找疑是安全风险两一部分工作任务,另外一部分漏洞立即依据数据流量就可以立即明确掉。但因为漏洞的不同形状,依然会存有许多安全风险需要更进一步明确是不是真正存有,这方面的工作效率也需要再次提高。
技术分享达人
2020/10/18
2.7K0
渗透测试之网站APP人工安全服务
安卓APP安全漏洞测试 如何对APP安全进行全方位的漏洞检测
客户网站以及APP在正式上线之前,都会找专业的安全公司进行测试,检测网站、APP是否存在漏洞,以及一些安全隐患,大多数的运营者觉得安装一些安全防护软件就足以防止攻击了,越这样,网站APP越容易受到篡改数据,以及攻击等情况时而发生,近几年移动互联网的快速发展,APP应用,网站也越来越多,受到的攻击成几何的增长,有很多客户找到我们SINE安全来进行测试服务,那如何通过测试解决网站APP现有的攻击问题呢,首先我们要了解,什么是测试?
网站安全专家
2019/08/21
1.6K0
安卓APP安全漏洞测试 如何对APP安全进行全方位的漏洞检测
APP安全测试分越权,SQL,XSS漏洞 怎样进行检测?
目前越来越多的APP遭受到黑客攻击,包括数据库被篡改,APP里的用户数据被泄露,手机号以及姓名,密码,资料都被盗取,很多平台的APP的银行卡,充值通道,聚合支付接口也都被黑客修改过,导致APP运营者经济损失太大,很多通过老客户的介绍找到我们SINE安全公司,寻求安全防护,防止攻击,根据我们SINESAFE近十年的网络安全从业来分析,大部分网站以及APP被攻击的原因都是网站代码存在漏洞以及服务器系统漏洞,包括安装的服务器软件都存在漏洞。关于APP渗透测试内容,以及如何防止APP被攻击的方法,我们总结一篇文章分享给大家,希望能帮到更多需要帮助的人。
技术分享达人
2020/02/11
2.5K0
APP安全测试分越权,SQL,XSS漏洞 怎样进行检测?
初识渗透测试
熟悉军事的朋友都应该了解,各个国家的军队每年都会组织一些军事演习来检验部队的攻防战术和作战能力,在美国,一般会将美军称为蓝军,将假想敌称为红军,这种军事演戏的方式,也在上个世纪90年代引入美军的网络安全和信息基础设施的实际攻防测试过程。由一群接受过职业培训的安全专家作为红方,对防御方蓝方进行安全攻击,以实战的方式来检验目标系统的防御体系和应急响应计划的有效性,这种通过实际的攻击方式进行安全测试和评估的方法就是安全渗透测试。
用户5521279
2020/11/02
1.5K0
初识渗透测试
渗透测试学习路线
最近在信安群里也有人问过我,我是如何基于kali学习渗透测试的,在这里总结针对于有一些网络基础的路线[1],让新手和小白们不再迷茫,少走弯路,拒绝时间和金钱上的浪费!
网络安全自修室
2020/07/22
2.9K0
网站渗透测试以及安全检测服务
许多客户在网站,以及APP上线的同时,都会提前的对网站进行全面的渗透测试以及安全检测,提前检测出存在的网站漏洞,以免后期网站发展过程中出现重大的经济损失,前段时间有客户找到我们SINE安全公司做渗透测试服务,在此我们将把对客户的整个渗透测试过程以及安全测试,发现的漏洞都记录下来,分享给大家,也希望大家更深的去了解渗透测试。
网站安全专家
2019/10/19
2.7K0
网站渗透测试以及安全检测服务
网站安全渗透 越权漏洞测试与修复
渗透测试服务,是甲方授权乙方安全公司对自身的网站,以及APP,办公系统进行的全面人工安全渗透,对漏洞的检测与测试,包括SQL注入漏洞,XSS存储漏洞,反射漏洞,逻辑漏洞,越权漏洞,我们SINE安全公司在进行渗透测试前,是需要甲方公司的授权才能进行,没有授权的渗透以及网站漏洞测试在法律上来讲是违法的,非法渗透带来的一切责任与后果,要自行承担,需要渗透测试服务的一定要找正规的安全公司来做,以防上当。前段时间我们SINE安全公司,收到甲方公司的渗透测试ORDER,对公司使用的OA办公系统进行全面的安全检测,与漏洞测试,针对前期我们做的一些准备,与测试内容,我们来详细跟大家分享一下渗透测试的过程。
网站安全专家
2019/07/30
1.6K0
网站安全渗透 越权漏洞测试与修复
推荐阅读
相关推荐
渗透测试中网站代码漏洞审计服务
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档