数学专业毕业论文-发条玩具中的运动模拟_第1页
数学专业毕业论文-发条玩具中的运动模拟_第2页
数学专业毕业论文-发条玩具中的运动模拟_第3页
数学专业毕业论文-发条玩具中的运动模拟_第4页
数学专业毕业论文-发条玩具中的运动模拟_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

目录摘要 2Abstract 3第一章绪论 4第一节引言 4第二节介绍 4第二章传动结构 6第一节运动类型 6一、旋转型-Rotation 6二、摆动型-Oscillation 6三、平移型-Translation 6第二节机械传动装置种类 7一、“Rz2Oz”类 8二、“Rz2Tx”类 9三、“Oz2Oz”类 10四、“Tx2Oz”类 11五、“Oz2Ty”类 12六、“Oz2Ox”类 13第三章算法实现 16第一节模型的生成 16第二节运动的定义 16第三节Emech的连接 17第四章结论与展望 19第一节结果展示 19第二节结论 19第三节未来展望 20参考文献 211摘要发条玩具由于其小巧玲珑,节能环保的特性,一直是小朋友们爱不释手的玩具,这种玩具伴随了一代又一代人成长。但是,随着时代的不断发展,发条玩具内部结构设计渐渐得跟不上潮流,小朋友摆弄两下,往往就会发现发条玩具之间有着大量的重复,单调机械的动作,千篇一律的模式,让孩子们渐渐失去了兴趣。然而设计新式发条玩具的成本似乎太高,并且玩具内部的传动往往很难相互契合,比起简单地更换外壳,少有工匠愿意为小朋友们设计有着新颖独特传动装置的玩具。而随着国家二胎政策的开放,国内新生儿数量的大幅度增加,儿童用品的需求度上升,玩具市场开始复苏,发条玩具产业更是市场前景广阔。本文对发条玩具中不同模块的运动方式、玩具中包含的高副1传动结构以及这些传动机构的运动传递方式做了充分的分析,抽象出了核心部分的数学模型和关键参数,设计出了合适的数据结构以及鲁棒的算法实现了对发条玩具中运动的精确模拟。关键词:发条玩具运动模拟传动装置参数优化运动范围1两个物体的接触部分是一个点或者一条线,互相作用时,在该点的压强很大,称为高副2AbstractBecause of its small and exquisite, energy saving and environmental protectionfeatures, the Wind-Up Toy has always been a favorite toy for children. This toy hasgrown with generations. However, with the continuous development of the times, theinternal structure of the spring toy design gradually can not keep up with the trend.Children playing with two times, tend to find that there is a lot of repetitions betweenthe Wind-Up Toy, monotonous mechanical movements, stereotyped patterns, let thechildren gradually lost interest. Rather than simply replacing the shell, few craftsmenare willing to design toys with new, unique transmission for their children due to thecostofdesigningnewwind-uptoysseemstoohighandthetransmissioninsidethetoyisoften difficult to agree with each other. However, with the opening of the countrys twochild policy and a substantial increase in the number of domestic newborns, childrensnecessities demand has increased, the toy market is beginning to pick up. The marketprospect of the wind-up toy industry is broad. This paper makes a thorough analysisof the movement modes of different modules, the high pair transmission structure (Thecontact part of two objects is a point or a line. When interacting with each other, thepressure at this point is large and is called the high pair )contained in the toys, andthe movement and transmission modes of these transmission mechanisms, abstract themathematicalmodelandkeyparametersofthecorepart,designasuitabledatastructureand robust algorithm to realize the accurate simulation of the movement of the wind-uptoy.KeyWords: Wind-UpToys,MotionSimulation,Transmissiondevice,ParameWterOp-timization,Motion Range3中国科学技术大学本科毕业论文第一章绪论第一节引言在14世纪后期1 ,一位叫做Karel Grod的德国发明家创造了最早的一批发条玩具,其中包括一个金属材质的机械苍蝇和老鹰。到了1509年,著名的意大利发明家Leonardo da Vinci为了欢迎路易十二制作了一只发条狮子。发条玩具最早只是供贵族享乐的玩具,里面往往包含了非常复杂的齿轮和弹簧系统。作为对自己“所有的动物都是由复杂的机械构成”的理论的支持,笛卡尔也尝试过制造这样的自动玩具。根据记载,笛卡尔在坐船到瑞典的时候,在他的行李中有人发现了一个一人高的由发条驱动的人类女孩儿,但是由于船长的命令,这个发条人偶最后被扔到了大海中由于利益的关系,昂贵,结构复杂且外观庞大的发条机械越来越少。取而代之的则是大量的便宜的发条玩具。在17世纪,发条机械开始被普遍称为发条玩具,当时的发条玩具往往用不同的方式绕圈运动。后来,19世纪80年代,欧洲的玩具制造商发明并批量制造第一批小巧的发条玩具。在接下来的六七十年间,更多的制造商创造出了更多的复杂的设计。发条玩具蓬勃发展的趋势直到20世纪60年代才逐渐停止,由于便宜轻巧的碱性电池的出现,更多的玩具选择采用电动马达而不是动力有限的发条盒子。在接下来的二十年间,发条玩具渐渐淡出了人们的视野。塑料发条玩具则是在1977年开始兴起的,当时日本的Tomy玩具公司制造出了一个发条驱动的会走路的恶作剧机器人。Tomy公司成熟的制造精巧塑料齿轮和零件的技术使得他们可以批量生产这些小巧的发条盒子。我们现在常见的发条玩具中的发条盒子都是从这里发展出来并改进的,也是我们本文中所提到的“马达”的模型。第二节介绍如今市场上常见的发条玩具看似种类繁多、五花八门,但是如果打开色彩斑斓的外壳仔细观察,会发现里面的传动结构惊人地相似,只是更换了玩具的外壳,往往“换汤不换药”。究其原因,还是因为设计新的种类的运动的成本太高,需要专业人士用一些复杂的专业软件进行建模往往耗时耗力,运动则更是难4中国科学技术大学本科毕业论文以分析。所以现有的玩具大多数都只是在旧玩具的基础上进行了一点点的修改,玩多了自然觉得枯燥无味。玩具在孩童的成长的过程中扮演着重要的角色,枯燥无味、千篇一律的发条玩具必定会被时代所淘汰。但是发条玩具又有着众多优点,比如可以激发儿童的想象力,拆装发条玩具也可以锻炼儿童的动手能力,是一种优秀的寓教于乐的载体。想要达到这种功能就必然需要拓宽发条玩具的传动装置的种类,甚至做到让儿童可以发挥自己的想象力,自己亲自设计发条玩具。为了实现发条玩具设计过程中最核心的运动传递部分,我们定义了若干种基本的运动传递方式,并成功模拟出了他们的运动,完成了运动的连接和可视化,使得我们的程序可以自定义运动参数和类型,帮助简化发条玩具设计流程。以上的两部分即为论文的主要工作,我们同时还实现了对运动范围的计算以及通过运动范围最小化各个模块的体积。5中国科学技术大学本科毕业论文第二章传动结构第一节运动类型一、旋转型-Rotation旋转型的运动在发条玩具中常见于马达的的轮子和传动给其他部分的转轴,该转轴上往往会有一个偏心轮1来利用这个旋转运动对外产生一个推力。因为每个发条盒子两侧各有一个凸轮,所以在一个玩具中这类运动的数量往往只有1到2个,但是如果我们把整个发条玩具内部的机械结构比作一棵树,那么旋转型运动就是整个发条玩具机械结构的根,玩具里没有这两个从发条盒子中传出的旋转运动,整个玩具就没有动力来源,由此可见旋转运动的重要程度。为了方便,在下文中我们统一把绕XYZ轴旋转的运动分别记成Rx;Ry;Rz。二、摆动型-Oscillation摆动型的运动在发条玩具中非常常见,它是一种重要的传动的方式的同时也是玩具在外部的零件最常被观察到的运动形式。这类运动的特点是存在一个固定的转轴,在周期性外力的作用下,可以产生周期性的摆动或者对外产生周期性的推/拉力。摆动型运动由于只需要一个额外的支撑(转轴)在外力的作用下就可以实现目标运动,再加上它旋转运动的特性,在力的传递的过程中有着这种运动的块往往扮演着类似杠杆的作用,可以实现力和运动范围的放大和缩小,在实际运用中,在实现较重的零件的运动时有明显的作用。下面为了方便,我们把转轴分别平行于X轴、Y轴、Z轴的摆动型运动分别记成Ox;Oy;Oz。三、平移型-Translation平移型的运动也是发条玩具的运动类型多样的重要的组成部分,它在玩具外部零件的表现形式主要是“伸出-收回-伸出”这样的循环,在玩具内部的传动系统中也扮演着重要的作用。平移型和摆动型运动不同,它在平面内的运动需要两个支撑来限制它的运动。虽然这类运动的支撑部分比较复杂,但是由于只有两1指这个轮的中心不在旋转点上,一般指代的就是圆形轮,当圆形没有绕着自己的中心旋转时,就成了偏心轮。6中国科学技术大学本科毕业论文个支撑延长线方向的自由度,平移型运动可以实现用最小的体积把平移运动传递最远的距离,在内部的机械结构的设计中往往需要用到它的这个特点。下面为了方便,我们把支撑的延长线方向分别平行于X轴、Y轴、Z轴的平移型运动分别记成Tx;Ty;Tz。第二节机械传动装置种类在将发条玩具中的常见运动分类以后,我们需要通过进一步的观察来了解他们在发条玩具中是如何相互转化,发挥各自的特长的。首先,我们需要把琳琅满目的发条玩具中的连接着不同装饰品的传动装置2 提取出来,抽象成简单的数学模型。我们都知道力需要发生在两个相互接触的物体之间,同样,一套机械传动装置也是由两个物体组成,我们将它们分别命名为主动块和从动块。一套机械传动装置中的主动块会带动从动块,它们的运动可以是不同的类型甚至可以在不同的平面内运动。我们将这样的传动装置简称为“EMech”。我们在这里将常见机械传动装置分类、命名。命名方式为“主动块的运动方式”+“2 2”+“从动块的运动类型”,比如Tx2Oz类传动装置就表示它的主动块的运动方式为平行于x轴的平动,而从动块的运动方式为转轴平行于z轴的摆动。在抽象模型3 的时候发现,对于每种机械传动装置,总有非常多的对运动没有影响的变量以及一些可以由其他参数计算获得的冗余变量。比如说对于下面我们要提到的Emech_Rz2Oz,由于凸轮和从动块必须在同一平面内,所以凸轮中心相对于旋转中心的z坐标就是无用变量,同时从动块的转轴处支撑的粗细我们也可以通过预先设定的方式来减少这个参数。而从动块上的方形槽的大小和位置,则完全由主动块的运动范围和从动块转轴相对主动块转轴的位置决定,就属于冗余变量3。这些变量将不做为我们定义每个Emech时候的输入参数,而是通过对其他参数的分析来获得。7中国科学技术大学本科毕业论文图2.1 Rz2Oz注:图片(a)为Rz2Oz的虚拟模型,其中蓝色部分为主动块,黄色部分为从动块,灰色部分为从动块转轴。图片(b)为初始状态及运动参数。图片(c)为开始运动后某一时刻的状态以及参数。一、“Rz2Oz”类“Rz2Oz”类Emech可以实现将凸轮的周期性的转动运动转化成从动块的绕从动块转轴的周期性摆动。从图中我们看出当,作为主动块的偏心轮绕着自身的转轴旋转的时候,会和从动块的一侧发生相互作用,给从动块一个方向垂直于它们接触线的推力,再由于从动块的转轴的存在,从动块只能做绕着自己的转轴来回摆动的运动。1. RzOz参数1凸轮的旋转中心坐标DrivOrigin(x;y;z)2凸轮的自身中心相对其旋转中心的坐标DrivCenter(x;y)3凸轮的半径DrivRadius4从动块的摆动中心坐标FollOrigin(x;y;z)2. Rz2Oz运动方程假设主动块的摆动角度为 ,从动块的摆动角度为 ,则从图中我们可以看出 = 1 + 2 90其中:1 = arccos D1D ; 2 = arccos D2DD = m s2英文音同单词to3这些冗余变量人为定义往往会造成连接处的槽开得过大等问题,我们用后面即将提到的计算的方法来获得精确数字可以减少运动块的大小。8中国科学技术大学本科毕业论文D1 = my sy;D2 = m0y sym0x = qx;m0y = qy + dmx = qx + dsin ;my = qy + dcos 二、“Rz2Tx”类图2.2 Rz2Tx注:图片(a)为Rz2Tx的虚拟模型,其中蓝色部分为主动块,黄色部分为从动块,灰色的圆柱为从动块的支撑。图片(b)为运动时的状态以及运动参数。“Rz2Tx”类Emech可以实现将凸轮处的周期性转动运动转化成从动快的沿着x轴方向的周期性平动。从图中我们可以看出,在这类Emech中,类似于Rz2Oz,在作为主动块的偏心轮绕着自身的转轴旋转的时候,会和从动块的一侧发生相互作用,给从动块一个垂直于它们接触线的推力,但是和Rz2Oz不同的是,由于支撑的存在从动块只有在x方向的自由度,最终导致从动块做沿着x方向的往复平移运动。1. Rz2Tx参数1凸轮的旋转中心坐标DrivOrigin(x;y;z)2凸轮的自身中心相对其旋转中心的坐标DrivCenter(x;y)3凸轮的半径DrivRadius4从动块的左侧支撑的中心坐标FollOrigin(x;y;z)9中国科学技术大学本科毕业论文2. Rz2Tx运动方程假设主动块的旋转角度为 ,从动块沿x轴平移的距离为x,则从图中我们可以看出:x = dsin 三、“Oz2Oz”类图2.3 Oz2Oz注:图片(a)为Oz2Oz的虚拟模型,其中蓝色部分为主动块,黄色部分为从动块,灰色的圆柱分别为主动和从动块的转轴。图片(b)为初始状态及运动参数。图片(c)为开始运动后某一时刻的状态以及参数。“Oz2Oz”类Emech可以实现将绕主动块的转轴的周期性摆动转化成绕从动块转轴的周期性摆动。从图中我们可以看出,在这类Emech中,主动块的运动为周期性的摆动,通过挖去的槽和从动块的凸出处相互作用,使得从动块做一个绕自身转轴的摆动。我们可以直观地感受到,主动块上挖去的槽和主动块自身的摆动幅度之间也有相互联系。1. Oz2Oz参数1主动块的摆动中心坐标DrivOrigin(x;y;z)2从动块的摆动中心坐标FollOrigin(x;y;z)3从动块凸出处的中心相对从动块的摆动中心坐标FollCenter(x;y)2. Oz2Oz运动方程假设主动块的旋转角度为 ,从动块的旋转角度为 ,则从图中我们可以看出 的计算是基于计算从动块上突出的圆柱的中心p,p的可以从以下方程组中10中国科学技术大学本科毕业论文解出(本质为两个圆的交点):8:(px sx)2 + (py sy)2 = R2py qypx qx = tan 其中qx = qx dsin qy = qy dcos 通过对上面的方程组求解,我们可以获得:px = b +pb2 4ac2apy = tan(px qx) + qy其中a = 1 + (tan )2b = 2sx 2( qx tan + qy) 2sy tan c = s2x + ( qx tan + qy)2 2sy( qx tan + qy) + s2y四、“Tx2Oz”类图2.4 Tx2Oz注:图片(a)为Tx2Oz的虚拟模型,其中蓝色部分为主动块,黄色部分为从动块,灰色部分为支撑。图片(b)为初始状态及运动参数。图片(c)为开始运动后某一时刻的状态以及参数。“Tx2Oz”类Emech可以实现将主动块所做的沿某一方向的周期性的往复平移运动转化成绕从动块转轴的周期性摆动。从图中我们可以看出,在这类Emech中,主动块的运动为周期性的往复平动,通过自身的凸出来把力传递给从动块,使得从动块做一个绕自身转轴的摆11中国科学技术大学本科毕业论文动。我们可以直观地感受到,在这个运动中,从动块上挖去槽的大小可以从主动块的运动范围等参数中计算获得。1. Tx2Oz参数1主动块的左侧支撑的中心坐标DrivOrigin(x;y;z)2主动块的凸出相对主动块的左侧支撑的中心的坐标DrivCenter(x;y)3从动块的摆动中心坐标FollOrigin(x;y;z)2.“Tx2Oz”运动方程假设主动块沿x方向平移的距离为x,从动块的旋转角度为 ,那么从图中我们可以看出计算 的方程为:= 2 1其中1 = arctan DyDx2 = arctan DyDx x五、“Oz2Ty”类图2.5 Oz2Ty注:图片(a)为Oz2Ty的虚拟模型,其中蓝色部分为主动块,黄色部分为从动块,灰色部分为支撑。图片(b)为初始状态及运动参数。图片(c)为开始运动后某一时刻的状态以及参数。“Tx2Oz”类Emech可以实现将主动块所做的绕主动块转轴的周期性摆动转化成从动块的沿某一方向的周期性的往复平移运动。12中国科学技术大学本科毕业论文从图中我们可以看出,在这类Emech中,主动块的运动为周期性的摆动,通过挖去的槽来把力传递给从动块,在从动块的支撑的限制下使从动块做沿着y方向的平动。我们可以直观地感受到,在这个运动中,主动块上挖去的槽的大小可以从主动块的运动范围等参数中计算获得。1.“Oz2Ty”参数1主动块的摆动中心坐标DrivOrigin(x;y;z)2从动块的左侧支撑的中心坐标FollOrigin(x;y;z)3从动块凸出处的中心相对从动块的支撑的中心坐标FollCenter(x;y;z)2.“Oz2Ty”运动方程假设主动块的旋转角度为 ,从动块沿y轴方向的平移角度为y,那么从图中我们可以看出计算y的公式为:y = Y Y0其中:Y = Y0cos + Dx tan 六、“Oz2Ox”类图2.6 Oz2Ox注:图片(a)为Oz2Ox的虚拟模型,其中蓝色部分为主动块,黄色部分为从动块,灰色部分为主动块和从动块转轴。图片(b)为x方向的视图,左侧为初始状态,右侧为平衡状态。图片(c)为主动块靠近从动块的一侧的截面,左侧为初始状态,右侧为平衡状态。“Oz2Ox”类Emech可以实现将绕主动块的转轴的周期性摆动转化成绕从动块转轴的周期性摆动,与Oz2Oz类运动不同的是,Oz2Ox的主动块和从动块的13中国科学技术大学本科毕业论文转轴不再是平行而是垂直关系。这就意味着Oz2Ox可以实现运动在空间中传递,在目标运动和发条凸轮所在平面不平行的情况下有着非常重要的作用。之前我们提到的5种运动的主动块和从动块的运动均在同一个平面内,然而从图中我们可以看出,同样是从摆动转换成摆动,Oz2Ox类的EMech的主动块转轴和从动块转轴互相垂直。当主动块发生摆动时,通过槽和从动块的凸出相互作用,使得从动块也开始做绕自身摆动中心的摆动。1.“Oz2Ox”参数1主动块的摆动中心坐标DrivOrigin(x;y;z)2从动块的摆动中心坐标FollOrigin(x;y;z)3主动块挖去的平行四边形的斜边倾斜角度 2.“Oz2Ox”运动方程假设主动块的旋转角度为 ,从动块的旋转角度为 ,设主动块与从动块的接触边为主动块的主平面f内的紫色直线L,从动块的圆柱在平面f内的横截面为圆心为P的椭圆。那么从图中我们可以看出 的方程式是基于对椭圆P和L的切点的计算。在整个运动期间,L和椭圆C始终有一个接触点,该接触点我们用黄色在图中标记出来。假设椭圆的为p,我们以p为原点建立一个新的坐标系统(图中的绿色的坐标系)。我们后面的计算都是在这个新的坐标系统内。假设直线L的方程为:y = kx + c其中:k = tan ;c = py qy + rcos 假设椭圆C的方程为:x2a2 +y2b2 = 1其中:a = r;b = rcos 14中国科学技术大学本科毕业论文将L和C的方程联立,我们有8:y = kx + cx2a2 +y2b2 = 1由于L和C总是相切,于是该方程组等价于:a2k2 c2 + b2 = 0另外,p的坐标为:px = sx;py = sy + sz tan 为了简化计算,我们记:A = a2k2;B = kqx + c qy;C = qz于是,L和C相切条件为:A (B C tan )2 + rcos 2 = 0假设: = arctan B2 A + C22BC我们有:=arcsin( r2 B2 A+C22B2 A+C222+(BC)2)2 15中国科学技术大学本科毕业论文第三章算法实现第一节模型的生成万丈高楼平地起,我们首先需要找到一种简单易行地方式来生成每种Emech的模型4 。首先我们尝试了采用通用CSG1的方法构造我们需要的Emech模型,即利用现成的CSG库来帮助实现几何体的构造。但是效果比较糟糕,非常简单的模型经过CSG的操作以后都会变得大到无法忍受,只能另辟蹊径。通过对众多Emech的观察,我们可以发现,生成模型的时候,我们主要的操作有两种:1、在一个长方体正反面穿孔。2、在侧面增加圆柱体。于是最终决定利用现有的、成熟的平面三角化算法来解决问题1,即先生成主平面的二维数据,对该平面进行三角化,再将平面延伸成立体模型平面三角化算法我们用的是现有的比较稳定的开源Triangle库2,在用该库处理完平面网格后,拉伸成三维模型,再增加我们需要的圆柱的方法大大地减少了模型的生成时间,同时减少了模型的大小,使得后续更复杂的多个Emech的合并成为了可能。第二节运动的定义Emech的定义已经在之前详细阐述过。我们需要找一种通用的方法,来统一各个Emech运动的输入输出,我们在这里采取4 4空间矩阵的形式。x,y,z三个方向的绕坐标轴旋转的空间旋转矩阵如下:Rx( ) =266666641 0 0 00 cos sin 00 sin cos 00 0 0 137777775Ry( ) =26666664cos 0 sin 00 1 0 0sin 0 cos 00 0 0 1377777751构造实体几何技术2 / quake/triangle.html16中国科学技术大学本科毕业论文Rz( ) =26666664cos sin 0 0sin cos 0 00 0 1 00 0 0 137777775空间平移矩阵Rx(x;y;z) =266666641 0 0 00 1 0 00 0 1 0x y z 137777775我们定义的空间中的三种运动总是可以通过多个以上矩阵的来获得相应矩阵。这样在我们定义好每种Emech的转轴以后,总是可以用这种形式来量化输入输出运动,对于每个Emech的运动计算部分都可以实现“矩阵传入”!“运动计算”!“矩阵输出”的形式,这样连接Emech后可以更加简单地传递,为后续操作做好了准备。第三节Emech的连接一个发条玩具总是有一个发条马达和多个目标运动。马达上有两个偏心轮,运动便是从两侧的偏心轮处逐级向下传递直到目标运动,我们可以发现在自上向下的树状数据结构5 最适合用来实现这样传动装置的模拟。根节点是偏心轮的Rz,每条边是我们定义的Emech,每个结点则由一个Emech传入运动,再通过多个Emech把运动传递给下一级,叶节点就是我们最终的目标运动。显然,并不是任何两个Emech都可以相互连接,传入运动的Emech的从动块的运动必须和传出运动的Emech的主动块的运动一致。比如Rz2Tx和Oz2Oz就无法连接,Rz2Oz和Oz2Oz则可以连接。图中就是连接后的两种不同的树。(两侧的Rz都连接在马达上。)17中国科学技术大学本科毕业论文图3.1运动传递树注:图中的Ty到Oz为现有Emech旋转后得到的结果。Motor即为马达。18中国科学技术大学本科毕业论文第四章结论与展望第一节结果展示图4.1程序截图注:该图

温馨提示

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

评论

0/150

提交评论