link to this article

mkheightmap

Examples and Interesting Programs for mkheightmap

2008-06-28

Abstract

In this article I will present some interesting hackings in Height-Slang [0] [1]. While mkheightmap is meant to be a heightmap creation tool, the creations presented in this article are not necessarily usable as such. Think of this article as a show-off of Height-Slang and mkheightmap.

Programs and Example-Outputs

edges

http://picogen.org/./gen-image/mkheightmap/images/edges.png


(^ (- 1
(abs ([2 LayeredNoise
frequency(15)
layercount(8)
persistence((* 0.4 (-1 (abs x))))
] x y)))
3)

rivers

http://picogen.org/./gen-image/mkheightmap/images/rivers.png


(- 1
(^ (- 1
(abs ([2 LayeredNoise
frequency(15)
layercount(8)
persistence((* 0.4 (-1 (abs x))))
] x y)))
3))

interesting

http://picogen.org/./gen-image/mkheightmap/images/interesting.png


(lerp (sin (* 10 x))
(sin (* 10 y))
(^ (- 1
(abs ([2 LayeredNoise
frequency(15)
layercount(8)
persistence((* 0.4 (-1 (abs x))))
] x y)))
3))

funky-noise

http://picogen.org/./gen-image/mkheightmap/images/funky-noise.png


(? (> 0.1
(+ (sin (* 30 x))
(sin (* 30 y))))
(* 0.2
(sin (* y 500)))
(^ (- 1
(abs ([2 LayeredNoise
frequency(15)
layercount(8)
persistence((* 0.4 (-1 (abs x))))
] x y)))
3))

a-bit-like-marbles

http://picogen.org/./gen-image/mkheightmap/images/a-bit-like-marbles.png

        
(sin (* 3.141
(^ (- 1
(abs ([2 LayeredNoise
frequency(15)
layercount(8)
persistence((* 0.4 (-1 (abs x))))
] x y)))
3)))

sketchy

http://picogen.org/./gen-image/mkheightmap/images/sketchy.png

    
(sin (* 20 (^ (- 1
(abs ([2 LayeredNoise
frequency(15)
layercount(8)
persistence((* 0.4 (-1 (abs x))))
] x y)))
3)))

i-can-no-more

http://picogen.org/./gen-image/mkheightmap/images/i-can-no-more.png

    
(sin (* (/ (* 100
([2 LayeredNoise frequency(10)] x y))
(^ y x))
(sqrt (+ (^ (- x 0.5) 2)
(^ (- y 0.5) 2)))))

i-can-no-more-2

http://picogen.org/./gen-image/mkheightmap/images/i-can-no-more-2.png

        
(sin (* (/ (* (^ (- 1
(abs ([2 LayeredNoise
frequency(15)
layercount(8)
persistence((* 0.4 (-1 (abs x))))
] x y)))
3)
(^ (- 1
(abs ([2 LayeredNoise
frequency(15)
layercount(8)
persistence((* 0.4 (-1 (abs x))))
] x y)))
3))
(^ y x))
(sqrt (+ (^ (- x 0.5) 2)
(^ (- y 0.5) 2)))))

weird

http://picogen.org/./gen-image/mkheightmap/images/weird.png

    
(sin (* (/ 100 (^ y x))
(sqrt (+ (^ (- x 0.5) 2)
(^ (- y 0.5) 2)))))

sincos-checkers

http://picogen.org/./gen-image/mkheightmap/images/sincos-checkers.png

    
(+ (sin (* 100 x))
(cos (* 100 y)))

another-checkers

http://picogen.org/./gen-image/mkheightmap/images/another-checkers.png

        
(sqrt (* (sin (* 20 x))
(cos (* 20 y))))

funky

http://picogen.org/./gen-image/mkheightmap/images/funky.png


(sin (* 20
(sqrt (* (sin (* 20 x))
(cos (* 20 y))))))

this-shalt-be-a-heightmap-questionmark

http://picogen.org/./gen-image/mkheightmap/images/this-shalt-be-a-heightmap-questionmark.png

        
(sin (* 20
(sqrt (+ (sin (* 20 x))
(cos (* 20 y))))))

interf-0

http://picogen.org/./gen-image/mkheightmap/images/interf-0.png

        
(+ (* 2
(+ (cos (* y x))
(sin (* x 20))))
(sin (* 200
(* x y))))

interf-1

http://picogen.org/./gen-image/mkheightmap/images/interf-1.png

        
(+ (* 2
(+ (cos (* y 40))
(sin (* x 20))))
(sin (* 200
(* x y))))

interf-2

http://picogen.org/./gen-image/mkheightmap/images/interf-2.png


(+ (* 2
(* (cos (* y 90))
(sin (* x 30))))
(sin (* 200
(* x y))))