#!/usr/bin/newlisp
; lines.lsp - L.M. July 2006
(load "postscript.lsp")
; Background
(ps:goto 0 0)
(ps:fill-color 0.0 0.0 0.0)
(ps:shape '((0 792) (90 612) (90 792) (90 612)) true)
; abanico
(ps:line-color 0.4 0.4 0.4)
(ps:line-width 1.0)
(ps:angle 0)
(dotimes (i 45)
(ps:goto 0 0)
(ps:draw 1000)
(ps:turn 2))
; Bands
(ps:goto 40 792)
(ps:angle 90)
(ps:line-color 1 0 0)
(ps:fill-color 0 1 0)
(ps:shape '(
(40 10 80 5 120 0)
(40 -10 80 -5 120 0)
(40 10 80 5 120 0)
(40 -10 80 -5 120 0)
(40 10 80 5 120 0)
(40 -10 80 -5 120 0)
(40 10 80 5 120 0)
(90 20)
(90 20)
(40 10 80 5 120 0)
(40 -10 80 -5 120 0)
(40 10 80 5 120 0)
(40 -10 80 -5 120 0)
(40 10 80 5 120 0)
(40 -10 80 -5 120 0)
(40 10 80 5 120 0)
(40 -10 80 -5 120 0)
) true)
; Wall pattern
(ps:angle 0)
(ps:line-width 1.5)
(ps:line-color 0 0 1)
(dotimes (r 28)
(ps:goto 80 (* r 30))
(dotimes (i 3)
(ps:bezier 30 50 -20 50 20 0)
(ps:bezier 30 -50 -20 -50 20 0)
)
)
; Dragon
(ps:goto 350 390)
(ps:line-color 1.0 0.8 0)
(ps:angle 0)
(define (dragon sign level)
(if (= 0 level)
(ps:draw 3)
(begin
(dec level)
(ps:turn (sign 45))
(dragon - level)
(ps:turn (* -1 (sign 90)))
(dragon + level)
(ps:turn (sign 45)))))
(dragon + 13)
; Rose
(ps:goto 370 180)
(ps:line-color 1 0 0.6)
(ps:line-width 3.0)
(ps:angle 15)
(dotimes (i 12)
(ps:turn 30)
(ps:bezier -20 75 40 75 20 0))
(ps:goto 500 320)
(ps:line-color 1 0 0.0)
(ps:line-width 2.0)
(ps:angle 7.5)
(dotimes (i 18)
(ps:turn 20)
(ps:bezier -10 60 20 10 10 0))
; Signature
(ps:line-color 0.5 0.5 0.5)
(ps:goto 425 10)
(ps:angle 90)
(ps:font "Helvetica" 10)
(ps:text "made with newLISP and postscript.lsp")
(ps:render)
(exit)
syntax highlighting with newLISP and syntax.cgi