资源描述
创意平板折叠桌
摘 要
本文讨论了平板折叠桌折叠的动态变化过程及相应的参数设计问题,以及在一定条件下折叠桌的最优设计加工参数求解问题。利用空间解析几何知识,建立了非线性规划模型,用MATLAB软件和LINGO软件进行求解,得到了各种条件下的各个参数的尺寸。
针对问题一,根据题目所提供图1,从最外侧桌腿木条到中间桌腿木条依次编号为。首先证明了在四条支撑腿底端构成正方形时稳固性较好;然后运用几何关系得到了在完全折叠成桌子时的各桌腿与折叠桌下底面的夹角、各桌腿与钢筋交点到相应铰链的距离以及桌腿底端点坐标都是桌面最外侧一根木条铰链处到圆形桌面直径的距离的函数。利用这些函数关系,使用MATLAB编程计算,得到了圆形桌面最外侧桌腿铰链处到过桌面中心垂直于桌腿的直线的距离6.35 cm,1到10号桌腿开槽长度依次为:0,4.67,8.11,10.94,13.29,15.22,16.77,17.94,18.78,19.28(cm)。还求出了各桌腿底端点的坐标并对这些点在其中两个坐标平面的投影作二维坐标曲线拟合,从而桌腿底端边缘线为以上两条拟合曲线为准线,母线垂直于对应坐标平面的两个柱面的交线。
针对问题二,折叠桌的稳定性由四条支撑腿确定,用材由每条桌腿的宽度确定,加工方便由开槽确定,根据任意给定的折叠桌的高度和圆形桌面直径,以加工方便为目标函数,桌腿与桌面之间的几何关系为约束条件,建立了非线性规划模型,用MATLAB编程计算给定桌高为,圆形桌面直径为时的平板长度为,宽度为 ,厚度为,木条宽度为,单侧木条数为17条。
针对问题三,确定桌腿几何形状为与平板平行的长方体,由几何知识可以得出桌面形状关于重心对称,得到桌面为偶数条边的正多边形和椭圆两类形状。在人机交互环境下,给定任意桌面高度,椭圆长轴和短轴参数下,以用料最省和加工简单为目标的条件下,建立非线性规划模型,解出开槽长度、桌腿条数和桌腿宽度的具体加工参数。对于短半轴为、长半轴为和高度为的桌面为椭圆的折叠桌,求出了各条桌腿的开槽长度依次为0,10.29,18.57,25.41,31.00,35.52,39.08,41.78,43.67,44.78(cm),平板尺寸为,钢筋到相应桌腿的长度占整条桌腿的长度比例为。
关键词:非线性规划;MATLAB编程;LINGO编程;稳固性
一、问题的重述
某公司生产一种可折叠的桌子,桌面呈圆形,桌腿随着铰链的活动可以平摊成一张平板。桌腿由若干根木条组成,分成两组,每组各用一根钢筋将木条连接,钢筋两端分别固定在桌腿各组最外侧的两根木条上,并且沿木条有空槽以保证滑动的自由度。桌子外形由直纹曲面构成,造型美观。附件视频展示了折叠桌的动态变化过程。
试建立数学模型讨论下列问题:
1. 给定长方形平板尺寸为120 cm × 50 cm × 3 cm,每根木条宽2.5 cm,连接桌腿木条的钢筋固定在桌腿最外侧木条的中心位置,折叠后桌子的高度为53 cm。试建立模型描述此折叠桌的动态变化过程,在此基础上给出此折叠桌的设计加工参数(例如,桌腿木条开槽的长度等)和桌脚边缘线的数学描述。
2. 折叠桌的设计应做到产品稳固性好、加工方便、用材最少。对于任意给定的折叠桌高度和圆形桌面直径的设计要求,讨论长方形平板材料和折叠桌的最优设计加工参数,例如,平板尺寸、钢筋位置、开槽长度等。对于桌高70 cm,桌面直径80 cm的情形,确定最优设计加工参数。
3. 公司计划开发一种折叠桌设计软件,根据客户任意设定的折叠桌高度、桌面边缘线的形状大小和桌脚边缘线的大致形状,给出所需平板材料的形状尺寸和切实可行的最优设计加工参数,使得生产的折叠桌尽可能接近客户所期望的形状。你们团队的任务是帮助给出这一软件设计的数学模型,并根据所建立的模型给出几个你们自己设计的创意平板折叠桌。要求给出相应的设计加工参数,画出至少8张动态变化过程的示意图。
二、问题的分析
2.1问题一分析
该问是一个给定平板尺寸,每根木条宽度,折叠后桌子的高度,要求建立模型描述此折叠桌的动态变化过程,并求出折叠桌的设计加工参数和桌角边缘的数学描述的问题。题中要求折叠后桌子的高度为53cm,而由于每根木条的厚度为3cm,假设桌腿铰链固定在桌面下边缘,所以折叠后桌子圆形桌面下底面到地面的高度50cm。在桌子折叠的过程中,随着桌子高度的变化,各桌腿与圆形桌面的夹角,各桌腿端点位置,各桌腿中钢筋到相应铰链的距离也相应发生变化,因此可以用这些参数随折叠桌高度的变化来描述此折叠桌的动态变化过程。在求各参数的过程中,每个参数都与圆形桌面最外侧一根木条铰链到圆形桌面直径的长度有关。若要求出各参数的具体值,就必须先确定合理的圆形桌面最外侧一根木条铰链到圆形桌面直径的长度。可以从桌子的稳固性出发,求出圆形桌面最外侧一根木条铰链到圆形桌面直径的长度,进一步可求出折叠后桌子的高度为53cm时的描述动态变化的各参数值。
对于桌腿木条开槽长度的求解问题,可以分别求出桌子平铺时各桌腿中钢筋到铰链的距离和折叠后各桌腿中钢筋到铰链距离,在折叠过程中,各桌腿中钢筋到铰链的距离随最外侧桌腿与圆形桌面下底面向圆心延长线的夹角减小而单调递增,
在描述折叠桌的动态变化过程,可以建立相应空间直角坐标系,求出题中图4红色曲线上各桌腿端点坐标。将各桌腿端点坐标分别投影到面、面做二位坐标曲线拟合,再以拟合出的曲线为准线,得到分别以垂直面、面的柱面方程,两柱面方程的交线,即为桌脚边缘线的数学描述。
2.2问题二分析
问题二要求讨论给定任意折叠桌高度和圆形桌面直径最优设计。折叠桌的设计应做到产品的稳固性好、加工方便、用材最少,对于稳固性,由第一问分析可知,在折叠桌高度和圆形桌面直径一定的时,稳固性主要受到平板尺寸,圆形桌面最外侧木条长度的影响。折叠桌的用材主要由每条腿的宽度决定,由于桌腿宽度必须被桌面宽度的整除,则可以确定桌面的宽度。以加工方便为目标函数,建立非线性规划模型,在一定条件下便可求出平板尺寸大小。再在此基础上,求出最优的钢筋位置和开槽长度使加工更方便。
2.3问题三分析
要用一长方形平板材料设计成可折叠的桌子,桌面形状应该满足一定要求,才能桌子具有一定的稳定性。例如当桌面形状为矩形时,桌子是对称的,要使材料最省,那么桌子两边的桌腿应与地面垂直,那么当对桌脚施加任意的水平力就能使整个桌子倒塌,也即在这种情况下,不能设计符合实际的桌子。
三、模型的假设
1.计算时不考虑模板厚度。
2.不考虑铰链厚度。
3.不考虑相邻桌腿之间空隙。
四、符号的说明
:分别为平板木块的长宽高
:各桌腿中钢筋到相应铰链的距离,其中
:每条桌腿与圆形桌面下底面夹角,其中
:各桌腿端点坐标,其中
:桌腿编号
:圆形桌面最外侧桌腿铰链到圆形桌面直径的距离
:圆形桌面半径
:各桌腿铰链处到过桌面中心垂直于桌腿的直线的距离,其中
:折叠桌的高度
:各桌腿端点x轴坐标即为各桌腿底端距桌面直径的水平距离
:桌腿长度 ,其中
:各桌腿端点z轴坐标即为各桌腿端点到桌面的距离
:各桌腿端点y轴坐标
:桌子平铺时各桌腿中钢筋到铰链的距离,其中
:折叠后各桌腿中钢筋到铰链距离,其中
:桌腿宽度
:桌腿条数
:从外侧看过去对四分之一桌腿铰链到与桌腿铰链平行的桌面对称轴的距离,其中,
:编号为的桌腿长,
:平铺时各桌腿为中钢筋到铰链的距离,其中
:折叠后各桌腿中钢筋到铰链距离,其中
:钢筋到相应桌腿的长度占整条桌腿的长度比例
n1:正多边形条数
:正多边形内角
:正多边形边长
:正多边形至上而下的顶点与平板长边垂线的夹角,其中
:正多边形至上而下的边在与平板长边垂直的垂线上的投影长,其中
:桌面上最外侧木条相应正多边形定点的距离
:分别为椭圆形桌面长半轴和短半轴长
五、模型的建立与求解
5.1模型准备
定理:当折叠桌的四条支撑腿所构成的结构区域形状为正方形时,折叠桌的稳固性最好。
证明:下面先从折叠桌的稳固性出发来列出规划模型求相应参数之间满足的函数关系。设平板长为,宽为,厚为,桌面的形状为圆形,且半径为,桌面高度为。相同材质和形状的支撑桌腿,桌腿在承受相同力下,桌腿的张力越小,则桌子的稳固性越好。桌腿的张力越小,也即最外侧桌腿与圆形桌面下底面夹角越小,即该夹角余弦值越大,因此可以以最大为目标。
对于一立体结构而言,如果重心所在的垂线落在结构体体面范围内就是稳定的,对于本题桌子结构体,桌面上任意一点都落在桌子结构体内,才能保证桌子的稳定,以此可得约束条件:
,
综上可建立下非线性规划模型:
,
分析计算可得当最大时,有
,
成立,四条支撑腿到结构面中心的距离相等。由此得出了稳固性最好时,桌子的支撑腿所构成的结构区域形状为正方形。
5.2问题一模型建立与求解
由于整个桌子是对称的,以圆形桌面俯视图中右下四分之一圆形桌面来考虑,题目所给图1的中与该四分之一的桌子相对应的示意图如下:
图1 桌角与桌面夹角示意图
俯视圆形桌面,桌面上1/4的铰链从其中一侧与最外侧桌腿连接的铰链开始依次编号为,如下图2所示:
图2 桌腿编号图
设各桌腿中钢筋到相应铰链的距离为,其中,(n下同)设每条桌腿与圆形桌面下底面夹角为,各桌腿端点坐标为,在桌子的折叠过程中,,,随桌子的高度的变化而变化,因此用,,的变化来描述折叠桌的动态变化过程。
为了求出,,,假设与圆形桌面最外侧桌腿连接的铰链处的直线,到与该直线平行且过圆心的直径距离为,圆形桌面半径为,其余各木条铰链到圆形桌面直径的距离设为,那么
,
,()
由上式可以看出都是的函数。
由于钢筋与桌面直径平行,且最外侧钢筋固定在桌腿最外侧木条的中心位置,所以最外侧桌腿与桌面的夹角
,
如上图1所示,其中为折叠桌的高度,为最外侧桌腿钢筋到相应铰链长度,且
,
因为题中要求折叠后桌子的高度为53cm,而由于每根桌腿的厚度为3cm,所以高度。由余弦定理可以求得第二根桌腿钢筋到相应铰链长度:
,
同样由余弦定理可以求得第三根桌腿钢筋到相应铰链长度:
,
以此类推可以求出:
,()
下面求各各桌腿与圆形桌面下底面夹角为,最外侧桌腿与圆形桌面下底面夹角为:
,
对于第二根桌腿与圆形桌面下底面夹角为:
,
对于第三根桌腿与圆形桌面下底面夹角为:
,
以此类推对于第根桌腿与圆形桌面下底面夹角为:
,()
为了求各桌腿端点坐标为,以圆形桌面圆心为空间直角坐标系的原点,与最外侧形成的梯形上底平行的直径方向为轴,圆形桌面垂直梯形上底的直径方向为轴,圆形桌面过圆心的垂线为轴,如下图3:
图3 桌子空间三维图
现先求出各桌腿端点轴坐标和轴坐标,各桌腿端点轴坐标即为各桌腿底端距桌面直径的水平距离,设为,其中;各桌腿端点轴坐标即为各桌腿端点到桌面的距离,设为,其中。
当大于90度时,各桌腿端点到桌面的距离:
,
其中,,且
,
此时各桌腿端点横坐标即为各桌腿底端距桌面直径的水平距离:
,
当小于90度时,各桌腿端点到桌面的距离:
,
此时各桌腿端点横坐标即为各桌腿底端距桌面直径的水平距离:
,
各桌腿端点y轴坐标设为,其中,则:
,
若给出,便可求出在不同高度下的,,。由模型准备中的猜想证明可知,当支撑腿构成的结构面呈正方形时,桌子具有较好的稳固性。所以有
,
综上,由下列方程组:
用LIONGO编程(程序见附录1)求解,得出。
因为
,
且
,
所以是关于自变量的函数,由此可以看出,第条桌腿在钢筋位置处距相应桌腿铰链的距离
,
是关于自变量和的关系。对于给定的,的函数关系只与最外侧桌腿与桌面的夹角有关,且。由导数
,
其中,
,
为常数,在上恒有;所以在内单调递增。桌子平铺时各桌腿中钢筋到铰链的距离和折叠后各桌腿中钢筋到铰链距离,始末状态的、两距离相减得到各桌腿开槽长度。
将桌子平铺时每条桌腿的开槽中钢筋到桌面直径即开槽起点距桌面直径的距离为:。每条桌腿铰链到桌面直径的距离,(MATLAB编程计算程序见附录2)如下表:
表1 每条桌腿铰链到桌面直径的距离
桌腿编号
1
2
3
4
5
6
7
8
9
10
6.35
12.61
16.39
18.95
20.98
22.56
23.78
24.68
25.30
25.67
由表可以知道的值,当桌腿越靠近圆心越大,由此可知结果的合理性。
现求出当折叠后桌子圆形桌面下底面到地面的距离是50cm时的桌腿中钢筋到相应铰链的距离为,每条桌腿与圆形桌面下底面夹角为,桌腿端点坐标为,根据上面的关系式,计算结果如下:
表2 高度h为50时的参数
桌腿编号
1
2
3
4
5
6
7
8
9
10
26.82
25.24
25.00
25.16
25.48
25.83
26.16
26.44
26.65
26.78
(角度)
68.75
82.12
90.50
96.56
100.11
104.55
107.12
109.00
110.27
111.00
由表可知当桌子折叠后,每条桌腿与圆形桌面夹角相差不大,与实际相符合。
各桌腿端点坐标为如下:
表3 各桌腿端点坐标
桌腿编号
1
2
3
4
5
6
7
8
9
10
轴坐标
25.79
19.11
15.91
14.26
13.46
13.16
13.11
13.18
13.29
13.37
轴坐标
25.00
22.50
20.00
17.50
15.00
12.50
10.00
7.50
5.00
2.50
轴坐标
-50.00
-46.00
-43.00
-40.00
-38.00
-38.00
-34.00
-33.00
-32.00
-32.00
为了描述桌子的动态变化过程,分别取、、、、用MATLAB编程(程序见附录2)画图,桌子的动态变化图如下:
图4 不同高度下桌子的动态变化图
设桌子平铺时各桌腿中钢筋到铰链的距离为()和折叠后各桌腿中钢筋到铰链距离()可以求出各桌腿空槽的具体位置和各空槽的长度,空槽长度
,()
,可由h=3cm和53cm时确定取值。
,
其中
,, =,
结果如下表:
表4 桌子平铺时各桌腿中钢筋到铰链的距离
桌腿编号
1
2
3
4
5
6
7
8
9
10
26.82
20.56
16.89
14.23
12.19
10.61
9.40
8.50
7.87
7.50
从桌子的平板图看可以知道即为最外侧桌腿中心连线的圆形桌平面圆弧的距离,从上表结果,桌腿编号从1到10,依次减小,也与实际相符。
开槽长度结果如下表:
表5 各桌腿开槽长度
桌腿编号
1
2
3
4
5
6
7
8
9
10
开槽长度(cm)
0
4.67
8.11
10.94
13.29
15.22
16.77
17.94
18.78
19.28
第一条桌腿长度为,由上表数据比较得开槽长度均小于,说明了模型建立的合理性。
由已经求出了的各桌腿端点坐标,用MATLAB画图将各点连成线,曲线图如下:
图5 各桌腿端点坐标连线图
该曲线在面和面的投影坐标为:
表6 各桌腿投影在坐标和坐标
桌腿编号
坐标
坐标
1
(25.79,25.0)
(25.0,-50.00)
2
(19.11,22.5)
(22.5,-46.00)
3
(15.91,20.0)
(20.0,-43.00)
4
(14.26,17.5)
(17.5,-40.00)
5
(13.46,15.0)
(15.0,-38.00)
6
(13.16,12.5)
(12.5,-36.00)
7
(13.11,10.0)
(10.0,-34.00)
8
(13.18,7.5)
(7.5,-33.00)
9
(13.29,5.0)
(5.0,-32.00)
10
(13.37,2.5)
(2.5,-32.00)
使用matlab软件的cftool工具对2条曲线进行8次多项式拟合,可得图像为:
图6 各桌腿端点投影拟合曲线图
投影曲线方程为
,
其中拟合的方差为0.1229,相关系数的平方为0.9999。
投影曲线方程为
,
其中拟合的方差为0.4975,相关系数的平方为0.9988。相关系数接近1,则说明拟合曲线具有很高的可信度。
将以上两条直线作为准线,与坐标平面的垂直柱面,这两柱面的交线为桌面边缘线。则桌角边缘线的方程:
5.2问题二模型建立与求解
设桌子半径为,桌腿宽度为,桌腿条数为,从最外侧桌腿到中间桌腿依次编号依次为那么三者有以下关系:
当,必定使折叠后的桌面上最外侧桌腿靠外的边与圆外切,若是去掉一根木条,将桌腿在铰链处桌面下底面各突出的端点相连,便形成一个圆形。当不为整数时,对向下取整,即,将桌腿在铰链处桌面下底面各突出的端点相连,也可以形成一个圆形。
设圆形桌面最外侧桌腿铰链到圆形桌面直径的距离为,利用勾股定理可得:
,
下面先从折叠桌的稳固性分析桌角的位置。由证明的模型定理可知,要使折叠桌稳定性好,则桌子的四条支撑腿所构成的结构面成正方形,即方程:
,
满足桌子的稳固性。
不妨以平板体积最小为目标函数,即以最小为目标函数。由几何关系可得:
,
为平板宽度,为木条宽度,且应有。因为平板厚度对材料体积大小影响较平板长度和宽度小,且查资料可得现在流行的木板厚度多为、、,且问题中有去平板厚度为,为了方便计算,在此不妨设,综上可得以下非线性规划模型:
根据上述非线性规划模型,任意给定折叠桌高度和圆形桌面直径,用MATLAB软件,编写出输入任意高度和直径的交互界面,便可得出平板尺寸、、和圆形桌面最外侧桌腿铰链到圆形桌面直径的距离,桌腿宽度为及桌腿条数为,和折叠桌的动态变化图。
加工方便程度主要受到开槽长度大小的影响,设为从外侧看过去对圆形桌面上一半桌腿铰链到圆形桌面直径的距离,每根桌腿从最外侧开始依次编号为,可以求得:
其中(下同)
设为编号为的桌腿长,可得:
,
设平铺时各桌腿为中钢筋到铰链的距离为,其中,折叠后各桌腿中钢筋到铰链距离,其中,两距离之差即为空槽长度。设钢筋到相应桌腿的长度占整条桌腿的长度比例为,那么
,
,
其中角如图1所示,且
,
从实际角度出发空槽长度应该小于空槽起始点到桌腿端点的距离。
因此可以在稳固性最好、材料最省的基础上再以开槽长度最小为为目标,满足一定约束下列出非线性规划模型,求出开槽长度和钢筋位置。非线性规划模型如下:
根据上述非线性规划模型,在稳固性最好、材料最省的基础上,给定任意折叠桌高度和圆形桌面直径,便可先求出相应最优的平板尺寸、圆形桌面最外侧桌腿铰链到圆形桌面直径的距离,桌腿宽度为及桌腿条数为,对于当给定折叠桌高度为和圆形桌面直径为时,用MATLAB软件编程(程序见附录3)求解,求得,即最外侧钢筋位置距该桌腿端点距离占该条桌腿总长的比例为0.486,开槽总长度为827.84cm,其它参数见下表:
表7 平板尺寸表
平板长度
平板宽度
平板厚度
桌腿宽度
单侧桌腿条数
最外侧桌腿钢筋
位置距铰链距离
158.00cm
79.90cm
3.00cm
4.70cm
17
39.60cm
表8 各条桌腿中开槽长度表
桌腿编号
1
2
3
4
5
6
7
8
9
(cm)
0
11.86
18.94
24.54
28.98
32.42
34.93
36.58
37.40
5.3问题三模型
5.3.1桌面边缘线是偶数边正多边形
当桌面是偶数边正多边形,可分两种情况讨论,一种情况是正多边形有两条边与平板边界重合,另一种情况是正多边形两顶点在平板边界上,我们以后者为例。
设正多边形有n1条边,n1>4,那么正多边形内角为
,
又设桌腿宽度为,正多边形边长为,桌腿条数为.设有一圆与该正多边形内接,则圆的半径为:
,
又因为正多边形上关于圆心对称的两个顶点在圆上,所以正多边形上关于圆心心对称的两个顶点距离为,则
如图4所示,正多边形至上而下的顶点与平板长边垂线的夹角依次为, 正多边形至上而下的边在与平板长边垂直的垂线上的投影设为,由多边形的对称关系可得出以下结论:
桌面上最外侧桌腿相应正多边形定点的距离设为,根据几何知识可得:
,
进一步可得:
,
,
当时,,其中,,可得:
,
下面先从折叠桌的稳固性分析桌角的位置。由证明的模型猜想可知,要使折叠桌稳定性好,则桌子的四条支撑腿所构成的结构面成正方形,即方程
,
满足桌子的稳固性。
在稳固性最好的基础上再从用材最少,列出下列非线性规划模型求出平板尺寸和圆形桌面最外侧桌腿铰链到圆形桌面直径的距离。
根据上述非线性规划模型,任意给定折叠桌高度和桌面长半轴和短半轴长长度,用MATLAB编程便可计算出平板尺寸和圆形桌面最外侧桌腿铰链到椭圆直长半轴的距离,桌腿宽度为及桌腿条数为。用MATLAB编程便可计算出此时的平板尺寸、圆形桌面最外侧桌腿铰链到的椭圆直长半轴距离,桌腿宽度为及桌腿条数为。
加工方便程度主要受到开槽长度大小的影响, 类似问题二在稳固性最好、材料最省的基础上再以开槽长度最小为为目标,满足一定约束下列出非线性规划模型,求出开槽长度和钢筋位置。非线性规划模型如下:
根据上述非线性规划模型,在稳固性最好、材料最省的基础上,任意给定折叠桌高度和圆形桌面直径,便可先求出相应的最优的平板尺寸、圆形桌面最外侧桌腿铰链到圆形桌面直径的距离,桌腿宽度为及桌腿条数为,对于当给定折叠桌高度和桌面长半轴和短半轴长度。
5.3.2桌面边缘线是椭圆
当桌面边缘线椭圆时,给定任意折叠高度、桌面边缘线的形状大小(即给定短半轴、长半轴大小),便可求出平板材料的形状尺寸大小和切实可行的最优设计加工参数同问题二的求解类似。
设椭圆形桌面长半轴和短半轴长分别为,桌腿宽度为,桌腿条数为,从最外侧桌腿到中间桌腿依次编号依次为那么三者有以下关系:
当为整数时,必定使折叠后的桌面上最外侧桌腿靠外的边与与椭圆相切,若是去掉桌腿,将桌腿在铰链处桌面下底面各突出的端点相连,便形成一个椭圆。当不为整数时,对向下取整,即,将桌腿在铰链处桌面下底面各突出的端点相连,也可以形成一个椭圆。
设圆形桌面最外侧桌腿铰链到椭圆桌面长轴的距离为,用勾股定理可得:
,
设为从外侧看过去对圆形桌面上桌腿铰链到圆形桌面直径的距离,每根桌腿从最外侧开始依次编号为,可以求得:
下面先从折叠桌的稳固性分析桌角的位置。由证明的模型定理可知,要使折叠桌稳定性好,则桌子的四条支撑腿所构成的结构面成正方形,即方程
,
可满足桌子的稳固性。
在稳固性最好的基础上再从用材最少,列出下列非线性规划模型求出平板尺寸和圆形桌面最外侧桌腿铰链到圆形桌面直径的距离。
根据上述非线性规划模型,任意给定折叠桌高度和桌面长半轴和短半轴长长度,用MATLAB编程便可计算出平板尺寸和椭圆桌面最外侧桌腿铰链到椭圆直长半轴的距离,桌腿宽度为及桌腿条数为。当给定折叠桌高度为和桌面长半轴和短半轴长长度45cm和30cm,用MATLAB编程便可计算出此时的平板尺寸、椭圆桌面最外侧桌腿铰链到的椭圆直长半轴距离,桌腿宽度为及桌腿条数为(程序见附录4),计算出相应参数结果如下:
表9 平板尺寸参数表
平板长度
平板宽度
平板厚度
桌腿宽度
单侧桌腿条数
最外侧桌腿钢筋
位置距铰链距离
161.52cm
58.00cm
3.00cm
2.90cm
20
24.46cm
加工方便程度主要受到开槽长度大小的影响,在稳固性最好、材料最省的基础上再以开槽长度最小为为目标,满足一定约束下列出非线性规划模型,求出开槽长度和钢筋位置。非线性规划模型如下:
min
根据上述非线性规划模型,在稳固性最好、材料最省的基础上,任意给定折叠桌高度和圆形桌面直径,便可先求出相应的最优的平板尺寸、圆形桌面最外侧桌腿铰链到圆形桌面直径的距离,桌腿宽度为及桌腿条数为,对于当给定折叠桌高度为和桌面长半轴和短半轴长长度45cm和30cm,用MATLAB编程(程序见附录4)求解,求得,即最外侧钢筋位置距该桌腿端点距离占该条桌腿总长的比例为0.48。此时各条桌腿中开槽长度下表:
表10 各条桌腿开槽长度
桌腿
编号
1
2
3
4
5
6
7
8
9
10
开槽长度(cm)
0
10.29
18.57
25.41
31.00
35.52
39.08
41.78
43.67
44.78
在折叠桌高度由0cm变化到70cm时,取高度分别为3cm、11cm、19cm、27cm、35cm、43cm、51cm、60cm,用MATLAB编程即可分别画出给定高度的桌子状态图如下所示:
图7 椭圆动态变化过程图
图8 椭圆动态变化过程图
六、模型的评价与改进
6.1模型的优点
1.动态图形分析,模拟出折叠桌动态变化过程。
2.编写matlab交互界面,给定任意高度和直径,可求出折叠桌参数。
6.2模型的缺点
1.没有考虑桌子美观,桌脚超出桌面。
2.没有考虑木板厚度,会产生一定误差。
6.3模型的改进
本模型没有考虑平板厚度,会产生一定误差。在计算时可以添加平板的厚度,提高计算的精确度,但是会增加一定的计算复杂度。
参考文献
[1]杨文茂,李全英,空间解析几何,武汉:武汉大学出版社,2006.
[2]胡良剑,孙晓君,MATLAB数学实验,北京:高等教育出版社,2006.
36
附 录
附录1(table1.1.lg4文件) k的确定
min=@cos(H/(2*l));
@sqrt((2*l)^2 - H^2) + k >=r;
k + 2*l = 60; !平板长度为60;
r = @sqrt(25^2 + k^2);
H = 50; !桌面高度;
附录2(table1.m文件)第一问的求解
clc,clear;
S = 1; %记录画图
for h = 0:12.5:50 %高度
a = 0; %记录弦长增加量
H = 60; %平板一半长度
k = 6.3533; %长度
l = (H-k)/2;
R = 50/2; %桌面长度
r = sqrt(R^2 + k^2); %半径
c = asin((h/2)/l); %角度
for i = 2:10
a = a + 2.5;
b(i) = real(sqrt(r^2 - (R - a)^2)); %桌面弦长 real去除由于误差产生的虚数
f(i) = H - b(i); %每条桌腿长度
d(i) = real(sqrt((b(i) - k)^2 + l^2 - 2*(b(i) - k)*l*cos(c))); %开槽底部到桌腿顶部长度
e(i) = d(i) + b(i) - l - k; %开槽长度
q(i)=acos(((b(i) - k)^2 + d(i)^2 -l^2)/(2*(b(i) - k)*d(i))); %角度
if(q(i) > pi/2)
g(i) = cos(q(i) - pi/2)*f(i); %每条桌腿的高度
w(i) = b(i) + real(sqrt(f(i)^2 - g(i)^2)); %横坐标
else
g(i) = sin(q(i))*f(i); %每条桌腿的高度
w(i) = b(i) - real(sqrt(f(i)^2 - g(i)^2));
end
end
%处理边缘桌腿
b(1) = k;
f(1) = H - b(1);
d(1) = l;
q(1) = acos((h/2)/l) + pi/2;
g(1) = cos(q(1) - pi/2)*f(1);
e(1) = 0;
w(1) = b(1) + real(sqrt(f(1)^2 - g(1)^2));
x = [w,fliplr(w)];
y = [-25:2.5:-2.5,2.5:2.5:25];
z = -fix([g,fliplr(g)]); %fix消除误差对图像影响
x1 = [b,fliplr(b)];
y1 = y;
z1 = zeros(1,20);
if S == 1
subplot(3,2, 1:2);
view(20,75);
else
subplot(3,2,S+1);
view(25,25);
end
title(['高度为',num2str(h)]);
hold on
%画出桌面
for i = 1:20
plot3([x(i) x1(i)],[y(i) y1(i)],[z(i) z1(i)])
end
plot3(x,y,z,'r');
plot3(x1,y1,z1);
for i = 1:20
plot3([-x(i) -x1(i)],[y(i) y1(i)],[z(i) z1(i)])
end
plot3(-x,y,z,'r');
plot3(-x1,y1,z1);
%桌面连线
plot3([x1(1) -x1(1)],[y1(1) y1(1)],[z1(1) z1(1)]);
plot3([x1(20) -x1(20)],[y1(20) y1(20)],[z1(20) z1(20)]);
%钢筋
x3 = sqrt(l^2 - (h/2)^2) + k;
y3 = 22.5;
z3 = -h/2;
plot3([x3 x3],[y3 -y3],[z3 z3],'k');
plot3([-x3 -x3],[y3 -y3],[z3 z3],'k');
hold off
S = S + 1;
end
disp('每条桌腿铰链距平板中线距离:'); b
disp('开槽底部到铰链的长度:'); d
disp('桌腿与桌面的夹角(角度):'); 180/pi*q
disp('桌脚与x轴正方向地面的夹角:'); 180/pi*(pi - q)
disp('桌腿端点坐标:');[x' y' z']
disp('每条桌腿开槽顶端距铰链距离'); f - l
disp('开槽长度:'); e
附录3(table2.m文件)求解给定任意高度和半径的折叠桌
clc
clear
tic
h = input('桌高:');
R = input('桌面直径:');
c = 3; %平板厚度
i = 1; %记录坐标
for d=1:0.1:10
n1 = R/d;
if(n1 == floor(R/d))
n = n1-1;
else
n = floor(R/d);
end
syms a
u1=solve(sqrt((a/2 - sqrt((R/2)^2 - (n/2*d)^2))^2 - (h - c)^2) + sqrt((R/2)^2 - (n/2*d)^2) - n/2*d,a);
u1 = vpa(u1);
u(i) = eval(u1(1));
i = i + 1;
end
u2 = find(u(1,:) == min(u));
while(1)
a = u(max(u2));
d = 1 + (max(u2) - 1)*0.1;
n1 = R/d;
if(n1 == floor(R/d))
n = n1-1;
else
n = floor(R/d);
end
b1 = n*d; %平板宽度
k = sqrt((R/2)^2 - (n/2*d)^2); %最外侧桌面弦长
o = asin((h - c)/(a/2 - k)); %最外侧桌腿与桌面夹角
j = 1;
for v = 0:0.00001:1
s8 = 0;
for i = 1:ceil(n/2)
b5(i) = sqrt((R/2)^2 - ((n/2 - i + 1)*d)^2); %桌面弦长
f5(i) = a/2 - b5(i); %每条桌腿长度
s5(i) = f5(i) - v*f5(1); %开槽顶部到桌腿顶部长度
if i == 1
s6(1) = (1 - v)*f5(1); %开槽底部到桌腿顶部长度
else
s6(i) = sqrt(((1 - v)*f5(1))^2 + (b5(i) - b5(1))^2 - 2*(b5(i) - b5(1))*(1 - v)*f5(1)*cos(o));
end
s7(i) = s6(i) - s5(i); %开槽长度
if s6(i) - s5(i) > f5(1)*v
s8 = inf;
else
s8 = s8 + s7(i); %开槽总长
end
end
if(n/2 == floor(n/2))
s8 = 4*s8;
e
展开阅读全文