登陆注册
19349200000051

第51章 比例切割 算法初成

陈东风和李爷爷从董明竹家回来后已经快10点了。

进屋后,李爷爷对他说:“这段时间你婶婶不容易,她的事情你要多帮帮她。”

“当然,我是他侄子,不帮他帮谁?爷爷你放心。”陈东风肯定的说。

“那就好,你也知道,这次你文山叔叔去RB治病花了不少钱,光靠两个人在单位里的几十块工资是不够的。她想经商的想法很好,我很支持她。”

“现在的万元户,哪个不是做小生意的?婶婶只要敢闯,现在的华国是遍地黄金。”陈东风对董明竹和李文山以后从商也是很看好的。

“那就好,我老了,不过还是可以为她跑跑关系的。好了,你去洗漱吧,早点休息。”

陈东风现在哪里还能轻易睡得这么早,好不容易抓住灵感的尾巴,说什么也不能把他丢了。

其实陈东风在航模的设计阶段,不怕各种数学模型和理论计算。他最讨厌的是各种叶轮的工程设计图纸的绘制。

工程中表达叶轮表面的方法是投影图法,通常情况下使用的圆柱坐标系中的投影方法是旋转投影以及轴面投影、平面投影。叶轮的轴面投影图反映了叶轮的总体尺寸和特征,而平面投影相当于三视图里面的俯视图。需要叶片表面方程:Θ=(r,z)来一步步画出空间曲线。就算你画的再好,到了加工现场加工的时候也是晦涩难懂,需要专门的技术人员分析出一步步的运动指令,效率十分低下。

陈东风看到了贝塞尔曲线是光滑离散化成一段段的微小的直线段的实质,如果可以根据贝塞尔曲线的特征方程,设计出一套切实可行的算法——把各种曲率的曲线通过命令来生成,那么既可以简化设计中制图的复杂程度,也可以根据曲线各个离散化的坐标点反推出数控加工的路径。所以如果陈东风可以设计的出来那将是一举两得的。

70年代现在国际上的流行算法是(以一次方贝塞尔曲线为例)需要在两个定点A、B之间,在选定特定u的情况下在曲线上找到点C(u)。一个简单的方法是把u插到每一个基函数上,计算每个其与基函数的乘积以及其相应的控制顶点,最后将其相加。

虽然这种方法很好,但是缺乏数值稳定性,尤其是在计算伯恩斯坦多项式的时候可能引进数值误差。当然算法都是各个CAD软件的核心,是不会轻易示人的。

还有就是一款好的CAD软件不管是算法重要,它的控制核心也是非常重要,当然现在陈东风也没考虑到这些,只是想先把算法设计出来。

陈东风也是发了狠,不设计出这个算法,连门都懒的出了,过年前的卫生也忘记打扫了。好在李爷爷看他钻研辛亏,毫不计较,尽心尽力的为他做好了后勤工作。

终于,陈东风在大年三十前把这套他自己命名的比例切割算法给设计出来了。灵感来自于华国历史上著名的数学家祖冲之的割圆术,割圆术目的是等分圆之后取得正多边形,而他的比例切割是取一个特定的比例来逼近一个特殊的曲线。

简单来讲比例切割算法(以一次贝塞尔曲线为例)的基本观点是选择在AB中的一个点C,C将AB分为u:1-u(A到C的距离与AB之间的距离之比是u),让我们找到决定C在哪里的方法。

从A到B的向量是B-A。因为u是在0和1之间的比率,点C位于u(B-A)。将A的位置加以考虑,点C为A+u(B-A)=(1-u)A+uB。因此,对于给定的u,(1-u)A+uB是在A和B之间的点C,将AB分为u:1-u的两段。

更加具有普遍性的比例切割算法的想法如下是假设我们想要找到C(u),u在[0,1]中。由第一个多段线P0-P1-P2-P3...-Pn开始,利用上面的法则找到在线段上的点P1i,P1i在P0i到P0(i+1)的连线上并且将这段线分为u:1-u的两部分。依次地,我们可以得到n个点10,11,12,...,1(n-1),他们定义了一个新的多段线,一共有n-1段。

新点由1i进行标记,再次利用上面的规则我们可以得到第二个多段线,具有n-1个点(20,21,...,2(n-2))和n-2条边。从这个多段线开始,进行第三次,得到新的多段线,由n-2个点30,31,...,3(n-3)和n-3条边组成。重复这个过程n次得到一个点n0。

以上想法只是给定了比例切割想法的几何解释,而实际计算需要一个具体的计算方法。

首先,对于每一对临近的控制点,可以画出一条右上方和右下方的箭头(类似于杨辉三角),并且在两个箭头的交点处写下一个新点。例如相邻的两个点分别为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。这个工作如果没有计算机的帮助的话,估计他这辈子都得耗在这上面了。

“好在,通用的算法已经计算出来了,可能有迭代算法效率的不高的问题,但是计算机应该可以克服。”陈东风一边自言自语,一边站了起来,往窗外一看天快黑了,正好肚子有点饿,把桌子上堆成小山的草稿纸整理下后,就出了房间。

同类推荐
  • 这个主角会做梦

    这个主角会做梦

    打不赢敌人?我睡一觉!修炼不够快?我睡一觉!没有好技能?我睡一觉!这个主角啥都不会,就会做梦!
  • 超时空一号当铺

    超时空一号当铺

    一间破旧当铺,却让人收获了爱情,财富,健康。
  • 重生都市之仙界至尊

    重生都市之仙界至尊

    重生前世都市,看他如何以无敌之身强势把诸天万界碾在脚下!但凡犯我秦凡天威者,近必屠,远必诛!新书《我的续命系统》正火热连载,喜欢败家流的可以前往一读!
  • 我才不想当明星

    我才不想当明星

    不去当明星扬名立万,窝在这里开小酒馆当驻唱?对不起,我对当明星没有一点兴趣诶呀真香,要恰饭的嘛!欢迎加群,在线催更:193492756
  • 都市之无敌神级抽奖系统

    都市之无敌神级抽奖系统

    濒临死亡之际,偶得神级抽奖系统,从此纵横都市,诸天无敌!武道宗师、雇佣兵王、绝顶杀手、重生天尊、魔王转世、仙界回归...,恕我直言,这些统统都是弱鸡!!!(已有百万字老书:重生都市之神级主宰,另外有新书:都市之妖孽仙帝)
热门推荐
  • 无始天帝

    无始天帝

    【百万追订】仙路尽头谁为峰,一见无始道成空。
  • 超神指挥官

    超神指挥官

    肖童,被一辆神走位的地下铁带入了穿越大军,深空一万年,人类已经越过了科学的巅峰,开启了超能基因的进化。龙吟联邦,赤盾联邦,神洞联邦,炙焰联邦,泰坦联邦;深空联盟的超能者们,在银河系中建立了广袤的殖民地;然而……远古深渊中的科尔斯虫王,游离在下悬臂的机械联盟,空之破碎中的气态生命游魂者,永恒不灭的吞噬液,全都在窥伺着人类的成果。暗物质聚合炉熄灭之际,肖童穿越而来。与一段叫作深空系统的基因程序融合,成为了中央战略学院的超能战士。然而,人类文明却迎来了至暗时刻。深空系统从何而来?人类又将向何而去?肖童的意外穿越,将成为改变整个银河系的奇点。
  • 总裁,被窝分你一半

    总裁,被窝分你一半

    作为唐家二小姐,唐芊在新婚之夜发现老公出轨,又阴差阳错地傍上了帝都最尊贵的钻石王老五,这样的人生真是丰富多彩。唐芊看着眼前这个风光霁月的男人,替她抢遗产,打小三,顺便虐渣前夫,实在是想不通,她到底是哪一点吸引陆烨琛了。直到后来,真相大白,一切的宠爱都是他的阴谋算计。梦醒了,她也该离开了。他步步为营,最后却深陷温柔乡。到底是谁算计了谁?
  • 无瑕

    无瑕

    父亲是开国元勋,母亲是国公夫人,舅舅是威名赫赫的大将军,做为父母的掌上明珠,常家的小凤凰无瑕一直觉得自己的人生可以很轻松惬意,长大后只需寻觅一位美人夫君相伴左右,人生便圆满了。后来却发觉她不得不夺了这天下……
  • 主宰天下

    主宰天下

    绝世高手陆枫被人陷害,机缘巧合之下,依靠着七彩玲珑塔,重生到一名少年的身上。从此,开启了复仇和征战天下的征程。
  • 德安守御录下

    德安守御录下

    本书为公版书,为不受著作权法限制的作家、艺术家及其它人士发布的作品,供广大读者阅读交流。汇聚授权电子版权。
  • 工藤家的少女

    工藤家的少女

    老爸是著名推理小说家兼名侦探,工藤优作是也。老妈更是年轻时风靡全球的影视女明星,藤峰有希子,现工藤有希子。老哥更牛掰,人送外号死神代言人,真正的走哪死到那的神人,更是闻名全日本的名侦探,工藤新一是也。唉~,对于降生在这么一堆神人家里某少女(少年)来说,真的是压力山大而且这个世界也貌似有点不对劲呢。看着从自己眼前飘过的某只阿飘,某人感觉这世界真是太混乱了。天啊,我到底惹你什么地方了,至于把我变成女生来折磨我这一世吗?忘了说一下,这是一只萌新杀手莫名其妙来到这个世界,虽身为工藤新一的妹妹,却在路人与主角线中不断挣扎并消灭黑衣组织的故事(注:这是发生在柯南1218号平行世界里的故事,与原著会有许多不同之处,为个人观点)
  • 世界经典童话故事全集:动物植物的故事

    世界经典童话故事全集:动物植物的故事

    本套丛书包括《国王皇后的故事》、《王子少年的故事》、《公主千金的故事》、《官员商人的故事》、《庶民百姓的故事》、《能工巧匠的故事》、《女人儿童的故事》、《魔鬼妖怪的故事》、《动物植物的故事》和《生灵怪象的故事》等10册童话故事,其中包括安徒生、格林、豪夫和王尔德的作品,也包括了世界各国许多民间童话故事, 很具有代表性和普遍性。相信这套《世界经典童话故事全集》丛书,能够启迪儿童的心灵、陶冶儿童的情操、培养儿童的情趣、丰富儿童的知识、发展儿童的智力,成为广大父母和少年儿童们的良好读物和收藏品。
  • 王源之爱无悔

    王源之爱无悔

    反正是围绕王源的。经过“九九八十一难”王源和女主夏乐沁还会最一起吗?(我是第一次写小说,请多见谅)。
  • 百年炉火

    百年炉火

    这是一部浓缩的历史,一部截取一个短暂的断面透视和提取上下千年的历史。截面里有故事,有在那个特殊年代人们审视自己的生存背景寻找各自的支持力量,从而为自己的理想憧憬而努力的历程。但在没有找到一种平衡力量的情况下,他们摸索前行,相互冲撞……故事中的梁泾渭教授总结说,一座以陶瓷业为主要营生的小镇的历史中,那么多纠葛与惊险,那么多血腥和辉煌,那么多缤纷与繁复,以及那么多猜测与疑惧,令时人惊悚、后人回味。