在机械入门的书里看到铰链四连杆机构示意图,其中一个曲柄做圆周运动,另一个曲柄做圆周运动或者在圆弧上的往复运动。在书里还给出了后一个曲柄做哪种运动的判断条件。但是不直观,毕竟静止的图片,如果点击一下能运动就好了。如果能一边改变机架、摇柄、曲柄的长度,一边观察,就更好了。在网上搜索了一番,有的要花钱,有的要注册,有的要观注。要搜索互联网的话,这几个部件的英文我不知道,而且可能搜索到以后发现被墙,或者网速非常慢。
一个这么简单的演示,自己做一个吧,用 geogebra。
1. 需求
下面的视频是用geogebra完成以后的效果,也就是最初想达成的需求。
有4个杆,在平面表示为4条线段,为相互区分,颜色分别为 黑色、绿色、红色、蓝色。这4条线段的长度在同一次演示/场景中固定不变,在不同的演示中可以修改。
黑色线段固定不动。
红色线段和黑色线段之间、蓝色线段和黑色线段之间,分别是铰链。铰链,在平面上表示为线段的一端可以绕着旋转的点。
红色线段和绿色线段的交点是个铰链,可以向其主动施加旋转动作,红色线段和蓝色线段的交点是个铰链,被动/受迫运动,运动的轨迹此时我们还不知道。
演示时,操作人员拖动绿色线段和红色线段之间的点运动。称这个点的主动运动。这个点这个点的主动运动轨迹受系统限制,该限制为 黑色线段固定、绿色线段和红色线段长度不变。
2. 分析 及 设计机制
在分析阶段,我们要讨论的是 4个杆/线段、4个铰链/点 所受到约束的 “形式化”表达方法。一方面,这个“形式化”表达方法 满足上述需求的业务逻辑 business logic;另一方面,这个“形式化”表达方法能够用 geogebra实现。
Geogebra 能够实现的功能为 a.菜单和按钮、b.命令或函数。我们需要选取其中一个子集,与这个“形式化”表达方法相对应,支持需求的所有业务逻辑。
2.1 如何表达A点和B点不动?
在平面上随意选取两个点就可以。因为这两个点的特征只有坐标XY,彼此独立,且并非由其他因素推演而来,因此演示中不会因为拖动某个点这一类的操作而发生变易。
因此,线段AB的长度不会变。
2.2 线段的长度不变
这里讨论的线段是 BC、CD、DA这3条线段。
我们可能考虑使用 每2个点确定1条线段。这个方法的问题在于,既要保证每两条线段间有交点,又要保证线段长度不变。在下图中,K和J需要是同一个点。
类似的,I和H、F和G是同一个点。那会是下图这样。
L和F如果是同一个点,如何保证线段LF的长度既是a.由杆长指定的,同时又b.两端分别接L和F呢?
上述问题可以归结为 两种类型的约束条件要同时满足,具体地说,线段长度这一约束和线段两两端点重合这约束要同时满足。
这个问题尚未解决,并且还有其他问题。线段AB长度的固定由A、B两个点固定得到,之所以可以这样实现,是因为A、B两个点在需求中就是固定的。但是其余的两点,需求是要运动的,因此不能固定,进而通过固定(除A、B两点外)点的位置来固定杆长,这一方案不可行。
实现方案之一是 用圆形,固定半径和圆心的圆。以A为圆心、AD长度为半径划圆,就能得到长度不变的杆。在演示中,杆长始终等于指定的半径。在不同演示中,可以修改半径得到不同杆长。
另一种实验方案是 用指定长度的线段。看起来似乎更直观一些,但是没有圆作为辅助线,杆长不变这个希望传递的信息就不那么明显了。因此我没有采用这一方案。
3. 实现步骤
本节给出用geogebra制作铰链四杆机构的实现步骤,最终效果如下图所示。
A和B是两个固定的点。
以B为圆心,指定半径r1画圆b,蓝色。
在圆b上任选一点C。
以C为圆心,指定半径r2画圆c,红色。
以A为圆心,指定半径r3画圆a,绿色。
圆a与圆c的交点为D。
以上既已建立4个点和4条线段间的约束关系。
为演示直观起见,分别连接 AB、BC、CD、AD。
命令或函数的过程如下。
为演示方便,可以隐藏部分元素的 label,和/或降低辅助圆的对比度。
4. 操作
用鼠标拖动点C(主动动作),显示D点的轨迹(被动动作),如下图所示。
得到如下图所示的轨迹。
在这个场景中可以看以D点的轨迹是圆。
加大AB的长度,拖动C点。观察D点的轨迹,可见其只是圆弧的一部分。无法越过DC和BC、AD和DC分别在同一条直线上的位置。
以上仅讨论了用 geogebra做演示,增加直观感受。双曲柄、双摇杆、曲柄遥杆的判定等,可以参见 https://www.zhihu.com/question/536225620/answer/2516112936。
在这里有人问到模型,如下。本文即是。
5. 其他几个机构 曲柄滑块 等
随便找了个页面,
https://baijiahao.baidu.com/s?id=1707132353406255219
下文给出其中随便几个机构的录屏。根据录屏中辅助线(或根据原理)容易得到各元素间的约束和推演关系。
以下给出的机构包括 摆动异杆机构、曲柄滑块、插床机构、搅拌机1、搅拌机2,共5种。
6. 缺陷
与实物或(猜测)solidworks之类的建模工具相比,上文中的实现方案的缺点是,主动运动的点是固定的,不能更换成由动力来自某个被动的点。在下图中,某个场景中,只能拖动C点,D点无法拖动,因为D的位置是求取/推演得到的。
此文也发布在以下站点。
----
知乎 https://www.zhihu.com/people/yang-gui-fu-52
微信公众号 杨贵福
----
以下是我曾经发布博客的站点,有些旧文。
----
豆瓣 - 因为审核"我的日记",不再更新。
https://www.douban.com/people/younggift/?_i=0098558fqLUL9h
CSDN – 因为要求我登记手机号码的原因是“为了您的安全”,不再更新。
https://blog.csdn.net/younggift?type=blog
blogsopt – 因为从我的机器不可达,无法更新