EXCEL(VBA)画树程序

看了好多Python写的画树,想看看在Excel里画个树行不行,于是乎花了点时间用VBA写了个,效果还不错,截个图给大家看看。

绿色固定配色版效果:

 

 

随机颜色版效果:

 

 附上主代码

Sub test()
'画树主程序
'作者:孙建烽 42414074@qq.com
'需要定制软件可以加V :yltxz001
'http://www.yltsoft.cn
Pi = 3.1415926
ClearSht_Shape Sheet3.Name
x = 600
y = 600
n = 11  '画树节点数
Sht_Line1 Sheet3.Name, x, y - 10, x, y + 50, 15, 0, 100, 0
drawTree x, y, n, Pi
End Sub

Sub drawTree(ByVal x As Single, ByVal y As Single, ByVal n As Integer, ByVal a As Double)
    Dim w As Single
    Dim g1 As Integer
    Pi = 3.1415926
    If n > 1 Then
        '分叉随机角度
        a1 = a + (Rnd() * Pi / 13 + Pi / 18)
        a2 = a - (Rnd() * Pi / 13 + Pi / 18)
        '分枝随机长度
        d1 = Rnd() * 50 + n * 4
        d2 = Rnd() * 50 + n * 4
        '分枝端点坐标
        x1 = x + Sin(a1) * d1
        y1 = y + Cos(a1) * d1
        x2 = x + Sin(a2) * d2
        y2 = y + Cos(a2) * d2
        w = n
        g1 = n
        Sht_Line1 Sheet3.Name, x, y, x1, y1, w, 0, 200 - g1 * 10, 0
        Sht_Line1 Sheet3.Name, x, y, x2, y2, w, 0, 200 - g1 * 10, 0
        n = n - 1
        drawTree x1, y1, n, a1
        drawTree x2, y2, n, a2
        '画花
        If n = 1 Then
            drawf Sheet3.Name, x1, y1
            drawf Sheet3.Name, x2, y2
        End If
    End If

End Sub

 我的电脑配置老古董,画11个节点就有点卡了,不知道你们能画多少个节点。

需要源程序的可以到下面下载。

https://download.youkuaiyun.com/download/gc0322/22173412?spm=1001.2014.3001.5503

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gc0322

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值