lee50310 发表于 2022-9-1 02:07:34

<*** 好東西分享 3 可產生精美的 16種 分形樹 ***>

本帖最后由 lee50310 于 2022-9-1 02:18 编辑

介紹一款來自國外論壇可產生精美的 16種 分形樹



tree.lsp    產生 7種 執行指令:tree   後輸入號碼在螢幕點選插入點
tree2.lsp產生10種 執行指令:tree2   後輸入號碼在螢幕點選插入點


分形樹是由公式+參數值產生
此為 tree2的部分程式碼(參數部分)

;;;get tree pattern;;
(defun getpattern (/ kword pattern pattern1)
(initget "1 2 3 4 5 6 7 8 9 10")
(setq kword (getkword "\n please select the tree type: 1/2/3/4/5/6/7/8/9/10:"))
(cond
    ((= kword "1")
      (setq res (list (list 0.5 0.0 0.0 0.5 0.0 0.0 0.333)
                      (list 0.5 0.0 0.0 0.5 0.5 0.0 0.333)
                      (list 0.5 0.0 0.0 0.5 0.25 0.5 0.334)
          )
      )
    )
    ((= kword "2")
      (setq res (list (list 0.5 -0.5 0.5 0.5 0.0 0.0 0.5)
                (list 0.5 0.5 -0.5 0.5 0.5 0.5 0.5)
    )
      )
    )
    ((= kword "3")
      (setq res (list (list -0.04 0 -0.19 -0.47 -0.12 0.3 0.25)
          (list 0.65 0.0 0.0 0.56 0.06 1.56 0.25)
          (list 0.41 0.46 -0.39 0.61 0.46 0.4 0.25)
          (list 0.52 -0.35 0.25 0.74 -0.48 0.38 0.25)
    )
      )
    )
    ((= kword "4")
      (setq res (list (list 0.6 0 0 0.6 0.18 0.36 0.25)
                (list 0.6 0 0 0.6 0.18 0.120 0.25)
                      (list 0.4 0.3 -0.3 0.4 0.27 0.36 0.25)
                      (list 0.4 -0.3 0.3 0.4 0.27 0.09 0.25)
    )
      )
    )
    ((= kword "5")
      (setq res (list
      (list 0.787879 -0.424242 0.242424 0.859848 1.758647 1.408065 0.9)
      (list -0.121212 0.257576 0.05303 0.05303 -6.721654 1.377236 0.05)
      (list 0.181818 -0.136364 0.090909 0.181818 6.086107 1.568035 0.05)

    )
      )
    )
    ((= kword "6")
      (setq res (list
      (list 0.745455 -0.45901 0.406061 0.887121 1.460279 0.691072 0.912675)
      (list -0.424242 -0.065152 -0.175758 -0.218182 3.809567 6.741476 0.087325)
    )
      )
    )
    ((= kword "7")
      (setq res (list (list 0 0 0 0.25 0 -0.14 0.02)
                      (list 0.85 0.02 -0.02 0.83 0 1 0.84)
                      (list 0.09 -0.28 0.3 0.11 0 0.6 0.07)
                      (list -0.09 0.25 0.3 0.09 0 0.7 0.07)
    )
      )
    )
    ((= kword "8")
      (setq res (list (list 0.05 0 0 0.6 0 0 0.1)
                      (list 0.05 0 0 -0.5 0 1.0 0.1)
                      (list 0.46 0.32 -0.386 0.383 0 0.6 0.2)
                      (list 0.47 -0.154 0.171 0.423 0 1.0 0.2)
                      (list 0.43 0.275 -0.26 0.476 0 1.0 0.2)
                      (list 0.421 -0.357 0.354 0.307 0 0.7 0.2)
    )
      )
    )
    ((= kword "9")
      (setq res (list (list 0 0 0 0.16 0 0 0.01)
                      (list 0.85 0.04 -0.04 0.85 0 1.6 0.85)
                      (list 0.2 -0.26 0.23 0.22 0 1.6 0.07)
                      (list -0.15 0.28 0.26 0.24 0 0.44 0.07)
               )
      )
    )
    ((= kword "10")
      (setq res (list (list 0.8 0.0 0.0 -0.8 0.0 0.0 0.5)
                      (list 0.4 -0.2 0.2 0.4 1.1 0.0 0.5)
    )
      )
    )
)
res
)
;;xoutside function to entmake line



lee50310 发表于 2022-9-1 19:41:49

本帖最后由 lee50310 于 2022-9-1 19:45 编辑

rocking2008 发表于 2022-9-1 19:27
里面哪个参数是控制树木的高度的?
原創並沒有控制樹木高度及顏色的參數
完成後全選 請用 scale放大所需的大小 及 用change 指令改變物體顏色

p-3-ianlcc 发表于 2022-9-2 08:59:14

謝謝分享!
如果有多一點的樹木種類或是分類成喬木、灌木…更不錯

jkop 发表于 2023-6-2 10:43:46

景观照型偶尔会用到,但看着成品的树,很有美感,感谢分享。

guosheyang 发表于 2022-9-1 07:46:00

感谢共享资料!

LIULISHENG 发表于 2022-9-1 07:54:23

感谢作者分享

tigcat 发表于 2022-9-1 08:31:44

挺有趣的,谢谢大侠分享

czb203 发表于 2022-9-1 08:36:03


感谢作者分享

tigcat 发表于 2022-9-1 09:15:58

这是咱们论坛大侠qjchen的作品,中国人的作品!

229096767 发表于 2022-9-1 13:41:20

谢谢分享      

rocking2008 发表于 2022-9-1 19:27:58

里面哪个参数是控制树木的高度的?
页: [1] 2
查看完整版本: <*** 好東西分享 3 可產生精美的 16種 分形樹 ***>