第五十三章 比例切割 算法初成(1/1)
陈东风和李爷爷从董明竹家回来后已经快10点了。
进屋后,李爷爷对他说:“这段时间你婶婶不容易,她的事情你要多帮帮她。”
“当然,我是他侄子,不帮他帮谁?爷爷你放心。”陈东风肯定的说。
“那就好,你也知道,这次你文山叔叔去rb治病花了不少钱,光靠两个人在单位里的几十块工资是不够的。她想经商的想法很好,我很支持她。”
“现在的万元户,哪个不是做小生意的?婶婶只要敢闯,现在的华国是遍地黄金。”陈东风对董明竹和李文山以后从商也是很看好的。
“那就好,我老了,不过还是可以为她跑跑关系的。好了,你去洗漱吧,早点休息。”
陈东风现在哪里还能轻易睡得这么早,好不容易抓住灵感的尾巴,说什么也不能把他丢了。
其实陈东风在航模的设计阶段,不怕各种数学模型和理论计算。他最讨厌的是各种叶轮的工程设计图纸的绘制。
工程中表达叶轮表面的方法是投影图法,通常情况下使用的圆柱坐标系中的投影方法是旋转投影以及轴面投影、平面投影。叶轮的轴面投影图反映了叶轮的总体尺寸和特征,而平面投影相当于三视图里面的俯视图。需要叶片表面方程:Θ=(r,z)来一步步画出空间曲线。就算你画的再好,到了加工现场加工的时候也是晦涩难懂,需要专门的技术人员分析出一步步的运动指令,效率十分低下。
陈东风看到了贝塞尔曲线是光滑离散化成一段段的微小的直线段的实质,如果可以根据贝塞尔曲线的特征方程,设计出一套切实可行的算法——把各种曲率的曲线通过命令来生成,那么既可以简化设计中制图的复杂程度,也可以根据曲线各个离散化的坐标点反推出数控加工的路径。所以如果陈东风可以设计的出来那将是一举两得的。
70年代现在国际上的流行算法是(以一次方贝塞尔曲线为例)需要在两个定点a、b之间,在选定特定u的情况下在曲线上找到点c(u)。一个简单的方法是把u插到每一个基函数上,计算每个其与基函数的乘积以及其相应的控制顶点,最后将其相加。都市恶魔领主系统
以上想法只是给定了比例切割想法的几何解释,而实际计算需要一个具体的计算方法。
首先,对于每一对临近的控制点,可以画出一条右上方和右下方的箭头(类似于杨辉三角),并且在两个箭头的交点处写下一个新点。例如相邻的两个点分别为ij和i(j+1),新点是(i+1)j,右下方(相对应的左下方)的箭头表示将其尾数ij(相对应的为i(j+1))乘以1-u(相对应的乘以u),新的点是两个的和。
因此,从初始的第0列开始,我们计算第1列。之后从第1列得到第2列。最终,在n次计算之后我们最终到达了一个单个的点n0并且这个点就是在曲线上的点。下面的算法总结了上面我们讨论的内容,输入的是具有n+1个点的数列p和在0到1之间的u,最终得到在贝塞尔曲线上的点c(u)。
这个计算过程可以用递归的方法表示,对于j=0,1,...,n用p0,j表示pj,也就是p0,j是第0列的第j项元素,在第i列计算第j项如下:p(i,j)=(1-u)p(i-1,j)+up(i-1,j+1),(i=1,2....,n;j=0,1,2...,n-i)
元素pi,j是(1-u)pi-1,j(左上方元素)和upi-1,j+1(左下方元素)的和,最终的结果(在曲线上的点)是pn,0.在这种想法的基础上,通过编程就可以得到基本的算法程序。
在这个基本算法的基础上,陈东风还需要对螺旋线、球面螺旋线、双弧外摆线和星行线、心脏线、圆内螺旋线、正弦曲线、太阳线和费马曲线等等几百种曲线给出需要选定的控制点数量和控制比例u。这个工作如果没有计算机的帮助的话,估计他这辈子都得耗在这上面了。
“好在,通用的算法以及计算出来了,可能有迭代算法效率的不高的问题,但是计算机应该可以克服。”陈东风一边自言自语,一边站了起来,往窗外一看天快黑了,正好肚子有点饿,把桌子上堆成小山的草稿纸整理下后,就出了房间。
本章阅读结束,请阅读下一章