×

工业设计互动平台

手机短信,快捷登录

微信登录,快人一步

QQ登录

只需一步,快速开始

謝爾賓斯基三角形 rhinoPython练习。

发布于 2012-12-15 0 点赞 9 评论 6612 浏览

import rhinoscriptsyntax as rs

c=rs.GetObject('plz sel triangle', rs.filter.curve) #先在rhino里用多段线画一个三角形,运行这个脚本的时候会提示你先选择三角形

step = 3 # 数字可以改 递归的级数 不要调太大了 不然电脑跑不动了 哈哈


"""
下面这段是简单的递归程序,意思是找到三角形的三个顶点,然后计算出两点间的中点,然后在连接起来生成新的三角形
就递归循环~~直到你上一个设定的级数~
"""
results = []

def Sub(c,current):

    if current == step:
        results.append(c)
        return

    ctrlPts = rs.CurvePoints(c)

    A=ctrlPts[0]
    B=ctrlPts[1]
    C=ctrlPts[2]

    D = (A+B)/2
    E = (B+C)/2
    F = (C+A)/2

    rs.AddPolyline([C,F,E,C])
    rs.AddPolyline([B,E,D,B])
    rs.AddPolyline([D,F,A,D])

    current += 1

    Sub(rs.AddPolyline([C,F,E,C]),current)
    Sub(rs.AddPolyline([B,E,D,B]),current)
    Sub(rs.AddPolyline([D,F,A,D]),current)


#这个就是call这个程序了,c就是你在rhino里画的三角形,0就是从0级开始
Sub(c,0)

——————————————————————————————————
那个在rhino 5里输入: EditpythonScript
会调出marco编辑器,然后把上面的程序复制进去,再rhino里画好一个三角形,然后运行程序。

sierpinski.clear.gif
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

精彩回复

文明上网理性发言、请文明用语

乌龙 | 设计总监 | 发表于 2012-12-15 20:49:53
啊,天书啊。。。。
0 回复

举报

unfinal · 发表于 2012-12-15 21:21 点评

我觉得比rhinoscript舒服多了。。。

unfinal | 实习生 | 发表于 2012-12-15 21:21:43
乌龙 发表于 2012-12-15 20:49
啊,天书啊。。。。

我觉得比rhinoscript舒服多了。。。
0 回复

举报

wyx10022 | 网校特聘讲师 | 发表于 2012-12-16 10:50:10
unfinal同学很勤奋,我深感惭愧,不能用python语言交流
只能用GH版本凑个热闹了
未标题-3 拷贝.jpg
未标题-4 拷贝.jpg
0 回复

举报

unfinal · 发表于 2012-12-16 20:41 点评

赞啊 别这样讲啊王老师……我只是最近有workshop。。所以在学啊。。 gh也可以做的很不错的啊。。。 我不还在跟你努力学习gh么。。。。。

unfinal · 发表于 2012-12-16 20:41 点评

赞啊 别这样讲啊王老师……我只是最近有workshop。。所以在学啊。。 gh也可以做的很不错的啊。。。 我不还在跟你努力学习gh么。。。。。

unfinal · 发表于 2012-12-16 20:41 点评

赞啊 别这样讲啊王老师……我只是最近有workshop。。所以在学啊。。 gh也可以做的很不错的啊。。。 我不还在跟你努力学习gh么。。。。。

unfinal | 实习生 | 发表于 2012-12-16 20:41:25
wyx10022 发表于 2012-12-16 10:50
unfinal同学很勤奋,我深感惭愧,不能用python语言交流
只能用GH版本凑个热闹了

赞啊
别这样讲啊王老师……我只是最近有workshop。。所以在学啊。。
gh也可以做的很不错的啊。。。
我不还在跟你努力学习gh么。。。。。
0 回复

举报

unfinal | 实习生 | 发表于 2012-12-16 20:41:29
wyx10022 发表于 2012-12-16 10:50
unfinal同学很勤奋,我深感惭愧,不能用python语言交流
只能用GH版本凑个热闹了

赞啊
别这样讲啊王老师……我只是最近有workshop。。所以在学啊。。
gh也可以做的很不错的啊。。。
我不还在跟你努力学习gh么。。。。。
0 回复

举报

unfinal | 实习生 | 发表于 2012-12-16 20:41:37
wyx10022 发表于 2012-12-16 10:50
unfinal同学很勤奋,我深感惭愧,不能用python语言交流
只能用GH版本凑个热闹了

赞啊
别这样讲啊王老师……我只是最近有workshop。。所以在学啊。。
gh也可以做的很不错的啊。。。
我不还在跟你努力学习gh么。。。。。
0 回复

举报

unfinal | 实习生 | 发表于 2012-12-16 20:43:00
不过gh里做这种就需要hoopsnake了。。。
我至今还没整明白这hoopsnake怎么用…………
0 回复

举报

wyx10022 · 发表于 2012-12-16 21:36 点评

不太常用,用到的时候也得想半天……

wyx10022 | 网校特聘讲师 | 发表于 2012-12-16 21:36:13
unfinal 发表于 2012-12-16 20:43
不过gh里做这种就需要hoopsnake了。。。
我至今还没整明白这hoopsnake怎么用………… ...

不太常用,用到的时候也得想半天……
0 回复

举报

1123983508 | 设计助理 | 发表于 2019-8-21 08:41:31
谢谢高人的教程,后面把四边形的也做了。代码还是很简洁,很好理解。具体内容看连接https://mp.weixin.qq.com/s?__biz ... 2&lang=zh_CN#rd
0 回复

举报