Parametriske overflader
Har kodet understøttelse for parametriske overflader. Dette er overflader defineret ved en vilkårlig kontinuert funktion f(u,v) → ℝ3 hvor u,v tilhører [0,1]×[0,1]. Funktionen kan defineres i Scheme og bruges via callback. Overfladen konverteres implicit til et mesh af trekanter.
Ovenstående er Seashell overfladen defineret således i Scheme:
; Seashell parametrization
(define (seashell-func u01 v01)
(let* ((u (* u01 8 PI))
(v (* v01 2 PI))
(e6 (exp (/ u (* 6 PI))))
(e3 (exp (/ u (* 3 PI))))
(c (cos (* 0.5 v))))
(list
(* 2 (- 1 e6) (cos u) c c)
(* 2 (- e6 1) (sin u) c c)
(- 1 e3 (sin v) (* -1 e6 (sin v)))
)))
; Append surface to scene
(append! scene
(list
(make-parametrized-surface
seashell-func
100 100 #f #f
tiles-material)))