NCF参数化建筑论坛

标题: C+Z杯参赛 --【白冰黑河】 [打印本页]

作者: 爵士匕雷    时间: 2017-10-20 10:32
标题: C+Z杯参赛 --【白冰黑河】

                               
登录/注册后可看大图

来赶个末班车<---,哈哈






白色的冰,黑色的河
冰坚如矛,和静如水




这个抽象概念图样基于分形三角形网格,呈现出黑白灰三个部分,白比作冰,黑比作河,灰色比作冰与河相交相互渗透的混沌,分形三角形部分由Python实现,但得到的数据结构不甚理想,故进行了一系列的数据结构操作,小弟基础不好,期间幸得@skywoolf大神的指导,最终得到三个维度的四边形数据结构,通过Index操作上述列表中的四边形的存在与否得到如上图样。
特别说明一点:这个呈现的效果其实很水,因为只是操作列表只是进行了随机删除,并没有进行很有机很有逻辑性的操作,目前小弟还在抽空深入,截稿前发了个半成品,各路大神不喜勿喷哈,哈哈哈:)

全貌如下


                               
登录/注册后可看大图


如下进入技术层面:
首先当然是咱们的主角(PS:小弟基础差,很多地方我自己都感觉绕,不过我把繁琐的操作封入Cluster里,保持思路表达清晰)

                               
登录/注册后可看大图


分形那一步的Python如下


  1. import rhinoscriptsyntax as rs

  2. l = []
  3. m = []

  4. def Main():
  5. global T
  6. T = []
  7. SubdivideTriangle(C, 0, T)


  8. def SubdivideTriangle(C, level, T):
  9. if level == L:
  10. T.append(C)
  11. return

  12. l = rs.PolylineVertices(C)
  13. m = rs.ExplodeCurves(C)
  14. a = l[0]
  15. b = l[1]
  16. c = l[2]
  17. d = rs.CurveMidPoint(m[0])
  18. e = rs.CurveMidPoint(m[1])
  19. f = rs.CurveMidPoint(m[2])
  20. Tri_1 = [a,f,d,a]
  21. Tri_2 = [d,e,b,d]
  22. Tri_3 = [f,c,e,f]
  23. Tri_4 = [f,e,d,f]

  24. level += 1

  25. SubdivideTriangle(rs.AddPolyline(Tri_1), level, T)
  26. SubdivideTriangle(rs.AddPolyline(Tri_2), level, T)
  27. SubdivideTriangle(rs.AddPolyline(Tri_3), level, T)
  28. SubdivideTriangle(rs.AddPolyline(Tri_4), level, T)
  29. Main()</FONT>
复制代码


番外:这个Index操作可扩展性很高,可以通过类似三维坐标调用这个数据列表的四边形,最终组成图案




作者: skywoolf    时间: 2017-10-20 14:46
刚听到爵士的思路的时候挺震撼的,这次主题是的时间周期确实短了,没能让大家的作品得到充足的发挥。可以回考虑把赛制微调一下。
作者: 周围    时间: 2017-10-20 15:20
file:///C:/Users/DT1311/Desktop/360%E6%A1%8C%E9%9D%A2%E6%88%AA%E5%9B%BE20171020151922.jpg
作者: 周围    时间: 2017-10-20 15:23
不要提出白色的 看上去会比较完整 有个完整的线稿。。
作者: KFC    时间: 2017-10-20 15:26
代码的退格信息丢失了
作者: 爵士匕雷    时间: 2017-10-23 20:19
周围 发表于 2017-10-20 15:23
不要提出白色的 看上去会比较完整 有个完整的线稿。。

嗯嗯,没错,这位朋友提出的这是个很大的问题,目前这个有重叠的菱形,不过我的目的是利用这种三维错视的感觉来做出一种3d效果
这个算法有待优化,来实现更好的效果
作者: 爵士匕雷    时间: 2017-10-23 20:21
KFC 发表于 2017-10-20 15:26
代码的退格信息丢失了

嗯嗯,我不太清楚怎么粘代码到帖子里,手动捂脸♂
作者: 爵士匕雷    时间: 2017-10-23 20:21
skywoolf 发表于 2017-10-20 14:46
刚听到爵士的思路的时候挺震撼的,这次主题是的时间周期确实短了,没能让大家的作品得到充足的发挥。可以回 ...

非常感谢skywoolf大神的提点
作者: KFC    时间: 2017-10-26 08:44
爵士匕雷 发表于 2017-10-23 20:21
嗯嗯,我不太清楚怎么粘代码到帖子里,手动捂脸♂

我也不知道,也手动捂脸
作者: chujiu    时间: 2022-9-14 10:16
这是高手啊




欢迎光临 NCF参数化建筑论坛 (http://ncf-china.com/) Powered by Discuz! X3.2