NCF参数化建筑论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 139098|回复: 73

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

  [复制链接]
发表于 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面的方法)


                               
登录/注册后可看大图



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


                               
登录/注册后可看大图


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

                               
登录/注册后可看大图

                               
登录/注册后可看大图

                               
登录/注册后可看大图
   4.jpg
由于家里电脑配置问题,模型精度不是太高,使用100,可以在自行使用时尝试更高精度。
代码下载:
球谐函数带参数范例
球谐函数用户自定义参数

评分

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

查看全部评分

发表于 2018-8-1 23:07:08 | 显示全部楼层
666666666666666666666666666666666
发表于 2014-8-4 21:52:29 | 显示全部楼层
好复杂的样子。。。
发表于 2014-4-9 14:30:31 | 显示全部楼层
漂亮 想想如何应用
发表于 2013-12-4 16:17:09 | 显示全部楼层
给力的算法支持下
发表于 2013-10-31 13:22:26 | 显示全部楼层
样子很吸引人,我想起高达里面的机体
发表于 2013-4-8 22:02:29 | 显示全部楼层
点云到面的过程是咋样的
发表于 2012-12-23 16:50:02 | 显示全部楼层
大川师兄!!!你还是那么威武~
发表于 2012-5-14 16:08:28 | 显示全部楼层
学习学习,有掌握了一点知识
发表于 2012-4-29 06:07:23 | 显示全部楼层
看来一定要好好学习Rhinoscript......
发表于 2012-4-23 18:16:22 | 显示全部楼层
不错~! 谢谢分享
发表于 2012-4-17 22:57:15 | 显示全部楼层
这个太帅了,给力啊!!
发表于 2012-3-31 15:25:27 | 显示全部楼层
真的很神奇啊
发表于 2012-3-31 15:24:44 | 显示全部楼层
太有道理了~~
发表于 2012-3-31 15:24:19 | 显示全部楼层
说的好~牛~~
发表于 2011-12-25 19:02:47 | 显示全部楼层
我要照度啊
发表于 2011-12-24 20:32:09 | 显示全部楼层
好漂亮的曲面~虽然没看懂= =
发表于 2011-12-18 23:06:34 | 显示全部楼层
函数,算法,程序,用计算机去解释,真的可以展现出美的东西,数学艺术!
发表于 2011-12-17 13:21:42 | 显示全部楼层
数字真是美,领教了
发表于 2011-12-15 21:53:16 | 显示全部楼层
真的很好看 ,学习!!
发表于 2011-12-15 09:58:14 | 显示全部楼层
支持支持一下

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

GMT+8, 2025-11-3 12:00 , Processed in 0.436223 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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