2014数学建模B题 创意平板折叠桌的设计.doc_第1页
2014数学建模B题 创意平板折叠桌的设计.doc_第2页
2014数学建模B题 创意平板折叠桌的设计.doc_第3页
2014数学建模B题 创意平板折叠桌的设计.doc_第4页
2014数学建模B题 创意平板折叠桌的设计.doc_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2014高教社杯全国大学生数学建模竞赛承 诺 书 我们仔细阅读了全国大学生数学建模竞赛章程和全国大学生数学建模竞赛参赛规则(以下简称为“竞赛章程和参赛规则”,可从全国大学生数学建模竞赛网站下载)。我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。我们知道,抄袭别人的成果是违反竞赛章程和参赛规则的,如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。我们郑重承诺,严格遵守竞赛章程和参赛规则,以保证竞赛的公正、公平性。如有违反竞赛章程和参赛规则的行为,我们将受到严肃处理。我们授权全国大学生数学建模竞赛组委会,可将我们的论文以任何形式进行公开展示(包括进行网上公示,在书籍、期刊和其他媒体进行正式或非正式发表等)。 我们参赛选择的题号是(从A/B/C/D中选择一项填写): B 我们的报名参赛队号为(8位数字组成的编号): 所属学校(请填写完整的全名): 参赛队员 (打印并签名) :1. 2. 3. 指导教师或指导教师组负责人 (打印并签名): (论文纸质版与电子版中的以上信息必须一致,只是电子版中无需签名。以上内容请仔细核对,提交后将不再允许做任何修改。如填写错误,论文可能被取消评奖资格。) 日期: 年 月 日 赛区评阅编号(由赛区组委会评阅前进行编号): 2014高教社杯全国大学生数学建模竞赛 编 号 专 用 页 赛区评阅编号(由赛区组委会评阅前进行编号): 赛区评阅记录(可供赛区评阅时使用):评阅人评分备注 全国统一编号(由赛区组委会送交全国前编号): 全国评阅编号(由全国组委会评阅前进行编号):创意平板折叠桌的设计摘 要随着人类思维的不断进步,极具创意的作品也层出不穷。本文对创意平板折叠桌进行分析,运用三维坐标对不同平板折叠桌的结构进行描述。桌子外形由直纹曲面构成,桌面近似圆形,桌腿分成两组,每组各用一根钢筋将木条连接,钢筋两端分别固定在桌腿各组最外侧的两根木条上。随着铰链的活动,折叠桌可以平摊成一张平板,折叠时,沿木条有空槽以保证滑动的自由度。此折叠桌不仅设计精妙,造型美观。而且具有一定的实用价值,节省存储空间。针对问题一,给定了一块平板的长宽高、木条宽度、以及折叠桌的高度。以折叠桌的某一桌脚为原点,利用对称性,建立空间直角坐标系。通过构建几何模型来找出桌面与最外侧桌脚木条的夹角(锐角)关系。然后运用三角函数计算出每根桌脚木条的长度以及开槽的大小。设每根桌脚木条与桌面的夹角为变量,通过几何关系,列出每条桌脚顶点处的坐标分别满足的函数表达式,根据表达式编写MATLAB程序,画出桌脚边缘线变化过程。最后根据每个桌脚点在折叠过程中的改变,加入动态函数,用MATLAB画出折叠桌的动态过程。针对问题二,根据稳固性好、加工方便、用材最少这三个限制条件求出非线性规划的目标函数和约束条件。由于问题一中要求稳固性好,所以对折叠桌的受力点做受力分析,为了使桌子承受最大的力量,对作用于折叠桌的压力、支持力、摩擦力等作分析。一个好的设计没有实用性就不能使用,所以我们把受力分析放在首要地位。为了使加工方便和用材最少,在保证稳固性的前提下减少使用的钢筋数量和选择最优加工参数。同时加工方便与材料的质地也有关,但是我们这里不考虑,统一用木质平板。根据以上三个约束条件,运用最优化的方法建立非线性规划模型,再用MATLAB求出最优解,得到最优的加工设计参数。针对问题三,在问题一与问题二的模型基础上,设计出两种创意平板折叠桌。创意平板折叠桌一为桌面类似为菱形的折叠桌,建立坐标系得出菱形桌面和桌腿木条的方程,用MATLAB进行编程,画出其动态图形。创意平板折叠桌二采用题目已给的图,采用一定的拼接技术,可根据顾客需求拼接出满足条件的的折叠桌。关键词: 边缘线 MATLAB LINGO 受力分析 最优化一、 问题重述1.1背景知识问题中的折叠桌是由直纹曲面构建而成,其形状特殊,外形美观,功能实用。直纹曲面在工程和工农业生产中有着广泛的应用。柱面,锥面的广泛应用不胜枚举。从日常生活到航天航空,从微观世界到浩瀚太空。到处可见柱面和锥面的身影。而且由直纹曲面构成的这种可展结构容易存贮和运输,当需要的时候,它们可以展开成工作状态。根据其用途不同可分为空间可展结构和地面可展结构。1.2要解决的问题折叠桌桌面呈圆形,桌腿随着铰链的活动可以平摊成一张平板。桌腿由若干根木条组成,分成两组,每组各用一根钢筋将木条连接,钢筋两端分别固定在桌腿各组最外侧的两根木条上,并且沿木条有空槽以保证滑动的自由度。问题一、给定长方形平板尺寸为120 cm 50 cm 3 cm,每根木条宽2.5 cm,连接桌腿木条的钢筋固定在桌腿最外侧木条的中心位置,折叠后桌子的高度为53 cm。试建立模型描述此折叠桌的动态变化过程,在此基础上给出此折叠桌的设计加工参数和桌脚边缘线的数学描述(模型)。问题二、折叠桌的设计应做到产品稳固性好、加工方便、用材最少。对于任意给定的折叠桌高度和圆形桌面直径的设计要求,讨论长方形平板材料和折叠桌的最优设计加工参数,例如,平板尺寸、钢筋位置、开槽长度等。对实例桌高70 cm,桌面直径80 cm的情形,确定最优设计加工参数。问题三、公司计划开发一种折叠桌设计软件,根据客户任意设定的折叠桌高度、桌面边缘线的形状大小和桌脚边缘线的大致形状,给出所需平板材料的形状尺寸和切实可行的最优设计加工参数,使得生产的折叠桌尽可能接近客户所期望的形状。你们团队的任务是帮助给出这一软件设计的数学模型,并根据所建立的模型给出几个你们自己设计的创意平板折叠桌。要求给出相应的设计加工参数,画出至少8张动态变化过程的示意图。图1图2 图3图4二、问题分析本题描述的折叠桌桌面呈圆形,桌腿随着铰链的活动可以平摊成一张平板。桌腿由若干根木条组成,分成两组,每组各用一根钢筋将木条连接,钢筋两端分别固定在桌腿各组最外侧的两根木条上,并且沿木条有空槽以保证滑动的自由度。利用三维软件(UG、proe、3D等)画图用来协助分析。平板折叠桌问题关键在于用函数表达式描述出折叠的过程。不仅要理解在折叠过程中每一根桌脚木条和桌面的角度变化,更要理解在折叠过程中每一根木条在开槽中的滑动过程。由于最外侧的桌脚木条用来固定钢筋,所以不需要设计开槽。从最外侧两端向内,开槽越来越大,最中间的一个或两个桌腿木条开槽长度达到最大。同时在折叠过程中,随着桌脚木条和桌面的内侧夹角逐渐减小,钢筋在开槽的内自上向下移动(除最外侧桌腿木条外),由于钢筋两端固定,当每一条桌腿木条的钢筋达到开槽最低点处,平板桌固定,不再移动。针对问题一:此问题中给出了平板的相关尺寸以及每根木条的宽。同时限制了折叠桌折叠后的高度和钢筋的位置。利用这些数据通过建立三维坐标系,不难得到有关折叠桌的设计加工参数,同时,假设桌腿木条和桌面的夹角为,以桌面圆心为坐标系原点建立空间直角坐标系,根据题目已给的参数和几何关系分别表示出桌面坐标函数。同理可得桌腿、腿尖、钢筋轴的坐标函数。给定一个根据这些函数,应用MATLAB程序画出折叠桌的动态图。中通过改变角度的大小,列出桌腿在方向上的函数便可以数学描述出边缘线。然后利用MATLAB做出动态图。针对问题二:根据稳固性好,加工方便,和用材最少三个约束条件便可以列出相关的非线性规划方程。用MATLAB或LINGO就可以求解出最优的设计加工参数。通过第一问的各因素相互关系及“半成品”模型进一步来解答第二问,第二问题目中要求的稳固性好即就是需要我们进行受力分析。受力分析可从这几点考虑,1、重心位置越低,结构越稳定2、支撑面积越大,结构越稳定3、结构的稳定性与结构的形状有关4、桌子的稳固性与桌腿和地面夹角有关根据题意,根据这些方面,进一步做力学分析。怎样才能让桌子承受的力最大,需要对不同状态做静力和摩擦力分析,这与脚角钢筋链接曹等因素相关。加工方便要求我们所给尺寸合理,加工巧妙,不至于有多余或者补料的情形,和用料最少有点相似,用料最少,如若能达到不浪费一点点木材就算是最优解了,这就需要分析木板、木条、桌面直径等相关因素的关系,最后确定木板长、宽、高、木条数等之间因素的最优参数。然后将几个相对“理想”因素数值带入第一问求出来的模型,输入实际值:桌高70cm,桌面直径80cm。在逐步求解。 针对问题三:基于问题一与问题二的模型基础上,设计出两种创意平板折叠桌模型。模型一为桌面类似为菱形的折叠桌,其原理为对菱形桌面边缘线的数据分析,建立空间坐标系得出菱形桌面和桌腿木条的方程,利用MATLAB软件进行编程,画出其动态图形。模型二采用模型一的图,采用一定的拼接技术,可根据顾客需求拼接出满足需要的的折叠桌。 三、模型假设1、材料性能和实际加工误差对设计无影响。2、木条间缝隙尺寸为零。3、木条与圆桌面之间的交接处无间隙。4、钢筋尺寸不计。5、忽略开槽宽度6、数据保留一个小数点对结果无影响四、符号说明符号说 明最长的桌腿木条与桌面的夹角桌腿木条总数折叠桌与地面的高度桌腿木条的宽度桌腿木条的长度第i跟木条为图中的距离为图中圆桌面的半径卡槽的长度为图中的长度为图中的长度t最外侧桌腿钢筋位置到桌脚的距离五、名词解释5.1直纹曲面:有一个连续族(或几族)直线所构成的曲面叫做直纹曲面。也可以定义为一直线依某种规律移动产生的曲面。构成曲面的那族直线叫做这曲面的一族直母线5.2力矩:在物理学里,作用力使物体绕着转动轴或支点转动的趋向,称为力矩(torque)。力矩的单位是牛顿-米。力矩希腊字母是 tau。力矩的概念,起源于阿基米德对杠杆的研究。转动力矩又称为转矩或扭矩。力矩能够使物体改变其旋转运动。推挤或拖拉涉及到作用力 ,而扭转则涉及到力矩。力矩等于径向矢量与作用力的叉积1。(不是点乘,叉积和乘积不一样)六、模型建立及求解6.1问题一的模型建立及求解:(1)在考虑问题一时,首先我们要分析题目中给了哪些相关的量,题目中最先提出了桌面为圆形,我们可以从直径入手。有平板的长宽高和木条的宽度我们可以得到木条的数量。其中还有钢筋和卡槽的位置都可以作为求解时的数据。(2)我们画出折叠桌的平面俯视图以及侧视图如图6.1.1和图6.1.2所示。图6.1.1图6.1.2其中平板长为120cm,宽度为50cm,每根木条宽度为2.5cm,由圆的对称性我们只需对四分之一(右下)圆进行分析,如图:我们由外向内进行计算,每根木条桌椅最内侧到距离:,则每根木条长度为,再根据木桌完全展开后桌腿侧面图进行分析如图,可算得各开槽长度,其中有平板长度和木条宽度可以得到四分之一圆(右下)共有十根木条。 (3)以任意一个桌脚为原点建立空间直角坐标系。设定最外层桌腿与x轴的夹角为,标注出钢筋的所在位置。如下图所示:图6.1.3(4)用MATLAB编程,(见附录程序一)可得到每条桌腿木条的长度和开槽的大小,由于桌腿木条分为两组,每组有20根木条,且每组桌腿也对称。所以表格中只列出1/4的桌腿木条长度和卡槽大小。得到的数据如下:表6.4.4 折叠桌腿和开槽长度12345678910C52.146.843.441.039.137.636.535.735.235.0K05.510.615.018.721.623.925.526.627.2(5)因为折叠桌的沿中心轴对称,所以我们只以1/4的桌子来考虑,其他的对称就行,由于平板为长方体,所以每根木条的桌脚在钢筋轴的下方加上各自的开槽长度相等,即最外侧桌脚长度的一半,在前面我们已经求出了每根木条的卡槽长度,在桌椅完全展开的情况下求得木条与桌面的最大夹角,对于任意角度都满足一个函数等式,就由此可求出多组木条桌脚顶点的轨迹,即桌脚边缘线的数学描述。如图6.1.4为用MATLAB程序(见附录程序三)画出的平板折叠后静态的边缘线。图6.1.5描述了边缘线一系列的运动过程。图6.1.4 图6.1.5(7)做动态图时,首先要建立直角坐标系,假设桌腿木条和桌面的夹角为,以桌面圆心为坐标系原点建立空间直角坐标系,根据题目已给的参数和几何关系分别表示出桌面坐标函数。根据这些函数,应用MATLAB程序(见附录程序二)画出折叠桌的动态图。以下为动态图的四个动态过程。 图6.1.66.2问题二模型建立与求解(1)根据问题二题目要求折叠桌的设计应做到产品稳固性好、加工方便、用材最少,对与顾客任意给定桌面的高度和木条宽度,进行折叠桌椅设计,通过建立多目标优化模型来求解。 (2)产品的稳定性:对桌椅四分之一桌腿进行力矩分析如图6.2.1所示,若要桌椅的稳定新较好择期受力要稳定,通过问题一已得结果对我们的可以轻易的知道在桌椅完全展开后,随着最外侧支撑木条桌椅逐个内侧增加时,桌椅木条与桌面的夹角是逐渐增大的。对完全展开后的桌椅进行受力分析如下图:图6.2.1(3)我们整体的对受力最复杂的钢筋进行受力分析,简化模型,此时只存在两种木条,一种是木条与桌面夹角小于90,另一种则是木条与桌面夹角大于90只有这样钢筋的受力分析才能达到如图效果,如果木条与桌面全部小于或大于90则受力不可能达到稳定,有考虑到每根木条的受力大小均衡,在木条夹角渐变过程是与桌面夹角大于或小于9的木条数应该尽可能相等,所以我们对四分之一桌角的中间桌腿与桌面夹角经行分析的到方程及其约束条件 90。加工方便:我们建立模型时要求在满足顾客要求的同时尽可能的是木条宽度最大,因为在实际生产中,模板是整体进行切割,如果木条宽度越大则木条数九越少这样在实际模板切割的时候难度就会减低,从而达到加工方面的优化。用材最少:由问题已可知在给定模板宽度以及高度时,要是所用木材最少即为模板的长度最小,在模型中我们以最中间的木条建立约束条件,在满足参数要求的同时使得内侧木条最短则整个模板就是最短的,从而达到用材最少的优化目标,由问题一中的图可知在桌子完全展开后最内侧的桌腿想上移动距离是最大,再钢筋刚好达到该木条最下端是此时是一个临界值,可得约束条件。通过以上分析建立多目标优化方程如下: (4)求得的结果如下:MATLAB程序见附录程序四表6.2.2 问题二的最优设计加工参数12345678910C81.572.467.063.060.057.756.054.854.253.9K04.68.311.614.416.618.419.720.420.76.3问题三模型建立与求解(1)是在第二问的基础上继续完善数学模型,将模型转换为带坐标的方程格式,将其余的设计参数设置成桌高、木条数、边缘线坐标等的方程,形成一系列数量关系式,达到只要我们将客户需求的数据输入关系式,就会得出一组设计参数,此功能可以在MATLAB或者EXCEL中实现,设置好自己的未知数和方程(请记得将公式文件或者编程代码放在附件中),然后随便赋值,直接得出设计参数。最后就是随便给一组数据(客户需求)设计一款成品。通过赋值,得出设计参数,利用三维软件制作出来。注:尺寸分析尽量用机械软件分析,数据精确度高,动态分析利用仿真能达到,机械软件初学者还是建议用3D仿真,因为机械软件运动仿真过程繁杂,3D仿真效果随意,而且灯光效果不错,但机械软件对许多尺寸设计合理与否能检测出来,截屏保存,仿真后感兴趣的同学可以输出GIF格式的图片或者视频,如果所有软件都是初学者,仿真不能达到就只能随机找到8个动态位置装配完成截屏保存就行,这种办法不能检测设计参数合理与否,不到万不得已不建议用这种办法。软件选择有利有弊,一定要根据自己的实际情况选择。(2) 创意折叠桌一:其桌面为菱形,通过问题一程序的改变便可以做出动态图。根据程序运行的结果,可比较出菱形桌较圆形桌虽然桌面面积有所下降,但折叠桌高度增加,此折叠桌设计更适用于较高人群使用。同时,由于菱行曲线较圆形曲线设计更为简单,误差更小。所以加工方便。(MATLAB见附录程序五) (3)动态图: 五、模型分析通过观察此模型求出的参数对比实际木桌的尺寸进行比较,基本满足实际木桌的数值,说明此模型求出的结果是符合要求,具有较高的可行性、可信度。可以认为在参数的求解过程中,空间模型建立过程到问题的求解,误差在一定范围内;可以认为此模型,算法程序设计使用符合题目的要求。通过与实际承诺书对比比较,具有较大的参考价值。六、模型的评价模型的优点:(1)将实物桌子的桌腿和桌面转化为点、线、面的问题,简化了问题的复杂性,降低了计算难度。(2)模型利用了计算机的能力和人的空间分析能力,使得模型的可实际参考价值增大。(3)模型采用了多种数学方法,减小了数字处理的误差,提高了结果的可行度。模型的缺点:(1)没有考虑桌腿和桌面的厚度。(2)没有考虑人工的感干预时的误差影响。(3)没有考虑到实际桌子的生产情况,使得数据可用度降低。七、模型的改进与推广基于所建立的模型,我们求出的一系列参数,在实际参考价值来看还是有较大的误差,此模型通过对问题剖析,结合生活实际,综合木桌子的实际数字,建立空间坐标系,将复杂的问题变成空间几何问题,再将桌面和桌椅的厚度忽略不计,使得我们所建立的模型难度降低,可以快速的求出参数。 整个求解过程中,模型的假设信息作为求解问题的前提被使用,在问题求解后,对结果得出的整个过程进行分析,结合实际木桌的尺寸,可以考虑在木桌的预处理时对所求模板进行有效的空间切割,从而使的更方便与参数的求解和减少模型求解过程的误差。模型的改进,在上述过程中,对桌椅的厚度甲乙考虑使得模型求出参数更加真实。通过本文提出的方法模型,可以有效的处理该类产品的实际生产过程中的尺寸计算问题,这样就可以减少实际新产品生产前期的产品设计费用,以及产品的废品率,对生产此类工艺的厂家,及艺术家都有一定的参考价值。八、参考文献1姜启源等,数学模型M,高等教育出版社,20092卓金武等,MATLAB在数学建模中的应用M,北京航空航天大学出版社,20113吴赣昌,概率论与数理统计M,中国人民大学出版社,20064陈烨. 用于连续函数优化的蚁群算法J . 四川大学学报(工程科学版),2004,36(6)5谢中华,MATLAB统计分析与应用:40个案列分析,北京航空航天大学出版社,2010附 录程序一:问题一求桌腿长度、卡槽长度以及折叠桌整个折叠过程中的动态图程序:clearL=120;D=50;d=2.5;hL=L/2;R=D/2; %木板长;宽;腿木条宽;半长;圆桌面半径 ye=-R+d/2:d:R-d/2; %折叠点的y坐标,20个xe=sqrt(R2-ye.2); %折叠点的x坐标,20个legL=hL-xe%桌腿长度,20个hH=legL(1)/2; %最长腿半长ddeg=2; %角度增量 Tx=xe -xe;xe -xe;Tx=Tx(:);Tz=zeros(size(Tx); %桌面数据Ty=ye-d/2 fliplr(ye)+d/2;ye+d/2 fliplr(ye)-d/2;%桌面在y轴上的数据,fliplr函数实现矩阵的左右翻转Ty=Ty(:);legx=hL*ones(size(xe);hL*ones(size(xe);xe;xe; %桌腿数据 legy=ye-d/2;ye+d/2;ye+d/2;ye-d/2;legz=zeros(size(legx); zhoux=hL-legL(1)/2;hL-legL(1)/2;zhouy=-R R;zhouz=0;0; %钢筋轴数据yb=linspace(ye(1),ye(end),50);xb=sqrt(R2-yb.2);Bx=hL*ones(size(xb); By=yb; Bz=zeros(size(xb); %腿尖曲线数据 figure(1),clf;%画底图,清除以前的图片hold onh1=patch(Tx,Ty,Tz,facecolor,1 1 1,edgecolor,0 0 0);%画桌面h2=patch(legx,legy,legz,facecolor,1 1 1,edgecolor,0 0 0);%画桌腿h3=patch(-legx,legy,legz,facecolor,1 1 1,edgecolor,0 0 0);%画桌腿h4=plot3(zhoux,zhouy,zhouz,c);h5=plot3(-zhoux,zhouy,zhouz,c);%画钢筋轴h6=plot3(Bx,By,Bz,k);h7=plot3(-Bx,By,Bz,k);%腿尖曲线hold off;view(3);axis equal;axis(-hL hL -R R 0 2*hH);axis off;for deg=0:ddeg:75 %最长桌腿相对桌面折叠角度 zz=-hH*sind(deg);xz=xe(1)+hH*cosd(deg); %钢筋轴,z坐标和x坐标 alldeg=atan2(-zz*ones(size(xe),xz-xe); %每个条腿折叠角度,20个 allx=legL.*cos(alldeg)+xe; %每条腿末端x坐标,20个 allz=-legL.*sin(alldeg); %每条腿末端z坐标,20个 alldeg2=atan2(-zz*ones(size(xb),xz-xb); Bx=(hL-xb).*cos(alldeg2)+xb;Bz=-(hL-xb).*sin(alldeg2);%腿尖曲线x数据 minz=min(Bz); %最低腿z坐标,桌子当前高度 legx=allx;allx;xe;xe; %桌腿数据 legz=allz;allz;zeros(size(allz);zeros(size(allz)-minz; set(h1,ZData,-minz*ones(size(Tz); set(h2,XData,legx,ZData,legz);set(h3,XData,-legx,ZData,legz); set(h4,XData,xz;xz,ZData,zz;zz-minz); set(h5,XData,-xz;xz,ZData,zz;zz-minz); set(h6,XData,Bx,ZData,Bz-minz);set(h7,XData,-Bx,ZData,Bz-minz); pause(0.1);drawnow;endcaochang=sqrt(xe-xe(1).2+hH.2-2*hH.*(xe-xe(1).*cos(alldeg)-(legL-hH) 程序二:选取不同的角度,折叠图的过程状态clearL=120;D=50;d=2.5;hL=L/2;R=D/2; %木板长;宽;腿木条宽;半长;圆桌面半径deg=75ye=-R+d/2:d:R-d/2; %折叠点的y坐标,20个xe=sqrt(R2-ye.2); %折叠点的x坐标,20个legL=hL-xe%桌腿长度,20个hH=legL(1)/2; %最长腿半长ddeg=2; %角度增量 Tx=xe -xe;xe -xe;Tx=Tx(:);Tz=zeros(size(Tx); %桌面数据Ty=ye-d/2 fliplr(ye)+d/2;ye+d/2 fliplr(ye)-d/2;%桌面在y轴上的数据,fliplr函数实现矩阵的左右翻转Ty=Ty(:);legx=hL*ones(size(xe);hL*ones(size(xe);xe;xe; %桌腿数据 legy=ye-d/2;ye+d/2;ye+d/2;ye-d/2;legz=zeros(size(legx); zhoux=hL-legL(1)/2;hL-legL(1)/2;zhouy=-R R;zhouz=0;0; %钢筋轴数据yb=linspace(ye(1),ye(end),50);xb=sqrt(R2-yb.2);Bx=hL*ones(size(xb); By=yb; Bz=zeros(size(xb); %腿尖曲线数据 figure(1),clf;%画底图,清除以前的图片hold onh1=patch(Tx,Ty,Tz,facecolor,1 1 1,edgecolor,0 0 0);%画桌面h2=patch(legx,legy,legz,facecolor,1 1 1,edgecolor,0 0 0);%画桌腿h3=patch(-legx,legy,legz,facecolor,1 1 1,edgecolor,0 0 0);%画桌腿h4=plot3(zhoux,zhouy,zhouz,c);h5=plot3(-zhoux,zhouy,zhouz,c);%画钢筋轴h6=plot3(Bx,By,Bz,k);h7=plot3(-Bx,By,Bz,k);%腿尖曲线hold off;view(3);axis equal;axis(-hL hL -R R 0 2*hH);axis off; zz=-hH*sind(deg);xz=xe(1)+hH*cosd(deg); %钢筋轴,z坐标和x坐标 alldeg=atan2(-zz*ones(size(xe),xz-xe); %每个条腿折叠角度,20个 allx=legL.*cos(alldeg)+xe; %每条腿末端x坐标,20个 allz=-legL.*sin(alldeg); %每条腿末端z坐标,20个 alldeg2=atan2(-zz*ones(size(xb),xz-xb); Bx=(hL-xb).*cos(alldeg2)+xb;Bz=-(hL-xb).*sin(alldeg2);%腿尖曲线x数据 minz=min(Bz); %最低腿z坐标,桌子当前高度 legx=allx;allx;xe;xe; %桌腿数据 legz=allz;allz;zeros(size(allz);zeros(size(allz)-minz; set(h1,ZData,-minz*ones(size(Tz); set(h2,XData,legx,ZData,legz);set(h3,XData,-legx,ZData,legz); set(h4,XData,xz;xz,ZData,zz;zz-minz); set(h5,XData,-xz;xz,ZData,zz;zz-minz); set(h6,XData,Bx,ZData,Bz-minz);set(h7,XData,-Bx,ZData,Bz-minz); pause(0.1);drawnow;caochang=sqrt(xe-xe(1).2+hH.2-2*hH.*(xe-xe(1).*cos(alldeg)-(legL-hH) 程序三:问题一求桌脚边缘线的程序i=0:9;y=1.25:2.5:23.75h=50;b=25-2.5*i;r=25;a=sqrt(r*r-b.*b);c=60-ak=sqrt(c(1,1)-sqrt(c(1,1)./2).*(c(1,1)./2)-(h./2).*(h./2)-c).*(c(1,1)-sqrt(c(1,1)./2).*(c(1,1)./2)-(h./2).*(h./2)-c)+(h./2).*(h./2)-(c-c(1,1)./2);e1=66;x=c(1,1).*cos(e1)-(60-c-c.*(60-c-c(1,1)./2.*cos(e1)./(c+k)z=c(1,1)*sin(e1)-c.*(c(1,1).*sin(e1)./(c(1,1)+2*k)plot3(x,y,z) 程序四、问题二求桌高70 cm,桌面直径80 cm的情形,最优设计加工参数的matlab程序function f=fun1(x);f=x(1) function g,ceq=mycon(x)g=x(1).2/4+x(5).2+x(2).2-x(1).*x(5)-1600;x(4).*x(6)-80;x(5).2+x(7).2-x(3).2-2*x(4)*x(5)-2*x(4).*x(7)+2*x(5).*x(7)+x(4).2.*x(6).2+x(3).2.*x(6).2+2*x(3).*x(7)-2*x(3).*x(7)-2*x(3).*x(4).*x(6).2-x(8).2;x(1)/4.*x(1).2+x(2).2+x(4).2-x(1).*x(4)-80*x(2).2;x(4).2-x(4).2.*x(6).2+x(3).2-x(3).2.*x(6).2-x(3).*x(4)+2*x(3).*x(4).*x(6).2-x(8).2;70*x(4)-70*x(3)-x(4).*x(9);-x(5).2+x(7).2+x(9).2; x0=1,1,1,1,1,1,1,1,1,1;A=;b=;Aeq=;beq=;vlb=;vub=;x,fval=fmincon(fun1,x(0),A,b,Aeq,beq,vlb,vub,mycon) 程序五、问题三动态图程序clearL=120;D=50;d=2.5;hL=L/2;R=D/2; %木板长,宽;腿木条宽;半长;圆桌面半径deg=75ye=-R+d/2:d:R-d/2; x1=0+d/2:d:R-d/2x2=23.75-(d/2:d:R)+d/2 x3=x1;x2x4=x3xe1=x4(:)xe=xe1%折叠点的y坐标,x坐标,各20个;legL=hL-xe%腿长度,20个;hH=legL(1)/2;ddeg=2; %最长腿半长;角度增量Tx=xe -xe;xe -xe;Tx=Tx(:);Tz=zeros(size(Tx); %桌面数据Ty=ye-d/2 fliplr(ye)+d/2;ye+d/2 fliplr(ye)-d/2;%桌面在y轴上的数据,fliplr函数实现矩阵的左右翻转Ty=Ty(:);legx=hL*ones(size(xe);hL*ones(size(xe);xe;xe; %桌腿数据 le

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论