91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ghpython中koch曲線如何實現

發布時間:2021-06-26 14:07:09 來源:億速云 閱讀:170 作者:Leah 欄目:大數據

ghpython中koch曲線如何實現,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

首先以基礎多邊形為初始線,將其炸開,因為后邊要分別對每一根線進行分形操作。

經過ghpython一通操作猛如虎之后,就得到了按遞歸次數分組的分形線,最后將分形線進行join,并分別進行縮放和著色。

#雪花分形
import rhinoscriptsyntax as rs
from Grasshopper import DataTree
from Grasshopper.Kernel.Data import GH_Path
import ghpythonlib.treehelpers as gt

#函數1,定義一個對直線等分,移動等分點,連接成折線的函數
def fractal(line):
    #對直線三等分,得到四個點
    pts=rs.DivideCurve(line,3,False,True)
    #將第三個點以第二個點為中心旋轉-60°
    pt_rotate=rs.RotateObject(pts[2],pts[1],-60,None,True)
    #將旋轉后的點插入到等分點列表中索引值為2的位置
    pts.insert(2,pt_rotate)
    #根據點生成多段線,然后將多段線炸開
    pl=rs.AddPolyline(pts)
    pl_ex=rs.ExplodeCurves(pl,True)
    #返回炸開后的多段線
    return pl_ex


num=0   #設定初始計數器
lst_data=DataTree[object]()   #建立一個空的樹形數據列表
#函數2,調用函數1對直線分形,并將分形數據添加到樹形數據列表,注意路徑號的選擇
#這樣就可以將同一次調用函數2的所有分形線放置在了同一路徑下
def mul_fractal(lines):
    #全局變量,用來設置路徑號
    global num
    num+=1
    lst=[]
    #對調用函數的所有直線進行遍歷分形,并追加到列表中
    for i in lines:
        lst.extend(fractal(i))
    #將列表數據放置到樹形數據中
    lst_data.AddRange(lst,GH_Path(num))
    return lst

#函數3,主函數,用來設置分形次數
def main(lines,count):
    #如果分形次數為0 ,則直接返回原直線
    if count==0:
        return lines
    #如果分形次數為1,則作為遞歸出口,返回一次細分后的分形線
    if count==1:
        return mul_fractal(lines)
    #如果分形次數大于1,則調用主函數自身,分形次數減1,直至分形次數為1,達到遞歸出口
    #然后依次返回遞歸分形數據
    else:
        return mul_fractal(main(lines,count-1))

#調用主函數,得到分形線,將初始線添加到分形線樹形數據的第一個分支
fractal_lines=main(lines,count)
lst_data.AddRange(lines,GH_Path(0))

#根據樹形數據的分支數進行遍歷
#每一個分支的數據向上進行移動
for i in range(lst_data.BranchCount):
    rs.MoveObjects(lst_data.Branch(i),(0,0,i*height))

關于ghpython中koch曲線如何實現問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

奉化市| 惠来县| 图们市| 襄城县| 高平市| 河津市| 滦南县| 琼结县| 郑州市| 铅山县| 栾城县| 黄龙县| 阿荣旗| 嘉黎县| 凤阳县| 罗城| 舒城县| 墨脱县| 灌南县| 永寿县| 保亭| 汝州市| 宣汉县| 平安县| 平泉县| 甘孜| 佛教| 琼中| 个旧市| 富川| 广元市| 富民县| 清丰县| 桐庐县| 阿尔山市| 双江| 彭阳县| 泾川县| 建始县| 莲花县| 尚义县|