NCF参数化建筑论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 96253|回复: 73
打印 上一主题 下一主题

[个人作品] Rhinoscript三维形态球谐函数

  [复制链接]
跳转到指定楼层
m
发表于 2011-1-27 16:42:25 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 wdc63 于 2011-1-27 17:07 编辑


                               
登录/注册后可看大图
  球谐函数是近代数学的一个著名函数,目前被广泛用于计算机图形学,渲染光照处理以及球面映射等方面,球谐函数在形态方面也有极强的表现能力,西澳大学的Paul Bourke的球谐函数三维形态公式:r = sin(m0*phi)^m1 +
cos(m2*phi)^m3 +
sin(m4*theta)^m5 +
cos(m6*theta)^m7
是其中著名的算法之一。该公式提供8个基本参数m0-m7,使得最终形态具有无数种变化,这两天我据此写出了rhinoscript的三维球谐函数程序。感谢NCF上海-杯具兄在算法写作当中的讨论和帮助。



对于此公式的核心函数算法代码如下:
Function mainfunction(u,v,m,radius)

Dim r,collect(2)


r=0


r=r+(sin(m(0)*v))^m(1)


r=r+(cos(m(2)*v))^m(3)


r=r+(sin(m(4)*u))^m(5)


r=r+(cos(m(6)*u))^m(7)


r=r*radius


collect(0)=r*sin(v)*cos(u)


collect(1)=r*cos(v)


collect(2)=r*sin(v)*sin(u)


mainfunction=collect

End Function
Collect()数组从此公式中取得点坐标。

后面有两个源文件下载,其中之一为定义好参数的样本代码,另一文件为用户自定义参数,参数如何设置请参看提示和源代码。

运行过程如下:
先求得所有点


                               
登录/注册后可看大图

再根据之前的点索引对点进行嵌面(这里使用rhino.addsrfpt函数使得文件增大,希望有人能提供rhinoscript四点建立poly面的方法)


                               
登录/注册后可看大图



最后手动删除点得到三维形态:


                               
登录/注册后可看大图


选取不同参数可以获得十分丰富的变化,请自行尝试。

                               
登录/注册后可看大图

                               
登录/注册后可看大图

                               
登录/注册后可看大图
  

评分

参与人数 8强度 +16 照度 +246 收起 理由
cloudone + 1
戏水云烟 + 2 + 5
denghua + 2 + 5
ALan.飓 + 1
没碗 + 3 + 100
tony_tsang + 3 + 100
Line + 2 很有启发
panhao1 + 35

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏5 分享分享
73m
发表于 2018-8-1 23:07:08 | 只看该作者
666666666666666666666666666666666
72m
发表于 2014-8-4 21:52:29 | 只看该作者
好复杂的样子。。。
71m
发表于 2014-4-9 14:30:31 | 只看该作者
漂亮 想想如何应用
70m
发表于 2013-12-4 16:17:09 | 只看该作者
给力的算法支持下
69m
发表于 2013-10-31 13:22:26 | 只看该作者
样子很吸引人,我想起高达里面的机体
68m
发表于 2013-4-8 22:02:29 | 只看该作者
点云到面的过程是咋样的
67m
发表于 2012-12-23 16:50:02 | 只看该作者
大川师兄!!!你还是那么威武~
66m
发表于 2012-5-14 16:08:28 | 只看该作者
学习学习,有掌握了一点知识
65m
发表于 2012-4-29 06:07:23 | 只看该作者
看来一定要好好学习Rhinoscript......
64m
发表于 2012-4-23 18:16:22 | 只看该作者
不错~! 谢谢分享
63m
发表于 2012-4-17 22:57:15 | 只看该作者
这个太帅了,给力啊!!
62m
发表于 2012-3-31 15:25:27 | 只看该作者
真的很神奇啊
61m
发表于 2012-3-31 15:24:44 | 只看该作者
太有道理了~~
60m
发表于 2012-3-31 15:24:19 | 只看该作者
说的好~牛~~
59m
发表于 2011-12-25 19:02:47 | 只看该作者
我要照度啊
58m
发表于 2011-12-24 20:32:09 | 只看该作者
好漂亮的曲面~虽然没看懂= =
57m
发表于 2011-12-18 23:06:34 | 只看该作者
函数,算法,程序,用计算机去解释,真的可以展现出美的东西,数学艺术!
56m
发表于 2011-12-17 13:21:42 | 只看该作者
数字真是美,领教了
55m
发表于 2011-12-15 21:53:16 | 只看该作者
真的很好看 ,学习!!
54m
发表于 2011-12-15 09:58:14 | 只看该作者
支持支持一下

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

GMT+8, 2024-5-10 22:21 , Processed in 0.182377 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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