陈东风和李爷爷从董明竹家回来后已经快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。这个工作如果没有计算机的帮助的话,估计他这辈子都得耗在这上面了。
“好在,通用的算法已经计算出来了,可能有迭代算法效率的不高的问题,但是计算机应该可以克服。”陈东风一边自言自语,一边站了起来,往窗外一看天快黑了,正好肚子有点饿,把桌子上堆成小山的草稿纸整理下后,就出了房间。
小说推荐
- 我的心脏是魔王
- 天生情感淡薄的蔚星,继承了彻底没落的门派。碰到一个石头,心脏竟然被取代了,还自称七罪天魔王·森罗。为了追寻生命的真谛,探寻长生的秘密,传承壮大门派,完成与森罗的交易。蔚星带着整个门派,踏上了旅程(人品一流,此书证道,一定将故事讲完(书友群:613487731
- 深海佛连载
- 最新章:第九十五章 接下任务
- 我的心脏是把剑
- 季元穿越而来,此生家庭和乐,资产颇丰,长兄能力出众,对兄弟慈善,从无猜忌。所以这辈子他只需要做个混吃等死的好儿子便是,等到年龄到了,娶一房娇妻,安安稳稳过上一辈子。十六岁生辰这天晚上,季元突然发梦,一柄剑从天而降,自头顶而入,直没入体内。自此,季元陷入了沉睡之中,无人知晓他这是怎么了,直到四年后,他
- 漓小澈连载
- 最新章:第一百零二章 去修真界的办法
- 我的海克斯心脏
- [英雄联盟同人]主角杰诺,英雄简介:祖安,在一场影响深远的重大毒气泄露事故中。你救下了奥莉安娜,从此符文之地上不再有发条魔灵,而你的心脏衰竭,即将死亡。好在你抱紧卡蜜尔的大腿(雾,换上了海克斯心脏。泽三炮跑过来祸祸皮尔特沃夫,你逃到了比尔吉沃特,不然就会被吸干心脏能量。你搬到了救兵,和沙皇一起击败了
- 可能有猫饼连载
- 最新章:人傻了,放飞自我!
- 开局一颗核动力心脏
- “喂喂,你要干什么”杨子发现自己被光溜溜的绑在一张床上,床边一个老头正猥琐的看着他“你别乱来啊,就算你得到了我的人,也得不到我的心”老人激动道“那我给你换颗心
- 这般零碎连载
- 最新章:第八十章 墓穴之下
- 我的海克斯心脏
- 英雄联盟同人穿越者杰诺的出现改变了奥莉安娜变成发条魔灵的命运,但在世界线的收束之下,他的心脏因为中毒而衰竭,最后不得已换上了一个海克斯水晶制成的心脏。从此…画风突变!奥莉安娜杰诺,你怎么又把心脏丢出来砸人了?杰诺我知道乱丢垃圾不好,我也不想这样的,可它自己就从我胸口弹出来了…当事人小杰(眼部打码)现
- 杰诺奥莉安娜连载
- 最新章:第三百一十一章 怕
- 贫血工业
- 如果我们燃尽了所有的煤与石油,留下的会是一个怎样的世界?化名瑞恩的吴润硕所面对的是前代文明留下的遍地可燃垃圾。科技树发展到木炭冶铁,却因未能发现煤炭而无法更进一步,一切都被锁死在蒸汽机和工业化的前夕。如何绕过“工业血液”的缺失,重新踏上技术发展的道路?没有魔法,没有道术。这一切全要仰赖人力实现
- 卡提格鲁连载
- 最新章:77 田野调查 I
- 盖世工业
- 从破旧作坊,到工业帝国 看大学辍学的杨越,如何靠偶然得到的
- 黑衣渡江连载
- 最新章:第75章 各施手段
- 南明工业设计师
- 资深工业设计师穿越到大厦将倾的南明。凭借后世的科学技术,主角能够力挽狂澜,拯救汉人的天下么?鞑清的铁骑南下,面临的是主角发明的来复枪、水泥棱堡、后装重炮。历史,从主角穿越的那一刻改变—作者已有250万字完本作品《明末工程师,欢迎移步阅读
- 米酿连载
- 最新章:第六十章 条件
- 我在古代建工业
- 毛瑟步枪、蒸汽火车、蒸汽机船…工科博士回到古代,建立工业体系,打造一个领先世界的工业帝国。炮轰西方国门。逼迫西方各国签订无数不平等条约!曰:精品完本《大明的工业革命》曰:群914470008
- 科创板连载
- 最新章:第四十章 果断的决定