EXCEL(VBA)画树程序

article/2025/8/21 23:19:57

看了好多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 SubSub drawTree(ByVal x As Single, ByVal y As Single, ByVal n As Integer, ByVal a As Double)Dim w As SingleDim g1 As IntegerPi = 3.1415926If n > 1 Then'分叉随机角度a1 = a + (Rnd() * Pi / 13 + Pi / 18)a2 = a - (Rnd() * Pi / 13 + Pi / 18)'分枝随机长度d1 = Rnd() * 50 + n * 4d2 = Rnd() * 50 + n * 4'分枝端点坐标x1 = x + Sin(a1) * d1y1 = y + Cos(a1) * d1x2 = x + Sin(a2) * d2y2 = y + Cos(a2) * d2w = ng1 = nSht_Line1 Sheet3.Name, x, y, x1, y1, w, 0, 200 - g1 * 10, 0Sht_Line1 Sheet3.Name, x, y, x2, y2, w, 0, 200 - g1 * 10, 0n = n - 1drawTree x1, y1, n, a1drawTree x2, y2, n, a2'画花If n = 1 Thendrawf Sheet3.Name, x1, y1drawf Sheet3.Name, x2, y2End IfEnd IfEnd Sub

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

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

https://download.csdn.net/download/gc0322/22173412?spm=1001.2014.3001.5503


http://chatgpt.dhexx.cn/article/5W0N0NwG.shtml

相关文章

Java 树形结构数据生成导出excel文件

效果 用法 String jsonStr "{\"name\":\"aaa\",\"children\":[{\"name\":\"bbb\",\"children\":[{\"name\":\"eee\"},{\"name\":\"fff\",\"children\"…

python 根据树型结构生成指定格式的excel数据

数据 tree {a: {a1: [(a1a, 1)],a2: [(a2a, 1),(a2b, 2),]},b: {b1: [(b1b, 1)],b2: [(b2b, 1)]} }excel 数据格式 代码实现 import xlrd from xlutils.copy import copyold_excel xlrd.open_workbook(1.xls) new_excel copy(old_excel) ws new_excel.get_sheet(0)def wr…

人工智能-高等数学之导数篇

高等数学之导数篇 线性代数的学习基本就先告一个段落了,接着学最重要的微积分,高等数学里的重中之重,也是近代科学的发展利器,微积分主要包括包括极限、微分学、积分学及其应用,而微分学包括求导数的运算,…

机器学习之数学基础 一 .导数

简单的说,导数是曲线的斜率,是曲线变化快慢的反应. 2阶导数是斜率变化快慢的反应,反应曲线的凸凹性 例如:加速度的方向总是指向轨迹曲线凹的一侧. 导数(Derivative)是微积分学中重要的基础概念.一个函数在某一点的导数描述了这个函数在这一点附近的变化率.导数的本质是通过极…

【数值优化之范数与导数】

本文参考书籍《最优化计算方法》 这一部分会介绍一些最优化需要用到的基本数学概念。 目录 1 范数 1.1 向量范数 1.2 矩阵范数 1.3 矩阵内积 2 导数 2.1 梯度与海瑟矩阵 2.2 矩阵变量函数的导数 1 范数 1.1 向量范数 范数相当于是从向量空间到实数域的映射&#xff…

微积分——什么是导数

目录 1. “导数(derivative)”名称的由来 1.1 “derivative”的词源 1.2 “derivative”的数学意义来源 1.3 “derivative”中文翻译为“导数” 2. “导数(derivative)”的数学意义 1. “导数(derivative)”名称的由来 1.1 “derivative”的词源 作为名词,始于…

一阶导数

本文引用与百度百科。 简介 导数(英语:Derivative)是微积分学中重要的基础概念。一个函数在某一点的导数描述了这个函数在这一点附近的变化率。导数的本质是通过极限的概念对函数进行局部的线性逼近。当函数 f 的自变量在一点 x0 上产生一个…

AI笔记: 数学基础之方向导数的计算和梯度

方向导数 定理 若函数f(x,y,z)在点P(x,y,z)处可微,沿任意方向l的方向导数 ∂ f ∂ l ∂ f ∂ x c o s α ∂ f ∂ y c o s β ∂ f ∂ z c o s γ \frac{\partial f}{\partial l} \frac{\partial f}{\partial x} cos \alpha \frac{\partial f}{\partial y} c…

图像处理之_导数微分

1. 一阶导数应用:图像的梯度 1) 用途: 在图像处理中, 常用梯度求取图像的边缘, 这是一个很基础的应用. 下图为在OpenCV中使用cvSobel()函数的具体效果. 四张图分别为: 原图, 在x方向上的梯度, y方向上的梯度, xy方向上的梯度. 2) 二元函数 这里我们只讨论二元…

如何理解微分、差分、导数

先说差分和微分 自变量x的差分就是微分 即: Δxdx 因变量y的差分是函数y的变化量 即 Δyy(xΔx)-y(x) 因变量y的微分是指函数图像在某一点处的切线在横坐标取得增量Δx以后,纵坐标取得的增量dy。 dyf(x)dx 总结: 微分是差分的线…

神经网络学习之导数

在神经网络中,有一个常用的激活函数sigmoid函数,这个函数在高等数学中应该是有的,只是当时没有理会。函数图像如下,本文主要主要梳理下相应的数学知识,具体的应用在后续的文章中会涉及。 本文涉及到数学公式&#xff…

Matlat计算符号导数

MATLAB提供用于计算符号导数的diff命令。 如下;指定t为变量,输入一个函数表达式,使用diff(f)求其导数; 再计算一个; 输入一些常用函数,查看其导数;例如sin(x)的导数是cos(x),cos(x…

R语言数值导数

文章目录 3 数值导数 3 数值导数 根据导数的定义,当函数的定义域不连续时,其不连续处显然是不存在导数的,但图形可以“欺骗”我们的眼睛。 > x seq(-1,1,0.1) > y sin(x) > y1 cos(x) > xEnd x0.1 > yEnd yy1*0.1 >…

MATLAB之怎样利用MATLAB中值差分法求一阶二阶导数

** MATLAB初学之怎么利用中值差分法求一阶二阶导数 ** 我们最近在学习MATLAB。在MATLAB中怎么求导数? MATLAB中有专门求导的函数 针对f(x)类的函数: diff(f,x) :求f关于x的导数 diff(diff(f,x),x):求f二阶导数 针对f(x,y)类的函数求偏导: diff(f,x) :求f关于x…

C语言之自然对数ln(x)的导数

设计要求:求自然对数ln(x)的导数,输入双精度实数x>1,输出自然实数ln(x)的导数(精确到小数点后2位有效数,小数点后第2位四舍五入所得)。 详细设计: lnx的导数的设计主要是利用到高等数学的导…

python实现之导数

导数(Derivative),也叫导函数值。又名微商,是微积分中的重要基础概念。当函数yf(x)的自变量x在一点x0上产生一个增量Δx时,函数输出值的增量Δy与自变量增量Δx的比值在Δx趋于0时的极限a如果存…

python实现之一阶二阶导数

函数的和、差、积、商的求导法则 uu(x),vv(x) (uv)uv (u-v)u-v (Cu)Cu (uv)uvuv (u/v)(uv-uv)/v^2 复合函数求导法则 yf(u),uφ(v) 复合函数yf[φ(v)]的导数为 dy/dxdy/du*du/dxf(u)*φ(v) (u-vz)u-vz,且(Cu)Cu exam1: y 2*x*^3 -5*x^23*x-7 y6*x^2-10x3…

《高等数学》 总结 导数、微分、不定积分

必须掌握各个概念的定义。从定义中,深入的理解概念,以及发掘概念之间的相互联系。 导数&微分 微积分有两种定义: 1、古典微积分 这是一种直观、便于理解的定义。首先定义微分是微小变化量。比如函数y=f(x)中dx是x的微小变化量,那么dy就是dx对应的y的微小变化。导数…

电脑连不上WiFi,右下角出现红叉怎么解决

我的电脑经常出现这个问题,后来解决得多了就知道方法了,是我的电脑无线网卡驱动的问题,解决办法: 1.电脑桌面单击此电脑,右键选择属性 2.选择网络适配器,一般出现问题就是因为网络适配器列表里面的一些东…