Hilbert curve: Difference between revisions
→{{header|Fōrmulæ}}: Added L-system solution
imported>Tromp |
(→{{header|Fōrmulæ}}: Added L-system solution) |
||
(3 intermediate revisions by 3 users not shown) | |||
Line 475:
=={{header|Binary Lambda Calculus}}==
As shown in https://www.ioccc.org/2012/tromp/hint.html, the
0000040 05 cb fe bc bf ee 86 cb 94 68 16 00 5c 0b fa cb
0000100 00 e0 78 01 64 45 ff e5 ff 7f ff fe 5f ff 2f c0
0000120 ee
0000140 76 69 54 68 06 01 57 f7 e1 60 5c 13 fe 80 b2 2c
0000200 08 19 1a 00 16 7f bc bc fd f6 5f 7c 0a 20 31 32
0000220 33</pre>
▲ 05 c1
(consisting of the 142 byte binary prefix https://github.com/tromp/AIT/blob/master/hilbert followed by "123") outputs the 3rd order Hilbert curve
<
| |_| | | |_| |
|_ _| |_ _|
Line 502 ⟶ 497:
|_| _| |_ |_|
_ |_ _| _
| |___| |___| |</
=={{header|BQN}}==
Line 1,407 ⟶ 1,402:
=={{header|Forth}}==
{{trans|Yabasic}}
{{works with|4tH
<syntaxhighlight lang="forth">include lib/graphics.4th
64 constant /width \
9 constant /length \ length of a line
Line 1,439 ⟶ 1,434:
color_image 255 whiteout blue \ paint blue on white
0 dup origin! \ set point of origin
0 dup /width over dup hilbert \
s" ghilbert.ppm" save_image \ save the image
</syntaxhighlight>
Line 1,473 ⟶ 1,468:
'''Solution'''
=== Recursive ===
The following defines a function that creates a graphics of the Hilbert curve of a given order and size:
Line 1,485 ⟶ 1,482:
[[File:Fōrmulæ - Hilbert curve 03.png|279px]]
=== L-system ===
There are generic functions written in Fōrmulæ to compute an L-system in the page [[L-system#Fōrmulæ | L-system]].
The program that creates a Hilbert curve is:
[[File:Fōrmulæ - L-system - Hilbert curve 01.png]]
[[File:Fōrmulæ - L-system - Hilbert curve 02.png]]
=={{header|Frink}}==
|