NCF参数化建筑论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 30342|回复: 12
打印 上一主题 下一主题

[工作记录] 原创贝兹曲线程序——继续萌路线

[复制链接]
跳转到指定楼层
1m
发表于 2010-6-10 00:22:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这里吧贝兹曲线的ruby代码发下 def BZ__BezierClassic.points(pts, numpts) curvepts = [] dt = 1.0 / numpts # evaluate the points on the curve for i in 0..numpts t = i * dt curvepts[i] = BZ__BezierClassic.evaluate(pts, t) end curvepts end def BZ__BezierClassic.evaluate(pts, t) degree = pts.length - 1 if degree < 1 return nil end t1 = 1.0 - t fact = 1.0 n_choose_i = 1 x = pts[0].x * t1 y = pts[0].y * t1 z = pts[0].z * t1 for i in 1...degree fact = fact*t n_choose_i = n_choose_i*(degree-i+1)/i fn = fact * n_choose_i x = (x + fn*pts[i].x) * t1 y = (y + fn*pts[i].y) * t1 z = (z + fn*pts[i].z) * t1 end x = x + fact*t*pts[degree].x y = y + fact*t*pts[degree].y z = z + fact*t*pts[degree].z Geom::Point3d.new(x, y, z) 这个算法还比较快~

评分

参与人数 2强度 +7 照度 +70 收起 理由
skywoolf + 5 + 50 原创内容
f(x) + 2 + 20

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享
2m
 楼主| 发表于 2010-6-10 00:24:03 | 只看该作者
也就是lagrange程序的升级版 觉得大家对程序视乎不感兴趣 所以嘛~没动力把程序再贴上来~
3m
发表于 2010-6-10 08:42:49 | 只看该作者
{:3_57:}支持了~
头像被屏蔽
4m
发表于 2010-6-10 09:43:04 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
5m
发表于 2010-6-10 10:13:53 | 只看该作者
看不懂~~~~
6m
发表于 2010-6-10 10:34:43 | 只看该作者
看不懂,,,不过知道你知道的好多。
7m
发表于 2010-6-10 14:01:12 | 只看该作者
主要还是会语言同时会建筑的人少。上学时时间多点,学了也就学了;一旦上班,几乎没有时间再系统学这些了(当然,我说的是像我这样的一部分人,我承认有些人很有毅力,任何情况下都能学东西。)
8m
发表于 2010-6-11 16:41:38 | 只看该作者
8# architc 严重同意啊。。。。。
9m
发表于 2010-9-19 10:04:40 | 只看该作者
hoho ,我也想学但是没时间,郁闷
10m
发表于 2010-9-22 22:40:48 | 只看该作者
学习一下~~~~~~
11m
发表于 2011-7-30 17:23:29 | 只看该作者
都好厉害啊
12m
发表于 2011-8-14 20:24:55 | 只看该作者
各位坛友,我是新手 请大家多多关照小弟我啊
13m
发表于 2013-4-16 21:53:02 | 只看该作者
我觉得挺好的,大家的看法呢












                               
登录/注册后可看大图

了解婴儿游泳,查看婴儿游泳池就上http://www.beiaispa.com

小黑屋|手机版|NCF参数化建筑论坛 ( 浙ICP备2020044100号-2 )    辽公网安备21021102000973号

GMT+8, 2024-12-4 02:12 , Processed in 0.072483 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表