24小时热门版块排行榜    

查看: 775  |  回复: 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 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 申请科研项目纯靠实力能成功吗? 200+5 David1982 2026-10-13 8/400 2026-10-14 21:38 by lhw_GPA4.0
[硕博家园] 中科院海洋所招收海洋材料相关领域博士研究生及研究助理 +3 sujiner 2026-10-08 4/200 2026-10-14 20:40 by qicaiyun
[职场人生] 40+中年人失业后,还能找到好工作吗? +3 xqy2009 2026-10-13 3/150 2026-10-14 20:17 by 43358052
[论文投稿] 二审4个多月了还是Awaiting Reviewer Scores 10+3 纳斯达克ML 2026-10-11 4/200 2026-10-14 17:30 by babero
[有机交流] OpenAI又攻克数学难题了,离AI做有机合成还有多远? +8 wangyl_123 2026-10-10 13/650 2026-10-14 15:12 by zuesli
[教师之家] 课题组会帮你通过考核么? +4 好运来~9527 2026-10-10 7/350 2026-10-13 08:41 by xli1984
[公派出国] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 9/450 2026-10-11 22:34 by XQNyDCa1Tk5n
[公派出国] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +5 qR2AdCWTVtkw 2026-10-09 10/500 2026-10-11 22:26 by XQNyDCa1Tk5n
[找工作] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 8/400 2026-10-11 22:26 by XQNyDCa1Tk5n
[考博] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 9/450 2026-10-11 22:15 by XQNyDCa1Tk5n
[考博] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 22:11 by XQNyDCa1Tk5n
[教师之家] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 (EPI+-1)(金币-50) +5 qR2AdCWTVtkw 2026-10-09 10/500 2026-10-11 22:06 by XQNyDCa1Tk5n
[教师之家] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 (EPI+-1)(金币-50) +5 qR2AdCWTVtkw 2026-10-09 10/500 2026-10-11 14:25 by VOMexwnDzOFZ
[教师之家] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 (EPI+-1)(金币-50) +4 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 14:05 by VOMexwnDzOFZ
[考研] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 8/400 2026-10-11 13:51 by VOMexwnDzOFZ
[硕博家园] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +5 qR2AdCWTVtkw 2026-10-09 8/400 2026-10-11 13:45 by VOMexwnDzOFZ
[找工作] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +4 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 10:34 by VOMexwnDzOFZ
[考博] 招收博士生一名 +3 mandolin 2026-10-10 3/150 2026-10-11 10:21 by 不是山谷!
[公派出国] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +4 qR2AdCWTVtkw 2026-10-09 4/200 2026-10-11 03:14 by M0zrYVSAnxpE
[有机交流] 我应该选哪条合成路线让实验成功率高一些? +5 jing816y 2026-10-08 9/450 2026-10-10 09:05 by zapen
信息提示
请填处理意见