求改正,这个随机分形树的MATLAB程序到底哪儿错了,运行错误

求改正,这个随机分形树的MATLAB程序到底哪儿错了,运行错误,第1张

代码有很多小错误,我帮你修改了下,

这埋燃饥是函数文件

function S1tree(n)

clc

S='F'a=pi/10A=pi/2z=0zA=[0,pi/2]

p1='FF+[+F+F]-[+F]'

p2='F[+F]F[-F[+F]]'

p3='FF-[-F+F+F]+[+F-F-F]'

for k=2:n

  c=rand(1)

  if c>=0.7      S=strrep(S,'F',p1)

  elseif c>=0.35 S=strrep(S,'F',p2)

  else           S=strrep(S,'F',p3)

  end

end

figure

for k=1:length(S)

  switch S(k)

      case 'F'

          plot(real(z+2*exp(i*A)),imag(z+2*exp(i*A)),'g','LineWidth',2)

          hold on

          z=z+2*exp(i*A)

      case '+'

          A=A+a

 段行     case '-'

   弯返       A=A-a

      case '['

          zA=[zA[z,A]]

      case ']'

          z=zA(end,1)

          A=zA(end,2)

          zA(end,:)=[]

      otherwise

  end

end

在主窗口中输入

S1tree(7)

画出的图如下(由于每次运行S1tree(7)代码产生随机数不一样,得到的图不一样但是类似)

分类: 电脑/网络 >>程序设计 >>其他编程语言

问题描述:

要用VB做一个《分形图形的生成》的软件,要怎么做,可以指点一下吗?现在一点头绪都没有!

解贺租盯析:

做型岩过一下,有一些经验,如果有什么不懂,在问题上补充吧~~~

1、写算法:你要生成什禅和么图像,图像计算的方程式

2、绘图:

a、设定X轴、y轴

b、根据图像公式,从左到右在窗体上描点、线!

3、编写图像保存模块

function

cycle6(px,py,r,n)

%px,py和r分别首肢昌饥迹是大圆圆心坐标和半径,n是迭代次数

%例子者扒:

%cycle6(0,0,1,4)axis

equal

t=linspace(-pi,pi)

plot(r*cos(t)+px,r*sin(t)+py)

theta=pi/3*(0:5)

newr=r/3

newpx=px+2*newr*cos(theta)

newpy=py+2*newr*sin(theta)

if

n>1

for

i=1:6

hold

oncycle6(newpx(i),newpy(i),newr,n-1)

end

end


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12438590.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存