A Mandelbrot set generator in HG LISP

Liste des GroupesRevenir à cl lisp 
Sujet : A Mandelbrot set generator in HG LISP
De : ram (at) *nospam* zedat.fu-berlin.de (Stefan Ram)
Groupes : comp.lang.lisp
Date : 12. Apr 2025, 15:01:00
Autres entêtes
Organisation : Stefan Ram
Message-ID : <Mandelbrot-20250412145830@ram.dialup.fu-berlin.de>
  From my recent postings in other newsgroups: A generator for
  a Mandelbrot set image written in a LISP similar to the HG LISP
  I used in 1981 on my Pet 2001 as I remember it.

(SETQ CADD
  (LAMBDA (Z1 Z2)
    (LIST (ADD (CAR Z1) (CAR Z2))
          (ADD (CADR Z1) (CADR Z2)))))

(SETQ CMUL
  (LAMBDA (Z1 Z2)
    (LIST (SUB (MUL (CAR Z1) (CAR Z2)) (MUL (CADR Z1) (CADR Z2)))
          (ADD (MUL (CAR Z1) (CADR Z2)) (MUL (CADR Z1) (CAR Z2))))))

(SETQ CABS
  (LAMBDA (Z)
    (SQRT (ADD (MUL (CAR Z) (CAR Z))
               (MUL (CADR Z) (CADR Z))))))

(SETQ MANDELBROT
  (LAMBDA (X Y)
    (PROGN
      (SETQ C 126)
      (SETQ Z (LIST X Y))
      (SETQ A Z)
      (SETQ ITERATE
        (LAMBDA ()
          (COND ((OR (< C 32) (> (CABS Z) 2))
                 (- 126 C))
                (T
                 (PROGN
                   (SETQ TEMP-CMUL (CMUL Z Z))
                   (SETQ TEMP-CADD (CADD A TEMP-CMUL))
                   (SETQ Z TEMP-CADD)
                   (SETQ C (- C 1))
                   (ITERATE))))))
      (ITERATE))))

(SETQ GENERATE-MANDELBROT
  (LAMBDA ()
    (SETQ LOOP-Y
      (LAMBDA (Y)
        (COND ((> Y 1.1) NIL)
              (T
               (PROGN
                 (SETQ LOOP-X
                   (LAMBDA (X)
                     (COND ((> X 1) NIL)
                           (T
                            (PROGN
                              (SETQ CHAR-CODE (MANDELBROT X Y))
                              (PROGN
                                (COND ((< CHAR-CODE 50) (PRINT " "))
                                      (T (PRINT "*"))))
                              (LOOP-X (ADD X 0.04)))))))
                 (LOOP-X -2)
                 (PRINTLN)
                 (LOOP-Y (ADD Y 0.1)))))))
    (LOOP-Y -1)))

(GENERATE-MANDELBROT)



Date Sujet#  Auteur
12 Apr 25 * A Mandelbrot set generator in HG LISP7Stefan Ram
13 Apr 25 `* Re: A Mandelbrot set generator in HG LISP6Lawrence D'Oliveiro
14 Apr 25  `* Re: A Mandelbrot set generator in HG LISP5Stefan Monnier
16 Apr 25   `* Re: A Mandelbrot set generator in HG LISP4Lawrence D'Oliveiro
16 Apr 25    `* Re: A Mandelbrot set generator in HG LISP3Stefan Monnier
16 Apr 25     +- Re: A Mandelbrot set generator in HG LISP1Kaz Kylheku
16 Apr 25     `- Re: A Mandelbrot set generator in HG LISP1Lawrence D'Oliveiro

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal