全国大学生数学建模b题

创意平板折叠桌

摘 要

本文讨论了平板折叠桌折叠的动态变化过程及相应的参数设计问题,以及在一定条件下折叠桌的最优设计加工参数求解问题。利用空间解析几何知识,建立了非线性规划模型,用MATLAB 软件和LINGO 软件进行求解,得到了各种条件下的各个参数的尺寸。

针对问题一,根据题目所提供图1,从最外侧桌腿木条到中间桌腿木条依次编号为1, 2, ,10。首先证明了在四条支撑腿底端构成正方形时稳固性较好;然后运用几何关系得到了在完全折叠成桌子时的各桌腿与折叠桌下底面的夹角、各桌腿与钢筋交点到相应铰链的距离以及桌腿底端点坐标都是桌面最外侧一根木条铰链处到圆形桌面直径的距离的函数。利用这些函数关系,使用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 编程计算给定桌高为70 cm ,圆形桌面直径为80 cm 时的平板长度为158.00 cm ,宽度为79. 90cm ,厚度为3 cm ,木条宽度为4. 70 cm ,单侧木条数为17条。

针对问题三,确定桌腿几何形状为与平板平行的长方体,由几何知识可以得出桌面形状关于重心对称,得到桌面为偶数条边的正多边形和椭圆两类形状。在人机交互环境下,给定任意桌面高度,椭圆长轴和短轴参数下,以用料最省和加工简单为目标的条件下,建立非线性规划模型,解出开槽长度、桌腿条数和桌腿宽度的具体加工参数。对于短半轴为30cm 、长半轴为45cm 和高度为70cm 的桌面为椭圆的折叠桌,求出了各条桌腿的开槽长度依次为0,10.29,18.57,25.41,31.00,35.52,39.08,41.78,43.67,44.78(cm ),平板尺寸为161. 52 cm ⨯58. 00 cm ⨯3. 00 cm ,钢筋到相应桌腿的长度占整条桌腿的长度比例为0. 48。

关键词:非线性规划;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红色曲线上各桌腿端点坐标。将各桌腿端点坐标p n 分别投影到xoy 面、yoz 面做二位坐标曲线拟合,再以拟合出的曲线为准线,得到分别以垂直xoy 面、yoz 面的柱面方程,两柱面方程的交线,即为桌脚边缘线的数学描述。

2.2问题二分析

问题二要求讨论给定任意折叠桌高度和圆形桌面直径最优设计。折叠桌的设计应做到产品的稳固性好、加工方便、用材最少,对于稳固性,由第一问分析可知,在折叠桌高度和圆形桌面直径一定的时,稳固性主要受到平板尺寸,圆形桌面最外侧木条长度的影响。折叠桌的用材主要由每条腿的宽度决定,由于桌腿宽度必须被桌面宽度的整除,则可以确定桌面的宽度。以加工方便为目标函数,建立非线性规划模型,在一定条件下便可求出平板尺寸大小。再在此基础上,求出最优的钢筋位置和开槽长度使加工更方便。

2.3问题三分析

要用一长方形平板材料设计成可折叠的桌子,桌面形状应该满足一定要求,才能桌子具有一定的稳定性。例如当桌面形状为矩形时,桌子是对称的,要使材料最省,那么桌子两边的桌腿应与地面垂直,那么当对桌脚施加任意的水平力就能使整个桌子倒塌,也即在这种情况下,不能设计符合实际的桌子。

三、模型的假设

1. 计算时不考虑模板厚度。

2. 不考虑铰链厚度。

3. 不考虑相邻桌腿之间空隙。

四、符号的说明

a , b , c :分别为平板木块的长宽高

2, ,10 d n :各桌腿中钢筋到相应铰链的距离,其中n =1,

2, ,10 θn :每条桌腿与圆形桌面下底面夹角,其中n =1,

2, ,10 p n :各桌腿端点坐标,其中n =1,

n :桌腿编号

k :圆形桌面最外侧桌腿铰链到圆形桌面直径的距离

R :圆形桌面半径

3, ,10 b n :各桌腿铰链处到过桌面中心垂直于桌腿的直线的距离,其中n =2,

h :折叠桌的高度

x n :各桌腿端点x 轴坐标即为各桌腿底端距桌面直径的水平距离

a 2, ,10 f n :桌腿长度-b n ,其中n =1,2

z n :各桌腿端点z 轴坐标即为各桌腿端点到桌面的距离

y n :各桌腿端点y 轴坐标

2, ,10 s n 1:桌子平铺时各桌腿中钢筋到铰链的距离,其中n 1=1,

2, ,10 s n 2:折叠后各桌腿中钢筋到铰链距离,其中n 2=1,

d :桌腿宽度

m :桌腿条数

b i :从外侧看过去对四分之一桌腿铰链到与桌腿铰链平行的桌面对称轴的距离,其中

m i =1,2, [], 2

m 2, [] f i :编号为i 的桌腿长,i =1,2

m 2, [] s i 1:平铺时各桌腿为中钢筋到铰链的距离,其中i 1=1,2

m 2, [] s i 2:折叠后各桌腿中钢筋到铰链距离s i 2,其中i 2=1,2

α:钢筋到相应桌腿的长度占整条桌腿的长度比例

n1:正多边形条数

θ:正多边形内角

r :正多边形边长

θi :正多边形至上而下的顶点与平板长边垂线的夹角,其中i =1, 2, , n 1

m 2, [] l k :正多边形至上而下的边在与平板长边垂直的垂线上的投影长,其中k =1,4

ε:桌面上最外侧木条相应正多边形定点的距离

A , B :分别为椭圆形桌面长半轴和短半轴长

五、模型的建立与求解

5.1模型准备

定理:当折叠桌的四条支撑腿所构成的结构区域形状为正方形时,折叠桌的稳固性最好[1]。

证明:下面先从折叠桌的稳固性出发来列出规划模型求相应参数之间满足的函数关系。设平板长为a ,宽为b ,厚为c ,桌面的形状为圆形,且半径为R ,桌面高度为h 。相同材质和形状的支撑桌腿,桌腿在承受相同力下,桌腿的张力越小,则桌子的稳固性越好。桌腿的张力越小,也即最外侧桌腿与圆形桌面下底面夹角越小,即该夹角余弦值

越大,因此可以以cos(2h -c ) 最大为目标。 a -2k

对于一立体结构而言,如果重心所在的垂线落在结构体体面范围内就是稳定的,对于本题桌子结构体,桌面上任意一点都落在桌子结构体内,才能保证桌子的稳定,以此可得约束条件:

a (-k ) 2-(h -c ) 2+k ≥R , 2

综上可建立下非线性规划模型:

max f =cos(2h -c ) , a -2k

⎧m 22⎪k =R -(d ) 2⎪⎪2R ⎧2R -1, 为整数时 ⎪⎪⎪⎪d d s . t . ⎨m =⎨2R ⎪⎪[2R ],不为整数时⎪⎪d ⎩d ⎪⎪a -k ) 2-(h -c ) 2+k ≥R ⎪⎩2

2h -c ) 最大时,有 分析计算可得当f =cos(a -2k

a (-k ) 2-(h -c ) 2+k =R , 2

成立,四条支撑腿到结构面中心的距离相等。由此得出了稳固性最好时,桌子的支撑腿所构成的结构区域形状为正方形。

5.2问题一模型建立与求解

由于整个桌子是对称的,以圆形桌面俯视图中右下四分之一圆形桌面来考虑,题目所给图1的中与该四分之一的桌子相对应的示意图如下:

图1 桌角与桌面夹角示意图

俯视圆形桌面,桌面上1/4的铰链从其中一侧与最外侧桌腿连接的铰链开始依次编2, ,10,如下图2所示:

号为1,

图2 桌腿编号图

2, ,10,设各桌腿中钢筋到相应铰链的距离为d n ,其中n =1,(n 下同)设每条桌腿

与圆形桌面下底面夹角为θn ,各桌腿端点坐标为p n ,在桌子的折叠过程中d n ,θn ,p n ,随桌子的高度的变化而变化,因此用d n ,θn ,p n 的变化来描述折叠桌的动态变化过程。

为了求出d n ,θn ,p n ,假设与圆形桌面最外侧桌腿连接的铰链处的直线,到与该直线平行且过圆心的直径距离为k ,圆形桌面半径为R ,其余各木条铰链到圆形桌面直径的距离设为b n ,那么

R =252+k 2,

b n =R 2-[2. 5(11-n )]2,2, ,10) (n =1,

由上式可以看出R ,b n 都是k 的函数。

由于钢筋与桌面直径平行,且最外侧钢筋固定在桌腿最外侧木条的中心位置,所以最外侧桌腿与桌面的夹角

h ) , 2d 1θ1=θ1如上图1所示,其中h 为折叠桌的高度,d 1为最外侧桌腿钢筋到相应铰链长度,且

d 1=60-k , 2

因为题中要求折叠后桌子的高度为53cm ,而由于每根桌腿的厚度为3cm ,所以高度h =50cm 。由余弦定理可以求得第二根桌腿钢筋到相应铰链长度:

2d 2=(b 2-k ) 2+d 1-2(b 2-k ) d 1cos θ1,

同样由余弦定理可以求得第三根桌腿钢筋到相应铰链长度:

d 3=(b 3-k ) 2+d 1-2(b 3-k ) d 1cos θ1, 2

以此类推可以求出:

2, ,10) d n =(b n -k ) 2+d 1-2(b n -k ) d 1cos θ1,(n =1,2

下面求各各桌腿与圆形桌面下底面夹角为θn ,最外侧桌腿与圆形桌面下底面夹角为:

θ1=对于第二根桌腿与圆形桌面下底面夹角为: h ) , 2d 1

22(b 2-k ) 2+d 2-d 1, θ2=2(b 2-k ) d 2

对于第三根桌腿与圆形桌面下底面夹角为:

(b 3-k ) 2+d 3-d 1, θ3=2(b 3-k ) d 3

以此类推对于第n 根桌腿与圆形桌面下底面夹角为: 22

(b n -k ) 2+d n -d 12, ,10) ,(n =1,θn =2(b n -k ) d n

为了求各桌腿端点坐标为p n ,以圆形桌面圆心为空间直角坐标系的原点,与最外侧形成的梯形上底平行的直径方向为x 轴,圆形桌面垂直梯形上底的直径方向为y 轴,圆形桌面过圆心的垂线为z 轴,如下图3: 22

图3 桌子空间三维图

现先求出各桌腿端点x 轴坐标和y 轴坐标,各桌腿端点x 轴坐标即为各桌腿底端距

2, ,10;各桌腿端点z 轴坐标即为各桌腿端点桌面直径的水平距离,设为x n ,其中n =1,

2, ,10。 到桌面的距离,设为z n ,其中n =1,

当θn 大于90度时,各桌腿端点到桌面的距离:

z n =cos(θn -) f n , 2π

其中,f n 为桌腿长度,且

2, ,10 f n =60-b n ,n =1,

此时各桌腿端点横坐标即为各桌腿底端距桌面直径的水平距离:

x n =b n +f n -z n , 22

当θn 小于90度时,各桌腿端点到桌面的距离:

z n =sin(θn ) f n ,

此时各桌腿端点横坐标即为各桌腿底端距桌面直径的水平距离:

x n =b n -f n +z n , 22

2, ,10,则: 各桌腿端点y 轴坐标设为y n ,其中n =1,

y n =2. 5(11-n ) ,

若给出k ,便可求出在不同高度下的d n ,θn ,p n 。由模型准备中的猜想证明可知,当支撑腿构成的结构面呈正方形时,桌子具有较好的稳固性。所以有

(2d 1) 2-h 2+k =R ,

综上,由下列方程组:

⎧(2d ) 2-h 2+k =R 1⎪22⎪R =25+k ⎨60-k ⎪d 1=2⎪⎩h =50

用LIONGO 编程(程序见附录1)求解,得出k =6. 3533cm 。

因为

b n =252+k 2-[2. 5(11-n )]2,

k =6. 3533cm ,

所以b n 是关于自变量n 的函数,由此可以看出,第n 条桌腿在钢筋位置处距相应桌腿铰链的距离

d n =(b n -k ) 2+d 1-2(b n -k ) d 1cos θ1, 2

d n 是关于自变量n 和θ1的关系。对于给定的n ,d n 的函数关系只与最外侧桌腿与桌面的

π夹角θ1有关,且θ1∈[0, ]。由导数 2

'd n =

其中,

(b n -k ) 2+d 1-2(b n -k ) d 1cos θ1>0, 2(b n -k ) d 1⋅sin θ1(b n -k ) +d 1-2(b n -k ) d 1cos θ122,

ππ(b n -k ) d 1为常数,sin θ1在[0, ]上恒有sin θ1≥0;所以d n 在θ1∈[0, ]内单调递增。桌子平22

铺时各桌腿中钢筋到铰链的距离s n 1和折叠后各桌腿中钢筋到铰链距离s n 2,始末状态的s n 1、s n 2两距离相减得到各桌腿开槽长度。

将桌子平铺时每条桌腿的开槽中钢筋到桌面直径即开槽起点距桌面直径的距离为:

(MATLAB 编程[2]计算程序见附d 1+k =33. 18cm 。每条桌腿铰链到桌面直径的距离b n ,

录2)如下表:

表1 每条桌腿铰链到桌面直径的距离

n 的值现求出当折叠后桌子圆形桌面下底面到地面的距离是50cm 时的桌腿中钢筋到相应铰链的距离为d n ,每条桌腿与圆形桌面下底面夹角为θn ,桌腿端点坐标为p n ,根据上面的关系式,计算结果如下:

表2高度h 为50时的参数

各桌腿端点坐标为p n 如下:

表3各桌腿端点坐标

、、、MATLAB 编程(程序见附录2)画图,桌子的动态变化图如下:

图4 不同高度下桌子的动态变化图

2, ,10)和折叠后各桌腿中设桌子平铺时各桌腿中钢筋到铰链的距离为s n 1(n 1=1,

2, ,10)可以求出各桌腿空槽的具体位置和各空槽的长度,钢筋到铰链距离s n 2(n 2=1,

空槽长度

2, ,10) s n =s n 2-s n 1,(n =1,

s n 1,s n 2可由h=3cm和53cm 时确定取值。

d n =(b n -k ) 2+d 1-2(d n -k ) d 1cos θ1,

其中

60-k h ,s n 1 =d 1+k -d n , c =) ,d 1=22d 1

结果如下表:

表4桌子平铺时各桌腿中钢筋到铰链的距离

n 1表结果,桌腿编号从1到10,s n 1依次减小,也与实际相符。

开槽长度s n 结果如下表:

表5各桌腿开槽长度

1,说明了模型2第一条桌腿长度为f 1 53. 64cm ,由上表数据比较得开槽长度均小于

建立的合理性。

由已经求出了的各桌腿端点坐标p n ,用MATLAB 画图将各点连成线,曲线图如下:

图5各桌腿端点坐标连线图

该曲线在yox 面和yoz 面的投影坐标为:

表6 各桌腿投影在yox 坐标和yoz 坐标

使用matlab 软件的

图6 各桌腿端点投影拟合曲线图

投影yox 曲线方程为

x =4. 16⨯10-5y 4-0. 00699y 3+13. 43,

其中拟合的方差为0.1229,相关系数的平方为0.9999。

投影yoz 曲线方程为

z =1. 37⨯10-7y 6-5. 56⨯10-5y 4-0. 02061y 2-31. 67,

其中拟合的方差为0.4975,相关系数的平方为0.9988。相关系数接近1,则说明拟合曲线具有很高的可信度。

将以上两条直线作为准线,与坐标平面的垂直柱面,这两柱面的交线为桌面边缘线。则桌角边缘线的方程:

-543⎧x ∈[-60, 60]⎪4. 16⨯10y -0. 00699y +13. 43-x =0 , ⎨-76-542y ∈[-25, 25]⎪y -31. 67-z =0 ,⎩1. 37⨯10y -5. 56⨯10y -0. 02061

5.2问题二模型建立与求解

设桌子半径为R , 桌腿宽度为d ,桌腿条数为m ,从最外侧桌腿到中间桌腿依次编号m 2, 那么三者有以下关系: 依次为1,2

2R ⎧2R -1 , 为整数时⎪d d ⎪ m =⎨2R ⎪2R [] , 不为整数时 ⎪d ⎩d

当2R 为整数时, 必定使折叠后的桌面上最外侧桌腿靠外的边与圆外切,若是去掉一根木d

2R 不为整数d 条,将桌腿在铰链处桌面下底面各突出的端点相连,便形成一个圆形。当

时,对2R 2R 向下取整,即[],将桌腿在铰链处桌面下底面各突出的端点相连,也可以d d

形成一个圆形。

设圆形桌面最外侧桌腿铰链到圆形桌面直径的距离为k ,利用勾股定理可得:

k =R 2-(m 2d ) , 2

下面先从折叠桌的稳固性分析桌角的位置。由证明的模型定理可知,要使折叠桌稳定性好,则桌子的四条支撑腿所构成的结构面成正方形,即方程:

a m -k ) 2-(h -c ) 2+k =d , 22

满足桌子的稳固性。

不妨以平板体积最小为目标函数,即以abc 最小为目标函数。由几何关系可得:

b =md ,

b 为平板宽度,d 为木条宽度,且应有d >0。因为平板厚度c 对材料体积大小影响较平板长度和宽度小,且查资料可得现在流行的木板厚度多为3cm 、5cm 、8cm ,且问题中有去平板厚度为3cm , 为了方便计算,在此不妨设c =3cm ,综上可得以下非线性规划模型:

min f =abc

⎧m 22⎪k =R -(d ) 2⎪⎪2R ⎧2R -1, 为整数时 ⎪⎪⎪d ⎪m =⎨d

2R ⎪⎪[2R ],不为整数时⎪⎪d ⎩d s . t . ⎨

⎪a m ⎪-k ) 2-(h -c ) 2+k =d 2⎪2

⎪b =m d ⎪⎪d >0

⎪c =3⎩

根据上述非线性规划模型,任意给定折叠桌高度和圆形桌面直径,用MATLAB 软件,编写出输入任意高度和直径的交互界面,便可得出平板尺寸a 、b 、c 和圆形桌面最外侧桌腿铰链到圆形桌面直径的距离k ,桌腿宽度为d 及桌腿条数为n ,和折叠桌的动态变化图。

加工方便程度主要受到开槽长度大小的影响,设b i 为从外侧看过去对圆形桌面上一

m 2, ,半桌腿铰链到圆形桌面直径的距离, 每根桌腿从最外侧开始依次编号为1,可以求2

得:

b i =R 2-[(m m 2, [](i 下同) -i ) d ]2 , 其中i =1,22

设f i 为编号为i 的桌腿长,可得:

f i =m -b i , 2

m 2, [],折叠后各桌腿中设平铺时各桌腿为中钢筋到铰链的距离为s i 1,其中i 1=1,2

m 2, [],两距离之差即为空槽长度s i =s i 2-s i 1。设钢筋钢筋到铰链距离s i 2,其中i 2=1,2

到相应桌腿的长度占整条桌腿的长度比例为α,那么

s i 1=f i -α⋅f i ,

s i 2=1-α) f i ]2+(b i -k ) 2-2(b i -k )(1-α) f 1cos θ1,

其中θ角如图1所示,且

θ1=arcsin(2(h -c ) ) , a -2k

从实际角度出发空槽长度s i =s i 2-s i 1应该小于空槽起始点到桌腿端点的距离α⋅f 1。

因此可以在稳固性最好、材料最省的基础上再以开槽长度最小为为目标,满足一定约束下列出非线性规划模型,求出开槽长度和钢筋位置。非线性规划模型如下:

m

2min f =∑(s i 2-s i 1)

i =1

⎧m m 22b =R -[(-i ) d ] , i =1,2, []⎪i 22⎪⎪f =m -b ⎪i 2i ⎪s . t . ⎨s i 1=f i -αf i

⎪s =1-α) f ]2+(b -k ) 2-2(b -k )(1-α) f cos θi i i 11⎪i 2

⎪θ=π-2(h -c ) ) ⎪12a -2k ⎪⎩s i 2-s i 1

根据上述非线性规划模型,在稳固性最好、材料最省的基础上,给定任意折叠桌高度和圆形桌面直径,便可先求出相应最优的平板尺寸、圆形桌面最外侧桌腿铰链到圆形桌面直径的距离k ,桌腿宽度为d 及桌腿条数为n ,对于当给定折叠桌高度为70cm 和圆形桌面直径为80cm 时,用MATLAB 软件编程(程序见附录3)求解,求得α=0. 486,即最外侧钢筋位置距该桌腿端点距离占该条桌腿总长的比例为0.486,开槽总长度为827.84cm ,其它参数见下表:

表8 各条桌腿中开槽长度表

5.3问题三模型

5.3.1桌面边缘线是偶数边正多边形

当桌面是偶数边正多边形,可分两种情况讨论,一种情况是正多边形有两条边与平板边界重合,另一种情况是正多边形两顶点在平板边界上,我们以后者为例。

设正多边形有n1条边,n1>4,那么正多边形内角为

θ=180(n 1-2) , n 1

又设桌腿宽度为d ,正多边形边长为r , 桌腿条数为m . 设有一圆与该正多边形内接,则圆的半径为:

R ⋅sin π

n 1=r ,

又因为正多边形上关于圆心对称的两个顶点在圆上,所以正多边形上关于圆心心对称的两个顶点距离为2r

,则

n 1)

⎧⎪2r 2

⎪-1 , r

d ⋅为整数时

)

m =⎪d ⋅sin(

⎨n 1) n 1

⎪⎪[2r

⎪] , 2r

不为整数时

⎩d ⋅sin(n 1) d ⋅sin(n 1)

如图4所示,正多边形至上而下的顶点与平板长边垂线的夹角依次为

θ1,θ, 2, ,θn 1+1,正多边形至上而下的边在与平板长边垂直的垂线上的投影设为l k ,由多边形的对称关系可得出以下结论:

⎧⎪θ180(n 1-2)

1=

⎪2n 1

⎪⎨θk =(2k +1) θ1-(n 1-1) 180

⎪⎪⎪θm =θk

⎩2-k +2

⎧⎪l 0=0

⎪⎪⎨l

⎪k =l k -1+r cos θk , (k =1, 2,..., m

4)

⎪⎪l

⎩m

2-k +2=l k

桌面上最外侧桌腿相应正多边形定点的距离设为ε,根据几何知识可得:

ε=2r -n 1d

2,

进一步可得:

b ε

1=tan θ,

1

b d

i =tan θ+b i -1,

j

n 1m 2, [],i =1,2, [],可得: 当l k -1≤id +ε≤l k 时,j =k , 其中k =1,24

b n

2-i +1=b i ,

下面先从折叠桌的稳固性分析桌角的位置。由证明的模型猜想可知,要使折叠桌稳定性好,则桌子的四条支撑腿所构成的结构面成正方形,即方程

a m -k ) 2-(h -c ) 2+k =d , 22

满足桌子的稳固性。

在稳固性最好的基础上再从用材最少,列出下列非线性规划模型求出平板尺寸和圆形桌面最外侧桌腿铰链到圆形桌面直径的距离k 。

min f =abc

ε⎧k =b =1⎪tan θ1⎪⎪2r ⎧2r -1, 为整数时 ⎪⎪⎪d d ⎪m =⎨2r ⎪⎪[2r ],不为整数时⎪⎪d d ⎩s . t . ⎨

⎪a m ⎪-k ) 2-(h -c ) 2+k =d 2⎪2

⎪b =m d ⎪⎪d >0

⎪c =3⎩

根据上述非线性规划模型,任意给定折叠桌高度和桌面长半轴和短半轴长长度,用MATLAB 编程便可计算出平板尺寸和圆形桌面最外侧桌腿铰链到椭圆直长半轴的距离k ,桌腿宽度为d 及桌腿条数为m 。用MATLAB 编程便可计算出此时的平板尺寸、圆形桌面最外侧桌腿铰链到的椭圆直长半轴距离k ,桌腿宽度为d 及桌腿条数为n 。

加工方便程度主要受到开槽长度大小的影响,类似问题二在稳固性最好、材料最省的基础上再以开槽长度最小为为目标,满足一定约束下列出非线性规划模型,求出开槽长度和钢筋位置。非线性规划模型如下:

m

2min f =∑(s i 2-s i 1)

i =1

⎧m m 222, []⎪b i =R -[(-i ) d ] ,i =1,22⎪⎪f =m -b ⎪i 2i ⎪s . t . ⎨s i 1=f i -αf i

⎪s =1-α) f ]2+(b -k ) 2-2(b -k )(1-α) f cos θi i i 11⎪i 2

⎪θ=2(h -c ) ) ⎪1a -2k ⎪⎩s i 2-s i 1

根据上述非线性规划模型,在稳固性最好、材料最省的基础上,任意给定折叠桌高度和圆形桌面直径,便可先求出相应的最优的平板尺寸、圆形桌面最外侧桌腿铰链到圆形桌面直径的距离k ,桌腿宽度为d 及桌腿条数为n ,对于当给定折叠桌高度和桌面长半轴和短半轴长度。

5.3.2桌面边缘线是椭圆

当桌面边缘线椭圆时,给定任意折叠高度h 、桌面边缘线的形状大小(即给定短半轴、长半轴大小),便可求出平板材料的形状尺寸大小和切实可行的最优设计加工参数同问题二的求解类似。

设椭圆形桌面长半轴和短半轴长分别为A , B , 桌腿宽度为d ,桌腿条数为m ,从最外m 2, 那么三者有以下关系: 侧桌腿到中间桌腿依次编号依次为1,2

2B ⎧2B -1 , 为整数时⎪d d ⎪ m =⎨2B ⎪2B [] , 不为整数时 ⎪d ⎩d

当2B 为整数时,必定使折叠后的桌面上最外侧桌腿靠外的边与与椭圆相切,若是去掉d

2B 不为整数d 桌腿,将桌腿在铰链处桌面下底面各突出的端点相连,便形成一个椭圆。当

时,对2B 2B ],将桌腿在铰链处桌面下底面各突出的端点相连,也可以形向下取整,即[d d

成一个椭圆。

设圆形桌面最外侧桌腿铰链到椭圆桌面长轴的距离为k ,用勾股定理可得:

A m k =A 2-(⋅⋅d ) 2, B 2

设b i 为从外侧看过去对圆形桌面上桌腿铰链到圆形桌面直径的距离, 每根桌腿从最m 2, ,可以求得: 外侧开始依次编号为i =1,2

A 2m m b i =A -2⋅(-i +1) 2⋅d 2 ,i =1,2, B 222

下面先从折叠桌的稳固性分析桌角的位置。由证明的模型定理可知,要使折叠桌稳定性好,则桌子的四条支撑腿所构成的结构面成正方形,即方程

a m -k ) 2-(h -c ) 2+k =d , 22

可满足桌子的稳固性。

在稳固性最好的基础上再从用材最少,列出下列非线性规划模型求出平板尺寸和圆形桌面最外侧桌腿铰链到圆形桌面直径的距离k 。

min f =abc

⎧A m 22d ) ⎪k =A -(B 2⎪⎪2B ⎧2B -1, 为整数时 ⎪⎪⎪d ⎪m =⎨d

2B ⎪⎪[2B ],不为整数时⎪⎪d ⎩d s . t . ⎨

⎪a m ⎪-k ) 2-(h -c ) 2+k =d 2⎪2

⎪b =m d ⎪⎪d >0

⎪c =3⎩

根据上述非线性规划模型,任意给定折叠桌高度和桌面长半轴和短半轴长长度,用MATLAB 编程便可计算出平板尺寸和椭圆桌面最外侧桌腿铰链到椭圆直长半轴的距离k ,桌腿宽度为d 及桌腿条数为m 。当给定折叠桌高度为70cm 和桌面长半轴和短半轴长长度45cm 和30cm ,用MATLAB 编程便可计算出此时的平板尺寸、椭圆桌面最外侧桌腿铰链到的椭圆直长半轴距离k ,桌腿宽度为d 及桌腿条数为n (程序见附录4),计算出相应参数结果如下:

表9 平板尺寸参数表

加工方便程度主要受到开槽长度大小的影响,在稳固性最好、材料最省的基础上再以开槽长度最小为为目标,满足一定约束下列出非线性规划模型,求出开槽长度和钢筋位置。非线性规划模型如下:

min ∑(s i 2-s i 1)

i =1n 2

⎧m m 22b =R -[(-i ) d ] , i =1,2, ⎪i 22⎪m ⎪f i =-b i ⎪2⎪s i 1=f i -αf i s . t . ⎨

⎪s =1-α) f ]2+(b -k ) 2-2(b -k )(1-α) f cos θi i i 11⎪i 2

2(h -c ) ⎪θ1=) ⎪a -2k ⎪s i 2-s i 1

根据上述非线性规划模型,在稳固性最好、材料最省的基础上,任意给定折叠桌高度和圆形桌面直径,便可先求出相应的最优的平板尺寸、圆形桌面最外侧桌腿铰链到圆形桌面直径的距离k ,桌腿宽度为d 及桌腿条数为n ,对于当给定折叠桌高度为70cm 和桌面长半轴和短半轴长长度45cm 和30cm ,用MATLAB 编程(程序见附录4)求解,求得α=0. 48,即最外侧钢筋位置距该桌腿端点距离占该条桌腿总长的比例为0.48。此时各条桌腿中开槽长度下表:

表10 各条桌腿开槽长度

51cm 、60cm ,用MATLAB 编程即可分别画出给定高度的桌子状态图如下所示:

图7 椭圆动态变化过程图

图8 椭圆动态变化过程图

六、模型的评价与改进

6.1模型的优点

1. 动态图形分析,模拟出折叠桌动态变化过程。

2. 编写matlab 交互界面,给定任意高度和直径,可求出折叠桌参数。

6.2模型的缺点

1. 没有考虑桌子美观,桌脚超出桌面。

2. 没有考虑木板厚度,会产生一定误差。

6.3模型的改进

本模型没有考虑平板厚度,会产生一定误差。在计算时可以添加平板的厚度,提高计算的精确度,但是会增加一定的计算复杂度。

参考文献

[1]杨文茂,李全英,空间解析几何,武汉:武汉大学出版社,2006.

[2]胡良剑,孙晓君,MATLAB 数学实验,北京:高等教育出版社,

2006.

附录

附录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;

else

s8 = 4*s8 - 2*s7(i);

end

s9(j) = s8;

j = j+1;

end

v = (find(min(s9) == s9(1,:))-1)*0.00001; %比率

v = v(1);

if inf ~= s8

break ;

else

u2 = u2 + 1;

end

end

h1 = h;

N = 4; %子图个数

I = 1; %第i 个子图

for h = 3 :1:h1

h2 = 3:(h1-3)/(N-1):h1; %取出图像

figure(1);

if floor(h2(I)) == h

figure(2);

subplot(2,2,I);

view(25,25);

if I

I = I + 1;

end

title([' 高度为' ,num2str(h)]);

end

o = asin((h - c)/(a/2 - k)); %最外侧桌腿与桌面夹角

for i = 1:ceil(n/2)

b(i) = sqrt((R/2)^2 - ((n/2 - i + 1)*d)^2); %桌面弦长

f(i) = a/2 - b(i); %每条桌腿长度

s(i) = f(i) - v*f(1); %开槽顶部到桌腿顶部长度

if i == 1

s1(1) = (1 - v)*f(1); %开槽底部到桌腿顶部长度

else

s1(i) = sqrt(((1 - v)*f(1))^2 + (b(i) - b(1))^2 - 2*(b(i) - b(1))*(1 - v)*f(1)*cos(o));

end

s2(i) = s1(i) - s(i); %开槽长度

if i == 1

q(i) = pi - o;

else

q(i)=acos(((b(i) - k)^2 + s1(i)^2 -s1(1)^2)/(2*(b(i) - k)*s1(i))); %角度 end

if h == 3 %处理0时角度

if (q(i)

q(i) = pi - q(i);

end

end

if (q(i) > pi/2)

g(i) = cos(q(i) - pi/2)*f(i); %每条桌腿的高度

w(i) = b(i) + sqrt(f(i)^2 - g(i)^2); %横坐标

else

g(i) = sin(q(i))*f(i); %每条桌腿的高度

w(i) = b(i) - sqrt(f(i)^2 - g(i)^2);

end

end

x = [w,fliplr(w)];

y = [-b1/2:d:-d/2,d/2:d:b1/2];

z = -fix([g,fliplr(g)]);

x1 = [b,fliplr(b)];

y1 = y;

z1 = zeros(1,2*ceil(n/2));

n1 = 2*ceil(n/2);

cla

axis([-a/2 a/2 -b1/2 b1/2 -h1 h1/2]);

axis equal

set(gcf, 'position' , [200 200 800 500]);

hold on

%画出桌面

for i = 1:n1

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:n1

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(n1) -x1(n1)],[y1(n1) y1(n1)],[z1(n1) z1(n1)]);

%钢筋

x3 = (1 - v)*(w(1) - k) + k;

y3 = b1/2;

z3 = -fix((1 - v)*g(1));

plot3([x3 x3],[y3 -y3],[z3 z3],'k' );

plot3([-x3 -x3],[y3 -y3],[z3 z3],'k' );

view(20,25);

pause(0.05);

end

disp(' 平板长度:' ); a

disp(' 平板宽度:' ); b1

disp(' 平板厚度' ); c

disp(' 桌腿宽度:' ); d

disp(' 单侧桌腿条数:' ); n

disp(' 最外侧桌腿钢筋位置比率' ); v

disp(' 最外侧桌腿钢筋位置距铰链距离' ); f(1)*(1 - v)

disp(' 每条桌腿长' ); f

disp(' 每条桌腿开槽顶端距铰链距离' ); s

disp(' 每条桌腿铰链距平板中线距离' ); b

disp(' 开槽长度:' ); s2

disp(' 开槽总长度:' ); min(s9)

toc

附录4(table3.m 文件)求解椭圆的参数

clc

clear

tic

h = input(' 桌高:');

R = input(' 桌面短轴:' );

A = 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((A/2)^2 - (A/R*(n/2)*d)^2))^2 - (h - c)^2) + sqrt((A/2)^2 - (A/R*(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((A/2)^2 - (A/R*(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((A/2)^2 - (A/R*(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;

else

s8 = 4*s8 - 2*s7(i);

end

s9(j) = s8;

j = j+1;

end

v = (find(min(s9) == s9(1,:))-1)*0.00001; %比率

v = v(1);

if inf ~= s8

break ;

else

u2 = u2 + 1;

end

end

h1 = h;

N = 8; %子图个数

I = 1; %第i 个子图

for h = 3 :1:h1

h2 = 3:(h1-3)/(N-1):h1; %取出图像

figure(1);

if floor(h2(I)) == h

if I

figure(2);

subplot(2,2,I);

else

figure(3);

subplot(2,2,I-N/2);

end

view(25,25);

if I

I = I + 1;

end

title([' 高度为' ,num2str(h)]);

end

o = asin((h - c)/(a/2 - k)); %最外侧桌腿与桌面夹角

for i = 1:ceil(n/2)

b(i) = sqrt((A/2)^2 - (A/R*(n/2 - i + 1)*d)^2); %桌面弦长

f(i) = a/2 - b(i); %每条桌腿长度

s(i) = f(i) - v*f(1); %开槽顶部到桌腿顶部长度 if i == 1

s1(1) = (1 - v)*f(1); %开槽底部到桌腿顶部长度 else

s1(i) = sqrt(((1 - v)*f(1))^2 + (b(i) - b(1))^2 - 2*(b(i) - b(1))*(1 - v)*f(1)*cos(o));

end

s2(i) = s1(i) - s(i); %开槽长度

if i == 1

q(i) = pi - o;

else

q(i)=acos(((b(i) - k)^2 + s1(i)^2 -s1(1)^2)/(2*(b(i) - k)*s1(i))); %角度 end

if h == 3 %处理0时角度

if (q(i)

q(i) = pi - q(i);

end

end

if (q(i) > pi/2)

g(i) = cos(q(i) - pi/2)*f(i); %每条桌腿的高度

w(i) = b(i) + sqrt(f(i)^2 - g(i)^2); %横坐标

else

g(i) = sin(q(i))*f(i); %每条桌腿的高度

w(i) = b(i) - sqrt(f(i)^2 - g(i)^2);

end

end

x = [w,fliplr(w)];

y = [-b1/2:d:-d/2,d/2:d:b1/2];

z = -fix([g,fliplr(g)]);

x1 = [b,fliplr(b)];

y1 = y;

z1 = zeros(1,2*ceil(n/2));

n1 = 2*ceil(n/2);

cla

axis([-a/2 a/2 -b1/2 b1/2 -h1 h1/2]);

axis equal

set(gcf, 'position' , [200 200 800 500]);

hold on

%画出桌面

for i = 1:n1

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:n1

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(n1) -x1(n1)],[y1(n1) y1(n1)],[z1(n1) z1(n1)]);

%钢筋

x3 = (1 - v)*(w(1) - k) + k;

y3 = b1/2;

z3 = -fix((1 - v)*g(1));

plot3([x3 x3],[y3 -y3],[z3 z3],'k' );

plot3([-x3 -x3],[y3 -y3],[z3 z3],'k' );

view(20,25);

pause(0.05);

end

disp(' 平板长度:' ); a

disp(' 平板宽度:' ); b1

disp(' 平板厚度' ); c

disp(' 桌腿宽度:' ); d

disp(' 单侧桌腿条数:' ); n

disp(' 最外侧桌腿钢筋位置比率' ); v

disp(' 最外侧桌腿钢筋位置距铰链距离' ); f(1)*(1 - v) disp(' 每条桌腿长' ); f

disp(' 每条桌腿开槽顶端距铰链距离' ); s

disp(' 每条桌腿铰链距平板中线距离' ); b

disp(' 开槽长度:' ); s2

disp(' 开槽总长度:' ); min(s9)

toc

创意平板折叠桌

摘 要

本文讨论了平板折叠桌折叠的动态变化过程及相应的参数设计问题,以及在一定条件下折叠桌的最优设计加工参数求解问题。利用空间解析几何知识,建立了非线性规划模型,用MATLAB 软件和LINGO 软件进行求解,得到了各种条件下的各个参数的尺寸。

针对问题一,根据题目所提供图1,从最外侧桌腿木条到中间桌腿木条依次编号为1, 2, ,10。首先证明了在四条支撑腿底端构成正方形时稳固性较好;然后运用几何关系得到了在完全折叠成桌子时的各桌腿与折叠桌下底面的夹角、各桌腿与钢筋交点到相应铰链的距离以及桌腿底端点坐标都是桌面最外侧一根木条铰链处到圆形桌面直径的距离的函数。利用这些函数关系,使用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 编程计算给定桌高为70 cm ,圆形桌面直径为80 cm 时的平板长度为158.00 cm ,宽度为79. 90cm ,厚度为3 cm ,木条宽度为4. 70 cm ,单侧木条数为17条。

针对问题三,确定桌腿几何形状为与平板平行的长方体,由几何知识可以得出桌面形状关于重心对称,得到桌面为偶数条边的正多边形和椭圆两类形状。在人机交互环境下,给定任意桌面高度,椭圆长轴和短轴参数下,以用料最省和加工简单为目标的条件下,建立非线性规划模型,解出开槽长度、桌腿条数和桌腿宽度的具体加工参数。对于短半轴为30cm 、长半轴为45cm 和高度为70cm 的桌面为椭圆的折叠桌,求出了各条桌腿的开槽长度依次为0,10.29,18.57,25.41,31.00,35.52,39.08,41.78,43.67,44.78(cm ),平板尺寸为161. 52 cm ⨯58. 00 cm ⨯3. 00 cm ,钢筋到相应桌腿的长度占整条桌腿的长度比例为0. 48。

关键词:非线性规划;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红色曲线上各桌腿端点坐标。将各桌腿端点坐标p n 分别投影到xoy 面、yoz 面做二位坐标曲线拟合,再以拟合出的曲线为准线,得到分别以垂直xoy 面、yoz 面的柱面方程,两柱面方程的交线,即为桌脚边缘线的数学描述。

2.2问题二分析

问题二要求讨论给定任意折叠桌高度和圆形桌面直径最优设计。折叠桌的设计应做到产品的稳固性好、加工方便、用材最少,对于稳固性,由第一问分析可知,在折叠桌高度和圆形桌面直径一定的时,稳固性主要受到平板尺寸,圆形桌面最外侧木条长度的影响。折叠桌的用材主要由每条腿的宽度决定,由于桌腿宽度必须被桌面宽度的整除,则可以确定桌面的宽度。以加工方便为目标函数,建立非线性规划模型,在一定条件下便可求出平板尺寸大小。再在此基础上,求出最优的钢筋位置和开槽长度使加工更方便。

2.3问题三分析

要用一长方形平板材料设计成可折叠的桌子,桌面形状应该满足一定要求,才能桌子具有一定的稳定性。例如当桌面形状为矩形时,桌子是对称的,要使材料最省,那么桌子两边的桌腿应与地面垂直,那么当对桌脚施加任意的水平力就能使整个桌子倒塌,也即在这种情况下,不能设计符合实际的桌子。

三、模型的假设

1. 计算时不考虑模板厚度。

2. 不考虑铰链厚度。

3. 不考虑相邻桌腿之间空隙。

四、符号的说明

a , b , c :分别为平板木块的长宽高

2, ,10 d n :各桌腿中钢筋到相应铰链的距离,其中n =1,

2, ,10 θn :每条桌腿与圆形桌面下底面夹角,其中n =1,

2, ,10 p n :各桌腿端点坐标,其中n =1,

n :桌腿编号

k :圆形桌面最外侧桌腿铰链到圆形桌面直径的距离

R :圆形桌面半径

3, ,10 b n :各桌腿铰链处到过桌面中心垂直于桌腿的直线的距离,其中n =2,

h :折叠桌的高度

x n :各桌腿端点x 轴坐标即为各桌腿底端距桌面直径的水平距离

a 2, ,10 f n :桌腿长度-b n ,其中n =1,2

z n :各桌腿端点z 轴坐标即为各桌腿端点到桌面的距离

y n :各桌腿端点y 轴坐标

2, ,10 s n 1:桌子平铺时各桌腿中钢筋到铰链的距离,其中n 1=1,

2, ,10 s n 2:折叠后各桌腿中钢筋到铰链距离,其中n 2=1,

d :桌腿宽度

m :桌腿条数

b i :从外侧看过去对四分之一桌腿铰链到与桌腿铰链平行的桌面对称轴的距离,其中

m i =1,2, [], 2

m 2, [] f i :编号为i 的桌腿长,i =1,2

m 2, [] s i 1:平铺时各桌腿为中钢筋到铰链的距离,其中i 1=1,2

m 2, [] s i 2:折叠后各桌腿中钢筋到铰链距离s i 2,其中i 2=1,2

α:钢筋到相应桌腿的长度占整条桌腿的长度比例

n1:正多边形条数

θ:正多边形内角

r :正多边形边长

θi :正多边形至上而下的顶点与平板长边垂线的夹角,其中i =1, 2, , n 1

m 2, [] l k :正多边形至上而下的边在与平板长边垂直的垂线上的投影长,其中k =1,4

ε:桌面上最外侧木条相应正多边形定点的距离

A , B :分别为椭圆形桌面长半轴和短半轴长

五、模型的建立与求解

5.1模型准备

定理:当折叠桌的四条支撑腿所构成的结构区域形状为正方形时,折叠桌的稳固性最好[1]。

证明:下面先从折叠桌的稳固性出发来列出规划模型求相应参数之间满足的函数关系。设平板长为a ,宽为b ,厚为c ,桌面的形状为圆形,且半径为R ,桌面高度为h 。相同材质和形状的支撑桌腿,桌腿在承受相同力下,桌腿的张力越小,则桌子的稳固性越好。桌腿的张力越小,也即最外侧桌腿与圆形桌面下底面夹角越小,即该夹角余弦值

越大,因此可以以cos(2h -c ) 最大为目标。 a -2k

对于一立体结构而言,如果重心所在的垂线落在结构体体面范围内就是稳定的,对于本题桌子结构体,桌面上任意一点都落在桌子结构体内,才能保证桌子的稳定,以此可得约束条件:

a (-k ) 2-(h -c ) 2+k ≥R , 2

综上可建立下非线性规划模型:

max f =cos(2h -c ) , a -2k

⎧m 22⎪k =R -(d ) 2⎪⎪2R ⎧2R -1, 为整数时 ⎪⎪⎪⎪d d s . t . ⎨m =⎨2R ⎪⎪[2R ],不为整数时⎪⎪d ⎩d ⎪⎪a -k ) 2-(h -c ) 2+k ≥R ⎪⎩2

2h -c ) 最大时,有 分析计算可得当f =cos(a -2k

a (-k ) 2-(h -c ) 2+k =R , 2

成立,四条支撑腿到结构面中心的距离相等。由此得出了稳固性最好时,桌子的支撑腿所构成的结构区域形状为正方形。

5.2问题一模型建立与求解

由于整个桌子是对称的,以圆形桌面俯视图中右下四分之一圆形桌面来考虑,题目所给图1的中与该四分之一的桌子相对应的示意图如下:

图1 桌角与桌面夹角示意图

俯视圆形桌面,桌面上1/4的铰链从其中一侧与最外侧桌腿连接的铰链开始依次编2, ,10,如下图2所示:

号为1,

图2 桌腿编号图

2, ,10,设各桌腿中钢筋到相应铰链的距离为d n ,其中n =1,(n 下同)设每条桌腿

与圆形桌面下底面夹角为θn ,各桌腿端点坐标为p n ,在桌子的折叠过程中d n ,θn ,p n ,随桌子的高度的变化而变化,因此用d n ,θn ,p n 的变化来描述折叠桌的动态变化过程。

为了求出d n ,θn ,p n ,假设与圆形桌面最外侧桌腿连接的铰链处的直线,到与该直线平行且过圆心的直径距离为k ,圆形桌面半径为R ,其余各木条铰链到圆形桌面直径的距离设为b n ,那么

R =252+k 2,

b n =R 2-[2. 5(11-n )]2,2, ,10) (n =1,

由上式可以看出R ,b n 都是k 的函数。

由于钢筋与桌面直径平行,且最外侧钢筋固定在桌腿最外侧木条的中心位置,所以最外侧桌腿与桌面的夹角

h ) , 2d 1θ1=θ1如上图1所示,其中h 为折叠桌的高度,d 1为最外侧桌腿钢筋到相应铰链长度,且

d 1=60-k , 2

因为题中要求折叠后桌子的高度为53cm ,而由于每根桌腿的厚度为3cm ,所以高度h =50cm 。由余弦定理可以求得第二根桌腿钢筋到相应铰链长度:

2d 2=(b 2-k ) 2+d 1-2(b 2-k ) d 1cos θ1,

同样由余弦定理可以求得第三根桌腿钢筋到相应铰链长度:

d 3=(b 3-k ) 2+d 1-2(b 3-k ) d 1cos θ1, 2

以此类推可以求出:

2, ,10) d n =(b n -k ) 2+d 1-2(b n -k ) d 1cos θ1,(n =1,2

下面求各各桌腿与圆形桌面下底面夹角为θn ,最外侧桌腿与圆形桌面下底面夹角为:

θ1=对于第二根桌腿与圆形桌面下底面夹角为: h ) , 2d 1

22(b 2-k ) 2+d 2-d 1, θ2=2(b 2-k ) d 2

对于第三根桌腿与圆形桌面下底面夹角为:

(b 3-k ) 2+d 3-d 1, θ3=2(b 3-k ) d 3

以此类推对于第n 根桌腿与圆形桌面下底面夹角为: 22

(b n -k ) 2+d n -d 12, ,10) ,(n =1,θn =2(b n -k ) d n

为了求各桌腿端点坐标为p n ,以圆形桌面圆心为空间直角坐标系的原点,与最外侧形成的梯形上底平行的直径方向为x 轴,圆形桌面垂直梯形上底的直径方向为y 轴,圆形桌面过圆心的垂线为z 轴,如下图3: 22

图3 桌子空间三维图

现先求出各桌腿端点x 轴坐标和y 轴坐标,各桌腿端点x 轴坐标即为各桌腿底端距

2, ,10;各桌腿端点z 轴坐标即为各桌腿端点桌面直径的水平距离,设为x n ,其中n =1,

2, ,10。 到桌面的距离,设为z n ,其中n =1,

当θn 大于90度时,各桌腿端点到桌面的距离:

z n =cos(θn -) f n , 2π

其中,f n 为桌腿长度,且

2, ,10 f n =60-b n ,n =1,

此时各桌腿端点横坐标即为各桌腿底端距桌面直径的水平距离:

x n =b n +f n -z n , 22

当θn 小于90度时,各桌腿端点到桌面的距离:

z n =sin(θn ) f n ,

此时各桌腿端点横坐标即为各桌腿底端距桌面直径的水平距离:

x n =b n -f n +z n , 22

2, ,10,则: 各桌腿端点y 轴坐标设为y n ,其中n =1,

y n =2. 5(11-n ) ,

若给出k ,便可求出在不同高度下的d n ,θn ,p n 。由模型准备中的猜想证明可知,当支撑腿构成的结构面呈正方形时,桌子具有较好的稳固性。所以有

(2d 1) 2-h 2+k =R ,

综上,由下列方程组:

⎧(2d ) 2-h 2+k =R 1⎪22⎪R =25+k ⎨60-k ⎪d 1=2⎪⎩h =50

用LIONGO 编程(程序见附录1)求解,得出k =6. 3533cm 。

因为

b n =252+k 2-[2. 5(11-n )]2,

k =6. 3533cm ,

所以b n 是关于自变量n 的函数,由此可以看出,第n 条桌腿在钢筋位置处距相应桌腿铰链的距离

d n =(b n -k ) 2+d 1-2(b n -k ) d 1cos θ1, 2

d n 是关于自变量n 和θ1的关系。对于给定的n ,d n 的函数关系只与最外侧桌腿与桌面的

π夹角θ1有关,且θ1∈[0, ]。由导数 2

'd n =

其中,

(b n -k ) 2+d 1-2(b n -k ) d 1cos θ1>0, 2(b n -k ) d 1⋅sin θ1(b n -k ) +d 1-2(b n -k ) d 1cos θ122,

ππ(b n -k ) d 1为常数,sin θ1在[0, ]上恒有sin θ1≥0;所以d n 在θ1∈[0, ]内单调递增。桌子平22

铺时各桌腿中钢筋到铰链的距离s n 1和折叠后各桌腿中钢筋到铰链距离s n 2,始末状态的s n 1、s n 2两距离相减得到各桌腿开槽长度。

将桌子平铺时每条桌腿的开槽中钢筋到桌面直径即开槽起点距桌面直径的距离为:

(MATLAB 编程[2]计算程序见附d 1+k =33. 18cm 。每条桌腿铰链到桌面直径的距离b n ,

录2)如下表:

表1 每条桌腿铰链到桌面直径的距离

n 的值现求出当折叠后桌子圆形桌面下底面到地面的距离是50cm 时的桌腿中钢筋到相应铰链的距离为d n ,每条桌腿与圆形桌面下底面夹角为θn ,桌腿端点坐标为p n ,根据上面的关系式,计算结果如下:

表2高度h 为50时的参数

各桌腿端点坐标为p n 如下:

表3各桌腿端点坐标

、、、MATLAB 编程(程序见附录2)画图,桌子的动态变化图如下:

图4 不同高度下桌子的动态变化图

2, ,10)和折叠后各桌腿中设桌子平铺时各桌腿中钢筋到铰链的距离为s n 1(n 1=1,

2, ,10)可以求出各桌腿空槽的具体位置和各空槽的长度,钢筋到铰链距离s n 2(n 2=1,

空槽长度

2, ,10) s n =s n 2-s n 1,(n =1,

s n 1,s n 2可由h=3cm和53cm 时确定取值。

d n =(b n -k ) 2+d 1-2(d n -k ) d 1cos θ1,

其中

60-k h ,s n 1 =d 1+k -d n , c =) ,d 1=22d 1

结果如下表:

表4桌子平铺时各桌腿中钢筋到铰链的距离

n 1表结果,桌腿编号从1到10,s n 1依次减小,也与实际相符。

开槽长度s n 结果如下表:

表5各桌腿开槽长度

1,说明了模型2第一条桌腿长度为f 1 53. 64cm ,由上表数据比较得开槽长度均小于

建立的合理性。

由已经求出了的各桌腿端点坐标p n ,用MATLAB 画图将各点连成线,曲线图如下:

图5各桌腿端点坐标连线图

该曲线在yox 面和yoz 面的投影坐标为:

表6 各桌腿投影在yox 坐标和yoz 坐标

使用matlab 软件的

图6 各桌腿端点投影拟合曲线图

投影yox 曲线方程为

x =4. 16⨯10-5y 4-0. 00699y 3+13. 43,

其中拟合的方差为0.1229,相关系数的平方为0.9999。

投影yoz 曲线方程为

z =1. 37⨯10-7y 6-5. 56⨯10-5y 4-0. 02061y 2-31. 67,

其中拟合的方差为0.4975,相关系数的平方为0.9988。相关系数接近1,则说明拟合曲线具有很高的可信度。

将以上两条直线作为准线,与坐标平面的垂直柱面,这两柱面的交线为桌面边缘线。则桌角边缘线的方程:

-543⎧x ∈[-60, 60]⎪4. 16⨯10y -0. 00699y +13. 43-x =0 , ⎨-76-542y ∈[-25, 25]⎪y -31. 67-z =0 ,⎩1. 37⨯10y -5. 56⨯10y -0. 02061

5.2问题二模型建立与求解

设桌子半径为R , 桌腿宽度为d ,桌腿条数为m ,从最外侧桌腿到中间桌腿依次编号m 2, 那么三者有以下关系: 依次为1,2

2R ⎧2R -1 , 为整数时⎪d d ⎪ m =⎨2R ⎪2R [] , 不为整数时 ⎪d ⎩d

当2R 为整数时, 必定使折叠后的桌面上最外侧桌腿靠外的边与圆外切,若是去掉一根木d

2R 不为整数d 条,将桌腿在铰链处桌面下底面各突出的端点相连,便形成一个圆形。当

时,对2R 2R 向下取整,即[],将桌腿在铰链处桌面下底面各突出的端点相连,也可以d d

形成一个圆形。

设圆形桌面最外侧桌腿铰链到圆形桌面直径的距离为k ,利用勾股定理可得:

k =R 2-(m 2d ) , 2

下面先从折叠桌的稳固性分析桌角的位置。由证明的模型定理可知,要使折叠桌稳定性好,则桌子的四条支撑腿所构成的结构面成正方形,即方程:

a m -k ) 2-(h -c ) 2+k =d , 22

满足桌子的稳固性。

不妨以平板体积最小为目标函数,即以abc 最小为目标函数。由几何关系可得:

b =md ,

b 为平板宽度,d 为木条宽度,且应有d >0。因为平板厚度c 对材料体积大小影响较平板长度和宽度小,且查资料可得现在流行的木板厚度多为3cm 、5cm 、8cm ,且问题中有去平板厚度为3cm , 为了方便计算,在此不妨设c =3cm ,综上可得以下非线性规划模型:

min f =abc

⎧m 22⎪k =R -(d ) 2⎪⎪2R ⎧2R -1, 为整数时 ⎪⎪⎪d ⎪m =⎨d

2R ⎪⎪[2R ],不为整数时⎪⎪d ⎩d s . t . ⎨

⎪a m ⎪-k ) 2-(h -c ) 2+k =d 2⎪2

⎪b =m d ⎪⎪d >0

⎪c =3⎩

根据上述非线性规划模型,任意给定折叠桌高度和圆形桌面直径,用MATLAB 软件,编写出输入任意高度和直径的交互界面,便可得出平板尺寸a 、b 、c 和圆形桌面最外侧桌腿铰链到圆形桌面直径的距离k ,桌腿宽度为d 及桌腿条数为n ,和折叠桌的动态变化图。

加工方便程度主要受到开槽长度大小的影响,设b i 为从外侧看过去对圆形桌面上一

m 2, ,半桌腿铰链到圆形桌面直径的距离, 每根桌腿从最外侧开始依次编号为1,可以求2

得:

b i =R 2-[(m m 2, [](i 下同) -i ) d ]2 , 其中i =1,22

设f i 为编号为i 的桌腿长,可得:

f i =m -b i , 2

m 2, [],折叠后各桌腿中设平铺时各桌腿为中钢筋到铰链的距离为s i 1,其中i 1=1,2

m 2, [],两距离之差即为空槽长度s i =s i 2-s i 1。设钢筋钢筋到铰链距离s i 2,其中i 2=1,2

到相应桌腿的长度占整条桌腿的长度比例为α,那么

s i 1=f i -α⋅f i ,

s i 2=1-α) f i ]2+(b i -k ) 2-2(b i -k )(1-α) f 1cos θ1,

其中θ角如图1所示,且

θ1=arcsin(2(h -c ) ) , a -2k

从实际角度出发空槽长度s i =s i 2-s i 1应该小于空槽起始点到桌腿端点的距离α⋅f 1。

因此可以在稳固性最好、材料最省的基础上再以开槽长度最小为为目标,满足一定约束下列出非线性规划模型,求出开槽长度和钢筋位置。非线性规划模型如下:

m

2min f =∑(s i 2-s i 1)

i =1

⎧m m 22b =R -[(-i ) d ] , i =1,2, []⎪i 22⎪⎪f =m -b ⎪i 2i ⎪s . t . ⎨s i 1=f i -αf i

⎪s =1-α) f ]2+(b -k ) 2-2(b -k )(1-α) f cos θi i i 11⎪i 2

⎪θ=π-2(h -c ) ) ⎪12a -2k ⎪⎩s i 2-s i 1

根据上述非线性规划模型,在稳固性最好、材料最省的基础上,给定任意折叠桌高度和圆形桌面直径,便可先求出相应最优的平板尺寸、圆形桌面最外侧桌腿铰链到圆形桌面直径的距离k ,桌腿宽度为d 及桌腿条数为n ,对于当给定折叠桌高度为70cm 和圆形桌面直径为80cm 时,用MATLAB 软件编程(程序见附录3)求解,求得α=0. 486,即最外侧钢筋位置距该桌腿端点距离占该条桌腿总长的比例为0.486,开槽总长度为827.84cm ,其它参数见下表:

表8 各条桌腿中开槽长度表

5.3问题三模型

5.3.1桌面边缘线是偶数边正多边形

当桌面是偶数边正多边形,可分两种情况讨论,一种情况是正多边形有两条边与平板边界重合,另一种情况是正多边形两顶点在平板边界上,我们以后者为例。

设正多边形有n1条边,n1>4,那么正多边形内角为

θ=180(n 1-2) , n 1

又设桌腿宽度为d ,正多边形边长为r , 桌腿条数为m . 设有一圆与该正多边形内接,则圆的半径为:

R ⋅sin π

n 1=r ,

又因为正多边形上关于圆心对称的两个顶点在圆上,所以正多边形上关于圆心心对称的两个顶点距离为2r

,则

n 1)

⎧⎪2r 2

⎪-1 , r

d ⋅为整数时

)

m =⎪d ⋅sin(

⎨n 1) n 1

⎪⎪[2r

⎪] , 2r

不为整数时

⎩d ⋅sin(n 1) d ⋅sin(n 1)

如图4所示,正多边形至上而下的顶点与平板长边垂线的夹角依次为

θ1,θ, 2, ,θn 1+1,正多边形至上而下的边在与平板长边垂直的垂线上的投影设为l k ,由多边形的对称关系可得出以下结论:

⎧⎪θ180(n 1-2)

1=

⎪2n 1

⎪⎨θk =(2k +1) θ1-(n 1-1) 180

⎪⎪⎪θm =θk

⎩2-k +2

⎧⎪l 0=0

⎪⎪⎨l

⎪k =l k -1+r cos θk , (k =1, 2,..., m

4)

⎪⎪l

⎩m

2-k +2=l k

桌面上最外侧桌腿相应正多边形定点的距离设为ε,根据几何知识可得:

ε=2r -n 1d

2,

进一步可得:

b ε

1=tan θ,

1

b d

i =tan θ+b i -1,

j

n 1m 2, [],i =1,2, [],可得: 当l k -1≤id +ε≤l k 时,j =k , 其中k =1,24

b n

2-i +1=b i ,

下面先从折叠桌的稳固性分析桌角的位置。由证明的模型猜想可知,要使折叠桌稳定性好,则桌子的四条支撑腿所构成的结构面成正方形,即方程

a m -k ) 2-(h -c ) 2+k =d , 22

满足桌子的稳固性。

在稳固性最好的基础上再从用材最少,列出下列非线性规划模型求出平板尺寸和圆形桌面最外侧桌腿铰链到圆形桌面直径的距离k 。

min f =abc

ε⎧k =b =1⎪tan θ1⎪⎪2r ⎧2r -1, 为整数时 ⎪⎪⎪d d ⎪m =⎨2r ⎪⎪[2r ],不为整数时⎪⎪d d ⎩s . t . ⎨

⎪a m ⎪-k ) 2-(h -c ) 2+k =d 2⎪2

⎪b =m d ⎪⎪d >0

⎪c =3⎩

根据上述非线性规划模型,任意给定折叠桌高度和桌面长半轴和短半轴长长度,用MATLAB 编程便可计算出平板尺寸和圆形桌面最外侧桌腿铰链到椭圆直长半轴的距离k ,桌腿宽度为d 及桌腿条数为m 。用MATLAB 编程便可计算出此时的平板尺寸、圆形桌面最外侧桌腿铰链到的椭圆直长半轴距离k ,桌腿宽度为d 及桌腿条数为n 。

加工方便程度主要受到开槽长度大小的影响,类似问题二在稳固性最好、材料最省的基础上再以开槽长度最小为为目标,满足一定约束下列出非线性规划模型,求出开槽长度和钢筋位置。非线性规划模型如下:

m

2min f =∑(s i 2-s i 1)

i =1

⎧m m 222, []⎪b i =R -[(-i ) d ] ,i =1,22⎪⎪f =m -b ⎪i 2i ⎪s . t . ⎨s i 1=f i -αf i

⎪s =1-α) f ]2+(b -k ) 2-2(b -k )(1-α) f cos θi i i 11⎪i 2

⎪θ=2(h -c ) ) ⎪1a -2k ⎪⎩s i 2-s i 1

根据上述非线性规划模型,在稳固性最好、材料最省的基础上,任意给定折叠桌高度和圆形桌面直径,便可先求出相应的最优的平板尺寸、圆形桌面最外侧桌腿铰链到圆形桌面直径的距离k ,桌腿宽度为d 及桌腿条数为n ,对于当给定折叠桌高度和桌面长半轴和短半轴长度。

5.3.2桌面边缘线是椭圆

当桌面边缘线椭圆时,给定任意折叠高度h 、桌面边缘线的形状大小(即给定短半轴、长半轴大小),便可求出平板材料的形状尺寸大小和切实可行的最优设计加工参数同问题二的求解类似。

设椭圆形桌面长半轴和短半轴长分别为A , B , 桌腿宽度为d ,桌腿条数为m ,从最外m 2, 那么三者有以下关系: 侧桌腿到中间桌腿依次编号依次为1,2

2B ⎧2B -1 , 为整数时⎪d d ⎪ m =⎨2B ⎪2B [] , 不为整数时 ⎪d ⎩d

当2B 为整数时,必定使折叠后的桌面上最外侧桌腿靠外的边与与椭圆相切,若是去掉d

2B 不为整数d 桌腿,将桌腿在铰链处桌面下底面各突出的端点相连,便形成一个椭圆。当

时,对2B 2B ],将桌腿在铰链处桌面下底面各突出的端点相连,也可以形向下取整,即[d d

成一个椭圆。

设圆形桌面最外侧桌腿铰链到椭圆桌面长轴的距离为k ,用勾股定理可得:

A m k =A 2-(⋅⋅d ) 2, B 2

设b i 为从外侧看过去对圆形桌面上桌腿铰链到圆形桌面直径的距离, 每根桌腿从最m 2, ,可以求得: 外侧开始依次编号为i =1,2

A 2m m b i =A -2⋅(-i +1) 2⋅d 2 ,i =1,2, B 222

下面先从折叠桌的稳固性分析桌角的位置。由证明的模型定理可知,要使折叠桌稳定性好,则桌子的四条支撑腿所构成的结构面成正方形,即方程

a m -k ) 2-(h -c ) 2+k =d , 22

可满足桌子的稳固性。

在稳固性最好的基础上再从用材最少,列出下列非线性规划模型求出平板尺寸和圆形桌面最外侧桌腿铰链到圆形桌面直径的距离k 。

min f =abc

⎧A m 22d ) ⎪k =A -(B 2⎪⎪2B ⎧2B -1, 为整数时 ⎪⎪⎪d ⎪m =⎨d

2B ⎪⎪[2B ],不为整数时⎪⎪d ⎩d s . t . ⎨

⎪a m ⎪-k ) 2-(h -c ) 2+k =d 2⎪2

⎪b =m d ⎪⎪d >0

⎪c =3⎩

根据上述非线性规划模型,任意给定折叠桌高度和桌面长半轴和短半轴长长度,用MATLAB 编程便可计算出平板尺寸和椭圆桌面最外侧桌腿铰链到椭圆直长半轴的距离k ,桌腿宽度为d 及桌腿条数为m 。当给定折叠桌高度为70cm 和桌面长半轴和短半轴长长度45cm 和30cm ,用MATLAB 编程便可计算出此时的平板尺寸、椭圆桌面最外侧桌腿铰链到的椭圆直长半轴距离k ,桌腿宽度为d 及桌腿条数为n (程序见附录4),计算出相应参数结果如下:

表9 平板尺寸参数表

加工方便程度主要受到开槽长度大小的影响,在稳固性最好、材料最省的基础上再以开槽长度最小为为目标,满足一定约束下列出非线性规划模型,求出开槽长度和钢筋位置。非线性规划模型如下:

min ∑(s i 2-s i 1)

i =1n 2

⎧m m 22b =R -[(-i ) d ] , i =1,2, ⎪i 22⎪m ⎪f i =-b i ⎪2⎪s i 1=f i -αf i s . t . ⎨

⎪s =1-α) f ]2+(b -k ) 2-2(b -k )(1-α) f cos θi i i 11⎪i 2

2(h -c ) ⎪θ1=) ⎪a -2k ⎪s i 2-s i 1

根据上述非线性规划模型,在稳固性最好、材料最省的基础上,任意给定折叠桌高度和圆形桌面直径,便可先求出相应的最优的平板尺寸、圆形桌面最外侧桌腿铰链到圆形桌面直径的距离k ,桌腿宽度为d 及桌腿条数为n ,对于当给定折叠桌高度为70cm 和桌面长半轴和短半轴长长度45cm 和30cm ,用MATLAB 编程(程序见附录4)求解,求得α=0. 48,即最外侧钢筋位置距该桌腿端点距离占该条桌腿总长的比例为0.48。此时各条桌腿中开槽长度下表:

表10 各条桌腿开槽长度

51cm 、60cm ,用MATLAB 编程即可分别画出给定高度的桌子状态图如下所示:

图7 椭圆动态变化过程图

图8 椭圆动态变化过程图

六、模型的评价与改进

6.1模型的优点

1. 动态图形分析,模拟出折叠桌动态变化过程。

2. 编写matlab 交互界面,给定任意高度和直径,可求出折叠桌参数。

6.2模型的缺点

1. 没有考虑桌子美观,桌脚超出桌面。

2. 没有考虑木板厚度,会产生一定误差。

6.3模型的改进

本模型没有考虑平板厚度,会产生一定误差。在计算时可以添加平板的厚度,提高计算的精确度,但是会增加一定的计算复杂度。

参考文献

[1]杨文茂,李全英,空间解析几何,武汉:武汉大学出版社,2006.

[2]胡良剑,孙晓君,MATLAB 数学实验,北京:高等教育出版社,

2006.

附录

附录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;

else

s8 = 4*s8 - 2*s7(i);

end

s9(j) = s8;

j = j+1;

end

v = (find(min(s9) == s9(1,:))-1)*0.00001; %比率

v = v(1);

if inf ~= s8

break ;

else

u2 = u2 + 1;

end

end

h1 = h;

N = 4; %子图个数

I = 1; %第i 个子图

for h = 3 :1:h1

h2 = 3:(h1-3)/(N-1):h1; %取出图像

figure(1);

if floor(h2(I)) == h

figure(2);

subplot(2,2,I);

view(25,25);

if I

I = I + 1;

end

title([' 高度为' ,num2str(h)]);

end

o = asin((h - c)/(a/2 - k)); %最外侧桌腿与桌面夹角

for i = 1:ceil(n/2)

b(i) = sqrt((R/2)^2 - ((n/2 - i + 1)*d)^2); %桌面弦长

f(i) = a/2 - b(i); %每条桌腿长度

s(i) = f(i) - v*f(1); %开槽顶部到桌腿顶部长度

if i == 1

s1(1) = (1 - v)*f(1); %开槽底部到桌腿顶部长度

else

s1(i) = sqrt(((1 - v)*f(1))^2 + (b(i) - b(1))^2 - 2*(b(i) - b(1))*(1 - v)*f(1)*cos(o));

end

s2(i) = s1(i) - s(i); %开槽长度

if i == 1

q(i) = pi - o;

else

q(i)=acos(((b(i) - k)^2 + s1(i)^2 -s1(1)^2)/(2*(b(i) - k)*s1(i))); %角度 end

if h == 3 %处理0时角度

if (q(i)

q(i) = pi - q(i);

end

end

if (q(i) > pi/2)

g(i) = cos(q(i) - pi/2)*f(i); %每条桌腿的高度

w(i) = b(i) + sqrt(f(i)^2 - g(i)^2); %横坐标

else

g(i) = sin(q(i))*f(i); %每条桌腿的高度

w(i) = b(i) - sqrt(f(i)^2 - g(i)^2);

end

end

x = [w,fliplr(w)];

y = [-b1/2:d:-d/2,d/2:d:b1/2];

z = -fix([g,fliplr(g)]);

x1 = [b,fliplr(b)];

y1 = y;

z1 = zeros(1,2*ceil(n/2));

n1 = 2*ceil(n/2);

cla

axis([-a/2 a/2 -b1/2 b1/2 -h1 h1/2]);

axis equal

set(gcf, 'position' , [200 200 800 500]);

hold on

%画出桌面

for i = 1:n1

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:n1

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(n1) -x1(n1)],[y1(n1) y1(n1)],[z1(n1) z1(n1)]);

%钢筋

x3 = (1 - v)*(w(1) - k) + k;

y3 = b1/2;

z3 = -fix((1 - v)*g(1));

plot3([x3 x3],[y3 -y3],[z3 z3],'k' );

plot3([-x3 -x3],[y3 -y3],[z3 z3],'k' );

view(20,25);

pause(0.05);

end

disp(' 平板长度:' ); a

disp(' 平板宽度:' ); b1

disp(' 平板厚度' ); c

disp(' 桌腿宽度:' ); d

disp(' 单侧桌腿条数:' ); n

disp(' 最外侧桌腿钢筋位置比率' ); v

disp(' 最外侧桌腿钢筋位置距铰链距离' ); f(1)*(1 - v)

disp(' 每条桌腿长' ); f

disp(' 每条桌腿开槽顶端距铰链距离' ); s

disp(' 每条桌腿铰链距平板中线距离' ); b

disp(' 开槽长度:' ); s2

disp(' 开槽总长度:' ); min(s9)

toc

附录4(table3.m 文件)求解椭圆的参数

clc

clear

tic

h = input(' 桌高:');

R = input(' 桌面短轴:' );

A = 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((A/2)^2 - (A/R*(n/2)*d)^2))^2 - (h - c)^2) + sqrt((A/2)^2 - (A/R*(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((A/2)^2 - (A/R*(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((A/2)^2 - (A/R*(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;

else

s8 = 4*s8 - 2*s7(i);

end

s9(j) = s8;

j = j+1;

end

v = (find(min(s9) == s9(1,:))-1)*0.00001; %比率

v = v(1);

if inf ~= s8

break ;

else

u2 = u2 + 1;

end

end

h1 = h;

N = 8; %子图个数

I = 1; %第i 个子图

for h = 3 :1:h1

h2 = 3:(h1-3)/(N-1):h1; %取出图像

figure(1);

if floor(h2(I)) == h

if I

figure(2);

subplot(2,2,I);

else

figure(3);

subplot(2,2,I-N/2);

end

view(25,25);

if I

I = I + 1;

end

title([' 高度为' ,num2str(h)]);

end

o = asin((h - c)/(a/2 - k)); %最外侧桌腿与桌面夹角

for i = 1:ceil(n/2)

b(i) = sqrt((A/2)^2 - (A/R*(n/2 - i + 1)*d)^2); %桌面弦长

f(i) = a/2 - b(i); %每条桌腿长度

s(i) = f(i) - v*f(1); %开槽顶部到桌腿顶部长度 if i == 1

s1(1) = (1 - v)*f(1); %开槽底部到桌腿顶部长度 else

s1(i) = sqrt(((1 - v)*f(1))^2 + (b(i) - b(1))^2 - 2*(b(i) - b(1))*(1 - v)*f(1)*cos(o));

end

s2(i) = s1(i) - s(i); %开槽长度

if i == 1

q(i) = pi - o;

else

q(i)=acos(((b(i) - k)^2 + s1(i)^2 -s1(1)^2)/(2*(b(i) - k)*s1(i))); %角度 end

if h == 3 %处理0时角度

if (q(i)

q(i) = pi - q(i);

end

end

if (q(i) > pi/2)

g(i) = cos(q(i) - pi/2)*f(i); %每条桌腿的高度

w(i) = b(i) + sqrt(f(i)^2 - g(i)^2); %横坐标

else

g(i) = sin(q(i))*f(i); %每条桌腿的高度

w(i) = b(i) - sqrt(f(i)^2 - g(i)^2);

end

end

x = [w,fliplr(w)];

y = [-b1/2:d:-d/2,d/2:d:b1/2];

z = -fix([g,fliplr(g)]);

x1 = [b,fliplr(b)];

y1 = y;

z1 = zeros(1,2*ceil(n/2));

n1 = 2*ceil(n/2);

cla

axis([-a/2 a/2 -b1/2 b1/2 -h1 h1/2]);

axis equal

set(gcf, 'position' , [200 200 800 500]);

hold on

%画出桌面

for i = 1:n1

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:n1

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(n1) -x1(n1)],[y1(n1) y1(n1)],[z1(n1) z1(n1)]);

%钢筋

x3 = (1 - v)*(w(1) - k) + k;

y3 = b1/2;

z3 = -fix((1 - v)*g(1));

plot3([x3 x3],[y3 -y3],[z3 z3],'k' );

plot3([-x3 -x3],[y3 -y3],[z3 z3],'k' );

view(20,25);

pause(0.05);

end

disp(' 平板长度:' ); a

disp(' 平板宽度:' ); b1

disp(' 平板厚度' ); c

disp(' 桌腿宽度:' ); d

disp(' 单侧桌腿条数:' ); n

disp(' 最外侧桌腿钢筋位置比率' ); v

disp(' 最外侧桌腿钢筋位置距铰链距离' ); f(1)*(1 - v) disp(' 每条桌腿长' ); f

disp(' 每条桌腿开槽顶端距铰链距离' ); s

disp(' 每条桌腿铰链距平板中线距离' ); b

disp(' 开槽长度:' ); s2

disp(' 开槽总长度:' ); min(s9)

toc


相关内容

  • 参赛邀请函
  • 篇一:大赛邀请函 第六届全国大学生交通科技大赛第六届全国大学生交通科技大赛 邀 请 函 大学(学院)教务处: 全国大学生交通科技大赛(nactrans)是国内第一个由诸多在交通运输工程领域拥有优势地位的高校通力合作促成的大学生学科竞赛,是一个以大学生为主体参与者的全国性.学术型的交通科技创新竞赛项目 ...

  • 数学建模写作规范
  • 全国大学生数学建模竞赛论文格式规范 ● 本科组参赛队从A .B 题中任选一题,专科组参赛队从C .D 题中任选一题.(全 国评奖时,每个组别一.二等奖的总名额按每道题参赛队数的比例分配:但全国一等奖名额的一半将平均分配给本组别的每道题,另一半按每题论文数的比例分配.) ● 论文用白色A4纸打印:上下 ...

  • 2015自主招生报名条件汇总
  • 2.在省级数学.物理.化学.英语.计算机.信息.作文和创意设计等竞赛中获 奖者; 3. 参加创意性实验.创新性研究或探究性学习并取得一定成果者; 4.在某一方面具有突出学科特长和创新潜能者,并提供相关证明材料. 27 西南大学 1. 高中阶段获得全国中学生奥林匹克比赛(数学.物理.化学.生物.信息学 ...

  • 第十一届全国研究生数学建模竞赛参赛邀请函
  • 全国研究生创新实践系列活动 第十一届全国研究生数学建模竞赛 参赛邀请函 各研究生培养单位: 全国研究生数学建模竞赛是一项面向全国研究生群体的学术竞赛活动, 是广大研究生探索实际问题.开展学术交流.提高创新能力和培养团队意识的有效平台.自2013年起,研究生数学建模竞赛作为"全国研究生创新实 ...

  • 2013全国数模竞赛最新格式要求
  • 全国大学生数学建模竞赛论文格式规范 ● 本科组参赛队从A .B 题中任选一题,专科组参赛队从C .D 题中任选一题.(全 国评奖时,每个组别一.二等奖的总名额按每道题参赛队数的比例分配:但全国一等奖名额的一半将平均分配给本组别的每道题,另一半按每题论文数的比例分配.) ● 论文用白色A4纸打印:上下 ...

  • 关于表彰奖励2010年竞赛获奖学生及指导教师的通报
  • 西欧教字„2011‟3号 关于表彰奖励2010年竞赛获奖学生及 指导教师的通报 各分院.基础部: 2010年我院积极组织学生参加了全国大学生数学建模竞赛.陕西省第八次大学生(本科)高等数学竞赛.全国大学生英语竞赛和"CCTV杯"全国英语演讲大赛,均取得了优异成绩.其中,全国大学生 ...

  • 初中数学竞赛辅导总结
  • 初中数学竞赛辅导总结 如雪生活网 > 最新文章 > 正文初中数学竞赛辅导总结如雪生活网 发布时间: 2011年06月30日 作者:佚名 浏览: 24 次 评论[已关闭] 对兴趣小组进行调整.人选的基本要求:①踏实认真肯吃苦:②勇于拼搏有竞争意识:③思维敏捷.解题速度快:④学习成绩中等偏上 ...

  • 江西省三好学生申请书
  • 江西省"三好学生" 推 荐 材 料 推荐单位:电气工程与自动化学院分团委 2011年11月23日 江西省"三好学生"推荐材料 XXX,女,汉族,团员,1990年出生湖北省荆州市的"鱼米之乡"--洪湖.现就读于XX大学电气工程与自动化学院电气 ...

  • a吴健科研成果获奖简况
  • 吴健同志科研成果获奖简况 吴健,男,汉族,中国数学奥林匹克教练.中国管理科学研究院特邀研究员.改革开放三十年贡献人物.陕西省咸阳市有突出贡献专家.百佳科技精英人物.中国最具影响力人物.咸阳市十大杰出人物.市新世纪学术技术带头人.礼泉县教研室职员.现任中国教育学会数学教育研究发展中心会员.发现杂志社副 ...

  • 苏步青:数学家
  • [9月23日科技名家推荐:苏步青] 1902年9月23日,中国杰出的数学家苏步青出生于浙江省平阳县. 1919年中学毕业后赴日本留学.1927年毕业于日本东北帝国大学数学系,后入该校研究生院,1931年毕业获理学博士学位.1931年3月应著名数学家陈建功之约,载着日本东北帝国大学的理学博士荣誉回国, ...