登陆注册
55035500000053

第53章 比例切割 算法初成

陈东风和李爷爷从董明竹家回来后已经快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。这个工作如果没有计算机的帮助的话,估计他这辈子都得耗在这上面了。

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

同类推荐
  • 废柴重生之极品学生

    废柴重生之极品学生

    上一世他被家族称为有史以来第一废柴...吃喝嫖赌样样俱全..因偷窥武馆馆主夫人洗澡被馆主一掌失手打死。这一世醒来居然发现,自己拥有透视眼,美女总裁,绝色学姐,柔情校花,纯情小萝莉....你们一个也跑不掉哈哈
  • 反噬者:异能都市之生存法则

    反噬者:异能都市之生存法则

    (玄幻作者群:16360756,加群请注明作者名或者作品名称。)噬者,上天入地。反噬,翻天覆地。这是一场针锋相对,一触即发的战役,也是一场适者生存,优胜劣汰的竞赛。
  • 轻狂少年

    轻狂少年

    少年轻狂,羞涩的初恋,暴燥的脾气,没有一点修饰的心情,没有谈情说爱的浪漫,只有美好纯真的情怀。兄弟要经过实践的才是兄弟,成绩写在试卷上的才是成绩。爱恋,打架,伤离别,都是你我经历记忆过的事情,在这里多多少少你会有的留恋,一切从高考说起……
  • 特种神医

    特种神医

    杜仲,失传已久的上古医术唯一继承人,无人知晓的超级兵王,可他竟然在医院当了一名小保安,美好的都市生活就此开始。他医术无敌,集百家之长,妙手回春,活人无数,成一代神医;他武力无双,独步都市,畅游百花丛。
  • 摊牌了我是你祖宗

    摊牌了我是你祖宗

    神帝沈林在灵武现代复苏。他发现自己曾经带领的沈家,竟沦为百家末流,受尽欺辱。沈林作为老祖难以忍受沈家的下场。本想一个人抗下所有。但是后辈实在太菜,他没有办法。只有摊牌了。“沈家上下听好了,现在由你们的祖宗沈林,带你们飞!”
热门推荐
  • 异界不朽仙尊

    异界不朽仙尊

    穿越异世,竟然寿元无穷?什么!这个世界,使用法力需要耗费寿元?拥有无穷寿元,岂不是可以无限扔禁术?这,不过时间只有十年!十年时间,能否真正不朽?
  • 皇上是个小毛贼:许你一世无忧

    皇上是个小毛贼:许你一世无忧

    “禀告皇后娘娘,皇上今夜准备行动”身旁的小燕偷偷的对着可儿说道“是吗?让偶的缉贼大队行动”可儿懒懒的说“小一,你就随便带个三四千人,都拿上马桶搋子,来个皇上版的流氓兔:小二就带上几百个人挖几个坑好皇上往里跳,记住多放几块冰,冷冻一下嘛,当然,挖的浅点,你们看本宫良心还是很好滴嘛,你们说是吧?”众人汗颜,您老真是太谦虚了“至于小三就······”可儿一一吩咐着,没办法,想来古代都是重男轻女,谁又想到紫月王朝是重女轻男,偶可是有三宫六院,七十二房啊,哦呵呵,
  • 末日救世

    末日救世

    某一天,地球突然来了一群神秘访客,声称地球还有一个月即将毁灭。作为大众底层的唐雪源决定贡献自己的一份力量,搞清楚这次灾变的危机!
  • 天行

    天行

    号称“北辰骑神”的天才玩家以自创的“牧马冲锋流”战术击败了国服第一弓手北冥雪,被誉为天纵战榜第一骑士的他,却受到小人排挤,最终离开了效力已久的银狐俱乐部。是沉沦,还是再次崛起?恰逢其时,月恒集团第四款游戏“天行”正式上线,虚拟世界再起风云!
  • 萝莉随身追校花

    萝莉随身追校花

    .……已TJ…………人艰不拆…………求不黑……
  • 亩填星岁

    亩填星岁

    苍茫大地,广袤无垠;群雄逐鹿,割据一方。炎帝异火,可焚苍穹;武祖之能,动彻乾坤;雷祖一怒,无尽雷霆;水行天下,四海真龙;大漠楼兰,黄沙漫天;神木之主,恩泽万灵;无尽风域,飘渺无踪。三界异士,纵横天下;符师之威,一印即可封印九州;炼药之师,一丹可令起死回生;结界之士;一念可成永恒之域;铸造之师,一剑可破九霄雷霆。少年由紫域结界而出,身负着延续氏族血脉的责任,心怀着即将湮灭的整个氏族,踏入了这精彩绝伦的大千世界,成长之路,无尽磨难,稚嫩少年,又将经受几多浮沉……
  • 签到系统也很六

    签到系统也很六

    身怀签到系统,坐拥众多子系统什么?拥有系统的人叫代言人?难道不止我一个人拥有系统?什么?拥有超自然力量,拥有异能的人叫执行者?什么?你以为我只是是回收系统拥有者?不好意思,我有签到系统,回收系统,经验系统,花钱系统等等,回收系统只是我行走江湖的ID而已。什么?你问我女主角在哪里?等作者脱单了再说吧。各位客观,里面请~
  • 星际歧途

    星际歧途

    有一天一群作死星人发现了一个未开化的星球,这个星球的智慧生物并没有发明星际跳跃。这一群作死星人说,这个渣渣星人,连我们石器时代的科技都不会,我们必然吊打他们!结果当这群作死星人开着木制加铁皮的飞船进攻这个星球的时候才发现,你们不科学啊!你们科技树怎么点的这么奇怪!你们的枪怎么可以连射!你们的炮怎么打这么远!什么叫超视距攻击?妥妥被被吊打了之后,严刑逼问下,这群智慧生物学会了如何星际跳跃,80亿疯狗放出了蓝星...
  • 伊兰顿

    伊兰顿

    古老的大陆上蔓延着瘟疫,人们苦不堪言,国王祈求龙神的庇护,终于在龙神的帮助下,人类习得圣光之术。驱散了瘟疫,在瘟疫即将驱散之际,星云流转,将病魔卷入异界,伊兰顿恢复了平静。为了感谢龙神驱散瘟疫,人们兴建祭祀龙族祭坛,世代供奉龙神。龙族接受人类的祭祀,并给大地带来风调雨顺,万物生生不息。在此繁荣之际,却流传着一句话:“人龙相恋,必遭天谴!”
  • 仙怨:三生

    仙怨:三生

    天地之初,万物生死有律,而生之有穷,故先人欲求其万物生死运转,破晓其隐秘所在,以证长生,故成天下一道——问道,而后问道三分,分为寂灭天,离恨天,魔道。天道不变而人心善变,魔道,试图究极人之六欲七情,以极端入道。然魔祖一死,枷锁不再,群魔乱舞,从此纷争不断,天下流血……一个苏醒的躯壳,一把出世的仙怨,在那慢慢变质的修土,开始穿梭于正魔世界。