康彤,张红
(中国传媒大学理工学部,北京 100024)
创意平板折叠桌,来自设计师Robert van Embricqs的创意,算是平板餐桌的姐妹篇 ,它可以从一个平面的木板变成一个完整的边桌,同时也可从一个造型优美的边桌变成一个固态的平行木板。
本题一个关于在设计平板折叠桌的实际问题中同时要考虑桌子的稳定性、加工易度和材料用量的多目标优化问题。我们假定折叠桌的尺寸120cm×50cm×3cm,每根木条宽2.5cm,通过观察折叠桌动态变化过程,得到平板折叠桌在动态变化过程中,每条桌腿上的钢筋到xoy平面的距离时刻相同,到xoz平面的距离也时刻相同。我们根据这些信息利用LINGO编程就可以得到给定折叠桌的动态变化模型、桌腿木条开槽位置以及桌腿木条开槽长度。
Lboard 平板木材的长度Wboard 平板木材的宽度Tboard 平板木材的厚度dleg 平板折叠桌每条腿的宽度n 平板折叠桌桌腿数量的四分之一θi 第i个桌腿与桌面的夹角,其中i=(1,2,,n)lileg 第i条桌腿的长度,i=1,2,,ndicaomax 第i条桌腿的上开槽与桌腿底部的最远距离,i=1,2,,ndisteel 折叠桌展开过程中,第i条腿上的钢筋与桌腿底部的距离,i=1,2,,ndicaomin 第i条桌腿的上开槽与桌腿底部的最近距离,i=1,2,,nlicao 第i条桌腿的上开槽的长度,i=1,2,,ndsteel 第n条桌腿(最外侧桌退)上钢筋固定处与桌腿底部的距离Htable 平板折叠桌使用时的高度xi 第i个平台不属于时取1,属于时取0tipi 第i个桌脚边缘点tipxi 第i个桌脚边缘点的x轴坐标tipyi 第i个桌脚边缘点的y轴坐标tipzi 第i个桌脚边缘点的z轴坐标
2.2.1 建模准备
首先我们建立以桌面底面中心为原点的空间直角坐标系O_xyz,其中平板长边平行于y轴,宽边平行于x轴(如图1)。由于桌子关于坐标原点前后左右对称,故以下大多地方的讨论都是在第一卦限和第五卦限范围内。从图1中可以发现在第一卦限和第五卦限范围内桌腿的数目是折叠桌总桌腿数量的1/4(n),木条的数目是折叠桌总木条数目的1/2。
示意图①
示意图②图1 空间直角坐标系中的折叠桌示意图
2.2.2 桌面模型的设计
先把桌面看成一个规则的圆利用几何画板画出桌面形状(如图2所示)。由于桌面上下左右对称的,我们只需要考虑桌面在第一象限的的形状即可。
图2
利用MATLAB软件建立一个只要输入桌腿的个数、木板的长度、桌面半径,就可以返回腿长的数据,其中里面的计算步骤是先求出节点(图1中线段与圆的交点)的横坐标,即
其中r表示圆的半径、i表示第i个节点(节点编号从中心向外侧依次为1、2、、r)。
关于桌腿的长度的计算我们先给出几个计算的方案,最后发现当桌腿的长度取1/2板长与两节点横坐标之和的差值时,桌面比较好看(如图3所示),即
示意图①
示意图②图3 桌面形状示意图
2.2.3 动态变化模型的建立
通过观察分析折叠桌动态变化过程,得到平板折叠桌在动态变化过程中,每条桌腿上的钢筋到xoy平面的距离时刻相同,到xoz平面的距离也时刻相同,因此可以分别记为Steelxoy和Steelxoz。根据第i条桌腿和桌面的位置关系(图4),可以得到:
(1)
(2)
其中Tboard为平板沿y轴方向的长度。
图4 第i条桌腿和桌面的位置关系
同时我们发现折叠桌在动态变化过程中总是只有最外侧的4条腿着地(图5①),故折叠桌的高度应取决于最外侧的桌腿,也就是第n条腿(图5②)。容易得到第n条桌腿与折叠桌变化过程中的高度htable的关系。
(3)
①
②图5 第n条桌腿与折叠桌高度的关系
实际生活中,设计的折叠桌必须能够实用才有意义(图6①),对于由活动铰链连接的折叠桌,当所有桌腿与桌面的夹角都小于π/2,则在承载重物时将有失稳定性;当存在夹角大于π/2的桌腿,将形成剪式结构,使稳定性得到保障。另外,从物理学角度分析:若存在夹角大于π/2的桌腿,在桌腿之间的受力情况会出现如图6②所示的情形,F1为地面对最外侧桌腿(第n条腿)的支持力,F2为钢筋对最内侧腿(第1条腿)的支持力,F合为两桌腿对桌面及其桌上物体的支持力。显然此情况下桌腿的稳固性得到了保障。若所有桌腿与桌面的夹角都小于π/2,显然最外侧的桌腿所受合理的方向偏向左,左腿会向左滑动,折叠桌就失去了稳定性。
故折叠桌可以正常使用的充要条件是最外侧桌腿满足
(4)
另外,最内侧的桌腿满足
(5)
① ②图6 桌子受力示意图
综上所述,联立公式(1)-(5),并考虑到变量的范围可以建立刻画平板折叠桌动态变化过程的初等模型
(1)动态变化模型
(2)给定折叠桌的桌腿长度的计算
利用MATLAB建立关于桌腿长度的程序文件,输入此折叠桌的桌腿数量的1/4(10)、木板的长度120cm、桌面半径25cm,就可以得到第一卦限和第五卦限内桌腿的长度(如表1所示)
表1 给定折叠桌的桌腿长度
编程实现方面,使用了LINGO的子模型功能,大大降低代码篇幅。完全使用文本文件实现MATLAB和LINGO间的数据传递,提高了自动化,降低了手工劳动量。