24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 656  |  回复: 3

wuhaiyou111

新虫 (初入文坛)

[求助] VB 分形算法实现科赫格子

自己写的,加大写A的地方也就是角度的变化不太清楚如何实现?请教高手啊!新虫,金币不多,谅解。
Const pi = 3.14159

Private Sub Form_Click()

ScaleTop = 50
ScaleLeft = 0
ScaleWidth = 100
ScaleHeight = -50
Call koch(20, 20, 80, 20, 1)
End Sub

Sub koch(ax As Single, ay As Single, bx As Single, by As Single, c As Single)

Dim cx As Single
Dim cy As Single
Dim dx As Single
Dim dy As Single
Dim ex As Single
Dim ey As Single
Dim fx As Single
Dim fy As Single
Dim l As Single
Dim alpha As Single

If (bx - ax) * (bx - ax) + (by - ay) * (by - ay) < c Then
  
  Line (ax, ay)-(bx, by)
  
  Else
  
  cx = ax + (bx - ax) / 3
  cy = ay + (by - ay) / 3
  ex = bx - (bx - ax) / 3
  ey = by - (by - ay) / 3
  l = Sqr((ex - cx) * (ex - cx) + (ey - cy) * (ey - cy))
  
  
  AA”If (ex - cx) > 0 Then
  AA”alpha = pi / 2
  AA”Else
  AA”alpha = 0 / pi
  
  AA” End If
  
  dy = cy + Sin(alpha) * l
  dx = cx + Cos(alpha) * l
  fx = ex + Cos(alpha) * l
  fy = ey + Sin(alpha) * l
  
  Call koch(ax, ay, cx, cy, c)
  Call koch(cx, cy, ex, ey, c)
  Call koch(ex, ey, bx, by, c)
  Call koch(cx, cy, dx, dy, c)
  Call koch(dx, dy, fx, fy, c)
  Call koch(fx, fy, ex, ey, c)
  
  End If
  
  
End Sub

0C99Z%H8}531TL`$N)FUAA6.jpg
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wuhaiyou111

新虫 (初入文坛)

图片是文章中的。截图,这个科赫格子怎么实现???
2楼2013-01-02 10:32:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wuhaiyou111

新虫 (初入文坛)

Const pi = 3.14159

Private Sub Form_Click()

ScaleTop = 50
ScaleLeft = 0
ScaleWidth = 100
ScaleHeight = -50

Call koch(5, 0, 20, 20, 80, 20, 1)
End Sub

Sub koch(n As Integer, s As Integer, ax As Single, ay As Single, bx As Single, by As Single, c As Single)

Dim cx As Single
Dim cy As Single
Dim dx As Single
Dim dy As Single
Dim ex As Single
Dim ey As Single
Dim fx As Single
Dim fy As Single
Dim l As Single
Dim alpha As Single

If n = 2 Then

  Line (ax, ay)-(bx, by)
  
  Else
  
  cx = ax + (bx - ax) / 3
  cy = ay + (by - ay) / 3
  ex = bx - (bx - ax) / 3
  ey = by - (by - ay) / 3
  l = Sqr((ex - cx) * (ex - cx) + (ey - cy) * (ey - cy))
  
  If s = 0 Then

  alpha = pi / 2

  
  ElseIf s = 1 Then
  alpha = 2 * pi
  ElseIf s = -1 Then
  alpha = pi
   
  End If
  
  dy = cy + Sin(alpha) * l
  dx = cx + Cos(alpha) * l
  fx = ex + Cos(alpha) * l
  fy = ey + Sin(alpha) * l
  
  Call koch(n - 1, 0, ax, ay, cx, cy, c)
  Call koch(n - 1, 1, cx, cy, dx, dy, c)
  Call koch(n - 1, 0, dx, dy, fx, fy, c)
  Call koch(n - 1, -1, fx, fy, ex, ey, c)
  Call koch(n - 1, 0, ex, ey, bx, by, c)
  Call koch(n - 1, 2, cx, cy, ex, ey, c)
  

  
  
  
  End If
  
  
End Sub


迭代次数为一时正确,但是大于1就有问题了
3楼2013-01-04 13:24:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wuhaiyou111

新虫 (初入文坛)

所给图形是迭代次数为3的
4楼2013-01-04 13:24:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 wuhaiyou111 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 调剂求助(生物与医药) +3 @6952 2026-04-06 3/150 2026-04-06 21:48 by Ecowxq666!
[考研] 338求调剂 +4 wxygxsaaaaa 2026-04-06 4/200 2026-04-06 17:14 by 尚水阁主
[考研] 专硕0854初试考材科基,求调剂 +6 3220548044 2026-04-06 9/450 2026-04-06 10:26 by barlinike
[考研] 求调剂,一志愿郑州大学材料与化工专硕,英二数二342分,求老师收留 +19 v12abo 2026-04-02 21/1050 2026-04-06 09:29 by 蓝云思雨
[考研] 085600,320分求调剂 +16 大馋小子 2026-04-04 17/850 2026-04-06 07:58 by MOF_Catal
[考研] 329求调剂 +17 miaodesi 2026-04-02 20/1000 2026-04-05 18:33 by 蓝云思雨
[考研] 272求调剂 +4 电气李 2026-04-05 4/200 2026-04-05 10:41 by lbsjt
[考研] 341求调剂 +3 学无止境,冲 2026-04-05 3/150 2026-04-05 09:40 by lbsjt
[考研] 材料专硕322分 +11 哈哈哈吼吼吼哈 2026-04-02 11/550 2026-04-04 23:37 by 永字号
[考研] 282电子信息0854专硕调剂 +4 202451007219 2026-04-02 6/300 2026-04-04 21:55 by laoshidan
[考研] 一志愿华北电力大学(北京),材料科学与工程学硕265,求调剂 +11 yelck 2026-04-03 12/600 2026-04-04 19:52 by dongzh2009
[考研] 333求调剂 +9 阿科逸 2026-03-31 9/450 2026-04-04 18:25 by macy2011
[论文投稿] 求文献 5+3 ys879651$ 2026-04-02 3/150 2026-04-04 17:22 by bobvan
[考研] 求调剂,一志愿南京航空航天大学 ,080500材料科学与工程学硕 +10 @taotao 2026-04-03 10/500 2026-04-04 09:01 by T可可西里T
[考研] 求材料调剂,一志愿郑州大学289分 +15 硕星赴 2026-04-03 15/750 2026-04-04 01:01 by userper
[考研] 283分材料与化工求调剂 +29 罗KAKA 2026-04-02 29/1450 2026-04-03 23:56 by userper
[考研] 一志愿武汉理工0856,初试334 +3 26考研材料 2026-04-02 3/150 2026-04-02 21:22 by dongzh2009
[考研] 农学考研求调剂 +3 dkdkxm 2026-04-01 3/150 2026-04-02 16:04 by wangjagri
[考研] 272求调剂,接受跨专业调剂! +4 闲鱼卢 2026-03-31 4/200 2026-04-02 11:18 by guyan1000
[考研] 0805求调剂 +8 是水分 2026-03-31 8/400 2026-04-02 10:46 by guanxin1001
信息提示
请填处理意见