[dei.comp.hp28] mandelbrot faster

ares@alessia.dei.unipd.it (Nicola Catacchio 259126) (05/20/91)

	New version of mandgen posted on this group last autumn:thanks to
the author of the original one, but I'm sorry for not remembering his name.
 	I've speeded up the previous version by eliminating all the memory
operations (STO, STO+, etc.) and substituting them whith stack operations.
	I've modified also the quality of dithering, I didn't like the old
one; I kept the SAVE and LOAD routines that are like the original ones.
	To draw a view of the mandelbrot set, first set the coordinates
the same way you would do to plot a graphic: use PMIN and PMAX in the CST
menu to define lower left and upper right corners, or XRNG and YRNG in the
PLOTR menu: then [PLOT] {PLOTR} {DRAW} (the same to plot functions.).
	This is fast enough to plot a screen with mandelbrot set in 4 hours
(more or less) and enter in GRAPH mode.
	Exiting  with [ON], select the {SAVE} program from CST menu; this
will prompt for a name (warning! it rewrites already defined names) and
store in a list the PICT with your drawing and its ccordinates.
	To recover it, losing the old PICT, use {LOAD}.
	DON'T change the PTYPE or the INDEP / DEPN variables, otherwise
an error may not be detected by the DRAW command.

|------------------------------------------------------------------------------|
|Nicola Catacchio        |E-mail:  ares@alessia.unipd.it                       |
|Universita' di Padova   |mail  :  Cannaregio 4389, Venezia, Italy             |
| )/A                    |tel.# :  041/52225216                                |
|  A A                   |                                                     |
| A   A    RR   E EE   SSSS                                                    |
|AAAAAAA--R--R-E-E--E-S--------------------------------------------------------|
A       A RRR    E  E  SSSS
          R         E      S
           R        E    SS


------------------------------------CUT----------------------------------------
%%HP: T(3)A(R)F(.);
DIR
  MAND
    \<< ITER 1 - X Y
R\->C DUP
      DO DUP * OVER
+ ROT 1 - ROT ROT
      UNTIL DUP C\->R
SQ SWAP SQ + 4 > 4
PICK NOT OR
      END DROP2 2
MOD
    \>>
  SAVE
    \<< "{"
"Enter name to save as"
"" INPUT + OBJ\-> 1
GET PICT RCL PPAR 2
\->LIST SWAP STO
    \>>
  LOAD
    \<<
"Enter Picture to load"
"" INPUT OBJ\-> OBJ\->
DROP 'PPAR' STO
PICT STO { } PVIEW
33 MENU
    \>>
  ITER 30
  CST { SAVE LOAD {
"EDIT"
    \<< 33 MENU PICT
RCL \->LCD 3 FREEZE
    \>> } { "RESET"
    \<< (1.5,1) DUP
NEG PMIN PMAX 33
MENU
    \>> } ITER {
"QUIT"
    \<< 0 MENU
    \>> } }
  EQ MAND
  PPAR {
(-.369230769231,.68253968254)
(-.253846153846,.777777777778)
X 0 (100,100) TRUTH
Y }
END