希尔伯特曲线
学习方老师[url=http://www.inrm3d.cn/viewthread.php?tid=4370&extra=page%3D2][希尔伯特曲线]制作详解[/url],发现可以用一次迭代简化制作过程,在这我也学着制作一个制作详解,可能还可以进一步简化。虽然曲线制作出来了,但我仍然不明机理,搞不清gsp的多重迭代。
[attach]19991[/attach]
[b] [url=http://www.inrm3d.cn/redirect.php?goto=findpost&pid=40323&ptid=4407]14#[/url][color=Red][size=4] 增加希尔伯特曲线扫描版[/size][/color][/b]。
[b] [url=http://www.inrm3d.cn/redirect.php?goto=findpost&pid=45656&ptid=4407]61#[/url] [i]增加希尔伯特曲线的另一种扫描方法[/i] [/b] 好久不见常老师,问好。下载文件看了,不错,谢谢给我们带来的惊喜。我按里面的步骤做了一遍,收获巨大。对方老师常老师等等画板专家的无私奉献,充满敬意。
另方老师制作和一笔画龙曲线,也许也能一次性迭代办到。 柳老师好!
近一段时间有点紧,没空思考画板,可我还是时刻关注论坛的动态。 [attach]19994[/attach]
[attach]19995[/attach]
[attach]19996[/attach]
[attach]19997[/attach] 请教一下常老师,一楼的 [color=Green][希尔伯特曲线]制作详解[/color]实名联结是怎么弄的? 输入文字—选中—用插入连接[attach]20001[/attach]—输入或粘贴链接地址,或直接用下面形式:【url=http://www.inrm3d.cn/viewthread.php?tid=4370&extra=page%3D2][希尔伯特曲线]制作详解[/url】 [b] [url=http://www.inrm3d.cn/redirect.php?goto=findpost&pid=40159&ptid=4407]6#[/url] [i]changxde[/i] [/b]
懂了,谢谢。 简单连续龙曲线一次迭代制作确实不简单,原像规律性不强是难点。
[attach]20014[/attach] [attach]20018[/attach] 上楼的希尔伯特曲线制作,简单而妙。 这个封闭希尔伯特曲线如何迭代完成
[url]http://www.inrm3d.cn/viewthread.php?tid=4412&extra=page%3D5[/url][attach]20028[/attach]
[attach]20029[/attach]
[attach]20030[/attach]
[attach]20031[/attach]
HilbertCurve(BOTH) {
; By Samuel Monnier, 2.9.00 简化
init:
z = 0
int i = 0
int ttype = 0
float d = -1
loop:
final:
z = #z/2
z = abs(z) - (.5,.5)
while i < @niter
i = i + 1
if ttype == 0
if real(z) < 0 && imag(z) < 0
z = 2*z + (.5,.5)
z = -conj(z)
elseif real(z) > 0 && imag(z) < 0
z = 2*z + (-.5,.5)
z = 1i*z
elseif real(z) > 0 && imag(z) > 0
z = 2*z + (-.5,-.5)
z = 1i*conj(z)
elseif real(z) < 0 && imag(z) > 0
z = 2*z + (.5,-.5)
ttype = 1
endif
else
if real(z) < 0 && imag(z) < 0
z = 2*z + (.5,.5)
z = 1i*z
ttype = 0
elseif real(z) > 0 && imag(z) < 0
z = 2*z + (-.5,.5)
z = -1i*conj(z)
ttype = 0
elseif real(z) > 0 && imag(z) > 0
z = 2*z + (-.5,-.5)
ttype = 0
elseif real(z) < 0 && imag(z) > 0
z = 2*z + (.5,-.5)
z = -conj(z)
ttype = 0
endif
endif
endwhile
z = z + (1,1)
if ttype == 0
if abs(real(z))-1 > d
d = abs(real(z))-1
endif
if abs(imag(z))-1 > d
d = abs(imag(z))-1
endif
else
d = imag(z)-1
endif
#index = abs(d)^@power
default:
title = "Hilbert Curve"
param power
caption = "Thickness"
default = .1
endparam
param niter
caption = "Number of Iterations"
default = 3
endparam
} 多谢楼主慷慨分享好资料! 还有这个
[attach]20051[/attach]
[attach]24118[/attach] 以动态的初始元为陷阱制作了这个希尔伯特曲线的扫描算法
[attach]20100[/attach]
[attach]20101[/attach] 楼主的迭代技术精湛 [b] [url=http://www.inrm3d.cn/redirect.php?goto=findpost&pid=40192&ptid=4407]10#[/url] [i]柳烟[/i] [/b]
增加一个素材:[attach]20116[/attach] [b] [url=http://www.inrm3d.cn/redirect.php?goto=findpost&pid=40365&ptid=4407]16#[/url] [i]xuefeiyang[/i] [/b]
增加这个曲线
[attach]20117[/attach]
可以计算一下,这类“3n ” 的曲线共有 2^9 (512) 种,去掉对称情况应有 256 种。 [attach]20121[/attach][b] [url=http://www.inrm3d.cn/redirect.php?goto=findpost&pid=40367&ptid=4407]17#[/url] [i]changxde[/i] [/b] [b] [url=http://www.inrm3d.cn/redirect.php?goto=findpost&pid=40147&ptid=4407]4#[/url] [i]changxde[/i] [/b]
图二为什么会断线? [b] [url=http://www.inrm3d.cn/redirect.php?goto=findpost&pid=40378&ptid=4407]18#[/url] [i]xuefeiyang[/i] [/b]
这个万字阵好。