Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site utcsri.UUCP Path: utzoo!utcsri!petera From: petera@utcsri.UUCP (Smith) Newsgroups: net.micro Subject: PC-LISP PACKAGE (article 10 of 13) Message-ID: <2651@utcsri.UUCP> Date: Sun, 27-Apr-86 14:39:59 EDT Article-I.D.: utcsri.2651 Posted: Sun Apr 27 14:39:59 1986 Date-Received: Sun, 27-Apr-86 15:25:29 EDT Distribution: net Organization: CSRI, University of Toronto Lines: 39 ;; DRAGON.L FOR PC-LISP V2.10 ;; ~~~~~~~~~~~~~~~~~~~~~~~~~~ ;; Draw an Nth order Dragon Curve requires Turtle.l routines to run. ;; Taken From Byte April 1986. Try (DragonCurve 16) then put on supper, ;; watch the news and come back in an hour and see the results. It takes ;; about 1/2 hour on my machine so on a normal IBM-PC it should take about ;; an 1.5 hours. ;; ;; Peter Ashwood-Smith. ;; April 1986 ;; ;; P.S - This dragon is nicknamed "spot" (load 'turtle) (defun Dragon(sign level) (cond ((zerop level) (TurtleForward Global_Step_Size)) (t (setq level (1- level)) (TurtleRight (times 45 sign)) (Dragon -1 level) (TurtleLeft (times 90 sign)) (Dragon 1 level) (TurtleRight (times 45 sign)) ) ) ) (defun DragonCurve (n) (setq Global_Step_Size 1) ; StepSize is global variable (TurtleGraphicsUp) (TurtleCenter) (TurtleGoTo 330 50) (TurtleRight 30) ; angle the serpent a bit (Dragon 1 n) (gc) )