NCF参数化建筑论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: gaoyi2006
打印 上一主题 下一主题

[话题讨论] 两种分形树:递归和循环

[复制链接]
1m
发表于 2012-4-23 15:45:16 | 显示全部楼层
本帖最后由 metall 于 2012-4-23 17:56 编辑

有点意思,做做玩玩
Option Explicit
Call main()
Sub main()
Dim origin_line:origin_line=Rhino.GetObject("select a line",4)
Dim arrayLines(10)
Dim lines(0)
lines(0)=origin_line
arrayLines(0)=lines
Dim m
Dim j
For j=0 To 9
m=2^j-1
arraylines(j+1)=explode(arrayLines(j),m)
Next
End Sub
Function explode(lines,i)
  Dim startpt
  Dim endpt
  Dim line
  Dim m:m=2*i+1
  ReDim k(m)
  Dim vec
  Dim j:j=-1
  For Each line In lines
    startpt=Rhino.curvestartpoint(line)
    endpt=Rhino.curveendpoint(line)
    vec=Rhino.VectorCreate(endpt, startpt)
    j=j+1
    k(j)= Rhino.AddLine(endpt,Rhino.VectorAdd(endpt, Rhino.vectorscale(Rhino.VectorRotate(vec, -45, Array(0,0,1)), 0.6)))
    j=j+1
    k(j)= Rhino.AddLine(endpt,Rhino.VectorAdd(endpt, Rhino.vectorscale(Rhino.VectorRotate(vec, 45, Array(0,0,1)), 0.6)))
  Next
  explode=k  
End Function

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

GMT+8, 2024-5-12 06:35 , Processed in 0.056925 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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