home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-02-12 | 31.7 KB | 1,049 lines |
- Newsgroups: comp.sources.x
- Path: uunet!zaphod.mps.ohio-state.edu!mips!msi!dcmartin
- From: Renaldo Recuerdo <rr@sco.COM>
- Subject: v16i084: Lyapunov exponent calculator (MOTIF), Part02/02
- Message-ID: <1992Feb13.185106.9525@msi.com>
- Originator: dcmartin@fascet
- Sender: dcmartin@msi.com (David C. Martin - Moderator)
- Organization: Molecular Simulations, Inc.
- References: <csx-16i083-lyap@uunet.UU.NET>
- Date: Thu, 13 Feb 1992 18:51:06 GMT
- Approved: dcmartin@msi.com
-
- Submitted-by: Renaldo Recuerdo <rr@sco.COM>
- Posting-number: Volume 16, Issue 84
- Archive-name: lyap/part02
-
- # into a shell via "sh file" or similar. To overwrite existing files,
- # type "sh file -c".
- # The tool that generated this appeared in the comp.sources.unix newsgroup;
- # send mail to comp-sources-unix@uunet.uu.net if you want that tool.
- # If this archive is complete, you will see the following message at the end:
- # "End of archive 2 (of 2)."
- # Contents: Imakefile Lyap Makefile.ODT Makefile.OSF hls2rgb.c lyap.h
- # lyap.man params/asharpe.1 params/asharpe.2 params/asharpe.3
- # params/asharpe.4 params/asharpe.5 params/asharpe.6
- # params/asharpe.7 params/asharpe.8 params/asharpe.9
- # params/circle-12 params/circle-2 params/circle-4 params/circle-8
- # params/manray params/period-12 params/period-2 params/period-4
- # params/period-8 params/skewed-12 params/skewed-2 params/skewed-4
- # params/skewed-8
- # Wrapped by dcmartin@fascet on Fri Jan 24 08:41:37 1992
- PATH=/bin:/usr/bin:/usr/ucb ; export PATH
- if test -f 'Imakefile' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'Imakefile'\"
- else
- echo shar: Extracting \"'Imakefile'\" \(772 characters\)
- sed "s/^X//" >'Imakefile' <<'END_OF_FILE'
- X#
- X# Imakefile for lyap, by Ron Record
- X#
- X DEPLIBS = $(DEPXLIB)
- X# Uncomment the following line if you have only 16 colors
- X# COLORDEFINE = -DSIXTEEN_COLORS
- X# Uncomment the following line if your system doesn't support prototypes
- X# PROTODEFINE = -D_NO_PROTO
- X# -DMAPS includes code to support "Function forcing". See lyap.man (-F)
- X MAPDEFINE = -DMAPS
- X DEFINES = $(COLORDEFINE) $(MAPDEFINE) $(PROTODEFINE)
- X CFLAGS = -O $(DEFINES) $(CDEBUGFLAGS)
- XLOCAL_LIBRARIES = $(XMLIB) $(XTOOLLIB) $(XLIB)
- X SYS_LIBRARIES = -lm
- X INCLUDES = . -I$(TOP)/lib -I/usr/include/X11
- X SRCS = lyap.c hls2rgb.c
- X OBJS = lyap.o hls2rgb.o
- X
- XComplexProgramTarget(lyap)
- X
- XInstallProgram(lyap, /usr/games/X11)
- XInstallManPage(lyap, /usr/games/X11/doc)
- END_OF_FILE
- if test 772 -ne `wc -c <'Imakefile'`; then
- echo shar: \"'Imakefile'\" unpacked with wrong size!
- fi
- # end of 'Imakefile'
- fi
- if test -f 'Lyap' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'Lyap'\"
- else
- echo shar: Extracting \"'Lyap'\" \(1220 characters\)
- sed "s/^X//" >'Lyap' <<'END_OF_FILE'
- X!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- X! Lyap: class resource file for lyap
- X!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- X!
- XLyap*resizable: TRUE
- X! Lyap*framework*width: 450
- X! Lyap*framework*height: 350
- XLyap*background: black
- XLyap*topAttachment: ATTACH_POSITION
- XLyap*bottomAttachment: ATTACH_POSITION
- XLyap*leftAttachment: ATTACH_POSITION
- XLyap*rightAttachment: ATTACH_POSITION
- XLyap*drawing_canvas*leftPosition: 01
- XLyap*drawing_canvas*rightPosition: 99
- XLyap*drawing_canvas*topPosition: 01
- XLyap*drawing_canvas*bottomPosition: 90
- XLyap*go_button*topPosition: 91
- XLyap*go_button*bottomPosition: 99
- XLyap*go_button*leftPosition: 01
- XLyap*go_button*rightPosition: 24
- XLyap*stop_button*topPosition: 91
- XLyap*stop_button*bottomPosition: 99
- XLyap*stop_button*leftPosition: 26
- XLyap*stop_button*rightPosition: 49
- XLyap*warp_button*topPosition: 91
- XLyap*warp_button*bottomPosition: 99
- XLyap*warp_button*leftPosition: 51
- XLyap*warp_button*rightPosition: 74
- XLyap*quit_button*topPosition: 91
- XLyap*quit_button*bottomPosition: 99
- XLyap*quit_button*leftPosition: 76
- XLyap*quit_button*rightPosition: 99
- XLyap*go_button*labelString: GO
- XLyap*stop_button*labelString: STOP
- XLyap*warp_button*labelString: SPIN
- XLyap*quit_button*labelString: QUIT
- END_OF_FILE
- if test 1220 -ne `wc -c <'Lyap'`; then
- echo shar: \"'Lyap'\" unpacked with wrong size!
- fi
- # end of 'Lyap'
- fi
- if test -f 'Makefile.ODT' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'Makefile.ODT'\"
- else
- echo shar: Extracting \"'Makefile.ODT'\" \(1106 characters\)
- sed "s/^X//" >'Makefile.ODT' <<'END_OF_FILE'
- XCC = cc
- X#DEBUG = -g
- X##
- X## Compiler Defines
- X##
- XDEFINES = -DSYSV -DSOCKETCONN -DTCPCONN -DTLICONN -DLAI_TCP \
- X -DSTREAMWRITEMAX=4096 -DXSIGHT -DMOTIF -DSIXTEEN_COLORS -DMAPS
- X
- XCFLAGS = $(DEBUG) $(DEFINES)
- X##
- X## Libraries
- X## X11 X11 graphics library
- X##
- X##
- XLIBS = -lXm \
- X -lXt \
- X -lX11 \
- X -lx \
- X -lsocket \
- X -lnsl_s \
- X -lPW \
- X -lm
- X
- X
- X.o:.c
- X
- Xall: lyap lyap.doc
- X
- Xcp install: all
- X -mkdir -p $(ROOT)/usr/games/X11
- X cp lyap $(ROOT)/usr/games/X11/lyap
- X -mkdir -p $(ROOT)/usr/games/X11/doc
- X cp lyap.doc $(ROOT)/usr/games/X11/doc/lyap
- X -mkdir -p $(ROOT)/usr/games/X11/lib/lyap
- X cp params/* $(ROOT)/usr/games/X11/lib/lyap
- X -mkdir -p $(ROOT)/usr/games/X11/lib/lyap/pics
- X cp pics/* $(ROOT)/usr/games/X11/lib/lyap/pics
- X -mkdir -p $(ROOT)/usr/lib/X11/app-defaults
- X cp Lyap $(ROOT)/usr/lib/X11/app-defaults/Lyap
- X
- Xclean:
- X rm -f *.o
- X
- Xclobber: clean
- X rm -f lyap
- X
- Xlyap : lyap.o hls2rgb.o
- X $(CC) $(CFLAGS) -o $@ $@.o hls2rgb.o $(LIBS)
- X
- Xlyap.o: lyap.c hls2rgb.c lyap.h
- X
- Xlyap.doc: lyap.man
- X nroff -man lyap.man > lyap.doc
- X
- Xlyap.doc.mm: lyap.man.mm
- X nroff -cm -rN4 lyap.man.mm > lyap.doc.mm
- END_OF_FILE
- if test 1106 -ne `wc -c <'Makefile.ODT'`; then
- echo shar: \"'Makefile.ODT'\" unpacked with wrong size!
- fi
- # end of 'Makefile.ODT'
- fi
- if test -f 'Makefile.OSF' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'Makefile.OSF'\"
- else
- echo shar: Extracting \"'Makefile.OSF'\" \(971 characters\)
- sed "s/^X//" >'Makefile.OSF' <<'END_OF_FILE'
- XCC = cc
- X#DEBUG = -g
- X##
- X## Compiler Defines
- X##
- XDEFINES = -DMOTIF -DMAPS
- X
- XCFLAGS = $(DEBUG) $(DEFINES) -I/usr/include/X11
- X##
- X## Libraries
- X## X11 X11 graphics library
- X##
- X##
- XLIBS = -lXm \
- X -lXt \
- X -lX11 \
- X -lm
- X
- X.o:.c
- X
- Xall: lyap lyap.doc
- X
- Xcp install: all
- X -mkdir -p $(ROOT)/usr/games/X11
- X cp lyap $(ROOT)/usr/games/X11/lyap
- X -mkdir -p $(ROOT)/usr/games/X11/doc
- X cp lyap.doc $(ROOT)/usr/games/X11/doc/lyap
- X -mkdir -p $(ROOT)/usr/games/X11/lib/lyap
- X cp params/* $(ROOT)/usr/games/X11/lib/lyap
- X -mkdir -p $(ROOT)/usr/games/X11/lib/lyap/pics
- X cp pics/* $(ROOT)/usr/games/X11/lib/lyap/pics
- X -mkdir -p $(ROOT)/usr/lib/X11/app-defaults
- X cp Lyap $(ROOT)/usr/lib/X11/app-defaults/Lyap
- X
- Xclean:
- X rm -f *.o
- X
- Xclobber: clean
- X rm -f lyap
- X
- Xlyap : lyap.o hls2rgb.o
- X $(CC) $(CFLAGS) -o $@ $@.o hls2rgb.o $(LIBS)
- X
- Xlyap.o: lyap.c hls2rgb.c lyap.h
- X
- Xlyap.doc: lyap.man
- X nroff -man lyap.man > lyap.doc
- X
- Xlyap.doc.mm: lyap.man.mm
- X nroff -cm -rN4 lyap.man.mm > lyap.doc.mm
- END_OF_FILE
- if test 971 -ne `wc -c <'Makefile.OSF'`; then
- echo shar: \"'Makefile.OSF'\" unpacked with wrong size!
- fi
- # end of 'Makefile.OSF'
- fi
- if test -f 'hls2rgb.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'hls2rgb.c'\"
- else
- echo shar: Extracting \"'hls2rgb.c'\" \(2282 characters\)
- sed "s/^X//" >'hls2rgb.c' <<'END_OF_FILE'
- X/* From colorwheel.c which is part of color3 by Hiram Clawson (hiramc@sco.com)*/
- X
- X#include <X11/Xlib.h>
- X#include <X11/Xutil.h>
- X
- X#ifdef _NO_PROTO
- Xstatic double hue_value();
- X#else
- Xstatic double hue_value( double, double, double );
- X#endif
- X
- X/***********************************************************************
- X * NAME: hls2rgb() from foley and van dam, fundamentals of interactive ...
- X * page 619
- X *
- X * PURPOSE: Convert hls[0..3600][0..1000][0..1000] space to rgb space
- X * That is the Hue, Lightness, Saturation color model.
- X * Which is two cones, base to base, the bottom tip is black, the
- X * top tip is white, the middle (bases) around the outside is a color
- X * wheel. The axis of this solid is Lightness. Hue is the angular
- X * measure around the cones, and the saturation is the radius from the
- X * axis towards the surface of the cones.
- X ***********************************************************************/
- Xvoid hls2rgb( hue_light_sat, rgb )
- Xint hue_light_sat[3];
- Xint rgb[3]; /* Each in range [0..65535] */
- X{
- X double r, g, b, h, l, s;
- X double m1, m2;
- X
- X h = (double) hue_light_sat[0] / 10.0;
- X l = (double) hue_light_sat[1] / 1000.0;
- X s = (double) hue_light_sat[2] / 1000.0;
- X
- X if ( l < 0.5 )
- X {
- X m2 = l * ( 1.0 + s );
- X }
- X else
- X {
- X m2 = l + s - (l * s);
- X }
- X m1 = (2.0 * l) - m2;
- X if ( (s + 1.0) == 1.0 )
- X {
- X if ( (h + 1.0) < 1.0 )
- X {
- X r = g = b = l;
- X }
- X else
- X {
- X r = g = b = 0.0;
- X }
- X }
- X else
- X {
- X r = hue_value( m1, m2, h + 120.0 );
- X g = hue_value( m1, m2, h );
- X b = hue_value( m1, m2, h - 120.0 );
- X }
- X rgb[0] = 65535.0 * r;
- X rgb[1] = 65535.0 * g;
- X rgb[2] = 65535.0 * b;
- X if ( rgb[0] > 65535 )
- X rgb[0] = 65535;
- X else if ( rgb[0] < 0 )
- X rgb[0] = 0;
- X
- X if ( rgb[1] > 65535 )
- X rgb[1] = 65535;
- X else if ( rgb[1] < 0 )
- X rgb[1] = 0;
- X
- X if ( rgb[2] > 65535 )
- X rgb[2] = 65535;
- X else if ( rgb[2] < 0 )
- X rgb[2] = 0;
- X
- X return;
- X} /* end of void hls2rgb( hue_light_sat, rgb ) */
- X
- Xstatic double hue_value( n1, n2, hue )
- Xdouble n1;
- Xdouble n2;
- Xdouble hue;
- X{
- X if ( hue > 360.0 )
- X hue -= 360.0;
- X if ( hue < 0.0 )
- X hue += 360.0;
- X if ( hue < 60.0 )
- X return ( n1 + ((n2 - n1)*hue/60.0));
- X else if ( hue < 180.0 )
- X return ( n2 );
- X else if ( hue < 240.0 )
- X return ( n1 + ((n2 - n1)*(240.0 - hue)/60.0));
- X else
- X return( n1 );
- X} /* end of double hue_value( n1, n2, hue ) */
- END_OF_FILE
- if test 2282 -ne `wc -c <'hls2rgb.c'`; then
- echo shar: \"'hls2rgb.c'\" unpacked with wrong size!
- fi
- # end of 'hls2rgb.c'
- fi
- if test -f 'lyap.h' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'lyap.h'\"
- else
- echo shar: Extracting \"'lyap.h'\" \(3712 characters\)
- sed "s/^X//" >'lyap.h' <<'END_OF_FILE'
- X/*
- X * @(#) lyap.h
- X */
- X/*
- X * Written by Ron Record (rr@sco.com) 03 Sep 1991.
- X */
- X
- X#include "patchlevel.h"
- X#include <assert.h>
- X#include <memory.h>
- X#include <stdio.h>
- X#include <values.h>
- X#include <X11/Xlib.h>
- X#include <X11/StringDefs.h>
- X#include <X11/Intrinsic.h>
- X#include <X11/keysym.h>
- X#include <X11/cursorfont.h>
- X#include <Xm/Xm.h>
- X#include <Xm/Form.h>
- X#include <Xm/PushB.h>
- X#include <Xm/DrawingA.h>
- X#include <Xm/ToggleB.h>
- X#include <X11/Xutil.h>
- X#include <X11/Xatom.h>
- X
- X#define ABS(a) (((a)<0) ? (0-(a)) : (a) )
- X#define Min(x,y) ((x < y)?x:y)
- X#define Max(x,y) ((x > y)?x:y)
- X#define MAXCOLOR 256
- X#define MAXPOINTS 256
- X
- Xint NoShowButtons = 1;
- Xint bottom;
- XScreen* screen;
- XDisplay* dpy;
- Xchar* displayname = 0;
- X
- Xextern double log();
- Xextern double fabs();
- Xextern long time();
- Xextern int optind;
- Xextern char *optarg;
- X
- XWidget toplevel, framework, canvas, button[4];
- XXtWorkProcId work_proc_id = (XtWorkProcId) NULL;
- X
- XXtEventHandler Getkey();
- Xvoid resize();
- Xvoid redisplay();
- Xvoid quit();
- Xvoid Spin();
- Xvoid start_iterate();
- Xvoid stop_iterate();
- Xvoid show_defaults();
- Xvoid StartRubberBand();
- Xvoid TrackRubberBand();
- Xvoid EndRubberBand();
- XBoolean complyap();
- Xvoid CreateXorGC();
- Xvoid InitBuffer();
- Xvoid BufferPoint();
- Xvoid FlushBuffer();
- X
- Xtypedef struct {
- X int x, y;
- X} xy_t;
- X
- Xtypedef struct {
- X int start_x, start_y;
- X int last_x, last_y;
- X } rubber_band_data_t;
- X
- Xtypedef struct {
- X Cursor band_cursor;
- X double p_min, p_max, q_min, q_max;
- X rubber_band_data_t rubber_band;
- X } image_data_t;
- X
- Xtypedef struct points_t {
- X XPoint data[MAXCOLOR][MAXPOINTS];
- X int npoints[MAXCOLOR];
- X } points_t;
- X
- Xpoints_t Points;
- Ximage_data_t rubber_data;
- X
- X#ifdef SIXTEEN_COLORS
- X#define STARTCOLOR 0
- Xint color_offset=1;
- Xint mincolindex=1;
- X#else
- X#define STARTCOLOR 17
- Xint color_offset=96;
- Xint mincolindex=33;
- X#endif
- X
- XGC Data_GC[MAXCOLOR], RubberGC;
- X
- Xextern char *malloc();
- X
- X#define MAXINDEX 64
- X#define FUNCMAXINDEX 16
- X#define MAXWHEELS 7
- X#define NUMMAPS 5
- X
- Xtypedef double (*PFD)();
- X
- Xdouble logistic(), circle(), leftlog(), rightlog(), doublelog();
- Xdouble dlogistic(), dcircle(), dleftlog(), drightlog(), ddoublelog();
- XPFD map, deriv;
- XPFD Maps[NUMMAPS] = { logistic, circle, leftlog, rightlog, doublelog };
- XPFD Derivs[NUMMAPS] = { dlogistic, dcircle, dleftlog, drightlog, ddoublelog };
- X
- Xint aflag=0, bflag=0, wflag=0, hflag=0;
- Xdouble pmins[NUMMAPS] = { 2.0, 0.0, 0.0, 0.0, 0.0 };
- Xdouble pmaxs[NUMMAPS] = { 4.0, 1.0, 6.75, 6.75, 16.0 };
- Xdouble amins[NUMMAPS] = { 2.0, 0.0, 0.0, 0.0, 0.0 };
- Xdouble aranges[NUMMAPS] = { 4.0, 1.0, 6.75, 6.75, 16.0 };
- Xdouble bmins[NUMMAPS] = { 2.0, 0.0, 0.0, 0.0, 0.0 };
- Xdouble branges[NUMMAPS] = { 4.0, 1.0, 6.75, 6.75, 16.0 };
- X
- Xint forcing[MAXINDEX] = { 0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,
- X 0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,
- X 0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1 };
- Xint Forcing[FUNCMAXINDEX] = { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 };
- X
- Xint maxindex = MAXINDEX;
- Xint funcmaxindex = FUNCMAXINDEX;
- Xdouble min_a=2.0, min_b=2.0, a_range=2.0, b_range=2.0, minlyap=1.0;
- Xdouble max_a=4.0, max_b=4.0;
- Xdouble o_min_a, o_min_b, o_max_a, o_max_b;
- Xdouble orig_min_a, orig_min_b, orig_max_a, orig_max_b;
- Xdouble start_x=0.05, lyapunov, a_inc, b_inc, invlog2, a, b;
- Xint dwell=400, settle=200;
- Xint width=256, height=256;
- Xint numcolors=16, numfreecols, displayplanes, lowrange;
- Xxy_t point, velocity;
- XPixmap pixmap;
- XColormap cmap;
- XXColor Colors[MAXCOLOR];
- Xdouble *exponents, *o_exponents, *i_exponents;
- Xint expind=0, o_expind=0, i_expind=0;
- Xint numwheels=MAXWHEELS, force=0, Force=0, negative=1;
- Xint rgb_max=65000, nostart=1, first=1, stripe_interval=7;
- Xint save=1, show=0, useprod=1, spinlength=256, savefile=0;
- Xchar *outname="lyap.out";
- END_OF_FILE
- if test 3712 -ne `wc -c <'lyap.h'`; then
- echo shar: \"'lyap.h'\" unpacked with wrong size!
- fi
- # end of 'lyap.h'
- fi
- if test -f 'lyap.man' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'lyap.man'\"
- else
- echo shar: Extracting \"'lyap.man'\" \(6220 characters\)
- sed "s/^X//" >'lyap.man' <<'END_OF_FILE'
- X.TH LYAP 6X
- X.SH NAME
- Xlyap \- display an array of Lyapunov exponents graphically
- X.SH SYNOPSIS
- X.in +8n
- X.ti -8n
- X\fIlyap\fR
- X[-BLps][-W width][-H height][-o filename][-a
- X\fIn\fR ]
- X[-b
- X\fIn\fR ]
- X[-w
- X\fIn\fR ]
- X[-h
- X\fIn\fR ]
- X[-x xstart]
- X[-M
- X\fIn\fR ]
- X[-S
- X\fIn\fR ]
- X[-D
- X\fIn\fR ]
- X[-F string][-f string][-r
- X\fIn\fR ]
- X[-O
- X\fIn\fR ]
- X[-C
- X\fIn\fR ]
- X[-c
- X\fIn\fR ]
- X[-m
- X\fIn\fR ]
- X.in -8n
- X.SH DESCRIPTION
- X\fIlyap\fR
- Xgenerates and graphically displays an array of Lyapunov exponents for a
- Xvariety of iterated periodically forced non-linear maps of the unit interval.
- X.SH OPTIONS
- X.TP 8
- X-C \fIn\fP
- XSpecifies the minimum color index to be used for negative exponents
- X.TP
- X-D \fIn\fP
- XSpecifies the "dwell" or number of iterations over which to average in order
- Xto calculate the Lyapunov exponent. Default is 400.
- X.TP
- X-B
- XCauses the stop, go, spin and quit buttons to be displayed.
- X.TP
- X-H \fIn\fP
- XSpecifies the height of the window. Default is 256.
- X.TP
- X-L
- XIndicates use log(x) + log(y) rather than log(xy).
- X.TP
- X-M \fIr\fP
- XSpecifies the real value to compare exponent values to for indexing into
- Xa color wheel. The default value is 1.0.
- X.TP
- X-O \fIn\fP
- XSpecifies the minimum color index to be used for positive exponents
- X.TP
- X-S \fIn\fP
- XSpecifies the "settle" or number of iterations prior to the beginning of
- Xthe calculation of the Lyapunov exponent. Default is 200.
- X.TP
- X-W \fIn\fP
- XSpecifies the width of the window. Default is 256.
- X.TP
- X-a \fIr\fP
- XSpecifies the real value to use as the minimum parameter value of the
- Xhorizontal axis. Default is 3.0 for the logistic map.
- X.TP
- X-b \fIn\fP
- XSpecifies the real value to use as the minimum parameter value of the
- Xvertical axis. Default is 3.0 for the logistic map.
- X.TP
- X-c \fIn\fP
- XSelects one of six different color wheels to use. The default color
- Xwheel is a rainbow palette.
- X.TP
- X-F \fI10101010\fP
- XSpecifies the "Function" forcing function to use. The example above would
- Xalternate between iterating the circle and logistic maps. An argument of
- X"-F 2323" would alternate between left and right logistic maps. The default
- Xis to only use the single specified map (see the description of -m).
- X.TP
- X-f \fIabbabaab\fP
- XSpecifies the forcing function to use. The default is to alternate between
- Xthe "a" parameter and the "b" parameter.
- X.TP
- X-h \fIr\fP
- XSpecifies the real value to be used as the range over which the vertical
- Xparameter values vary. The default is 1.0.
- X.TP
- X-m \fIn\fP
- XSelects between available non-linear maps of the unit interval. A value of
- X0 specifies the logistic map. A value of 1, the circle map. A value of 2,
- Xthe left-logistic. A value of 3, the right-logistic. A value of 4, the
- Xdouble-logistic. The default is 0, the logistic map.
- X.TP
- X-o \fIfilename\fP
- XSpecifies the output filename to be used. If the -o option is given, this
- Xfile will automatically be written out at the completion of the drawing.
- XIf it is not specified, a default filename of lyap.out is used and only
- Xwritten if the 'f' or 'F' keys are pressed during a run. The format of the
- Xoutput file is PPM for color and PGM for monochrom. The parameters used to
- Xcalculate the picture are included as comments at the beginning of the output
- Xfile.
- X.TP
- X-p
- XSwitches color indices for negative and positive exponents. Generally,
- Xcauses negative exponents to be displayed in more detail while darkening
- Xand narrowing the color range for positive exponents. This can be toggled
- Xduring runtime by pressing the 'p' key.
- X.TP
- X-r \fIn\fP
- XSpecifies the maximum rgb value to be used. Default is 35000.
- X.TP
- X-s \fIn\fP
- XSpecifies the length of the color wheel spin.
- X.TP
- X-u
- XProduces a usage message.
- X.TP
- X-v
- XPrints out the various values to be used and exits.
- X.TP
- X-w \fIr\fP
- XSpecifies the real value to be used as the range over which the horizontal
- Xparameter values vary. The default is 1.0.
- X.TP
- X-x \fIr\fP
- XSpecifies the real value of the initial condition to use. Default is 0.05.
- X.sp 2
- X.SH NOTES
- X.sp
- XDuring display, pressing any mouse button allows you to select the area to
- Xbe investigated with the mouse. The upper left hand corner of the desired
- Xarea is the location of the cursor when the button is pressed. The lower
- Xright hand corner is specified by the cursor when the button is released.
- X.sp 2
- XUse of the keys
- X\fIbBeEfFkKjJmnrRsSwWxXqQ\fP
- Xindicates:
- X.sp
- X.ti 10
- X(<) Halve dwell value.
- X.ti 10
- X(>) Double dwell value.
- X.ti 10
- X([) Halve settle value.
- X.ti 10
- X(]) Double settle value.
- X.ti 10
- X(B or b) Toggle button display on/off
- X.ti 10
- X(E or e) Recalculate the indices into the color wheel using a different method
- X.ti 10
- X(F or f) Save current screen to ouput file (not yet implemented)
- X.ti 10
- X(i) Decrement the interval between stripes for the striped color map.
- X.ti 10
- X(I) Increment the interval between stripes for the striped color map.
- X.ti 10
- X(K or k) Decrease value exponents are compared against by 0.05.
- X.ti 10
- X(J or j) Increase value exponents are compared against by 0.05.
- X.ti 10
- X(m) Decrease value exponents are compared against by 0.005.
- X.ti 10
- X(n) Increase value exponents are compared against by 0.005.
- X.ti 10
- X(P or p) Toggle positive/negative exponent display.
- X.ti 10
- X(r) Redraw the window using previously calculated exponents.
- X.ti 10
- X(R) Redraw the window using the newly set dwell and/or settle values.
- X.ti 10
- X(S) Spin the color wheel
- X.ti 10
- X(s) Halve the length of the spin and spin the color wheel
- X.ti 10
- X(u) Go up to the window just prior to the most recent zoom.
- X.ti 10
- X(U) Go all the way up to the original window.
- X.ti 10
- X(W or w) Use next color map.
- X.ti 10
- X(X or x) Clear window
- X.ti 10
- X(Q or q) quit
- X.sp 2
- X.SH AUTHOR
- X.nf
- X Ronald Joe Record
- X The Santa Cruz Operation
- X P.O. Box 1900
- X Santa Cruz, CA 95061
- X rr@sco.com
- X.fi
- X.sp 2
- X.SH ACKNOWLEDGEMENTS
- X.PP
- XThe algorithm was taken from the September 1991 Scientific American article
- Xby A. K. Dewdney who gives credit to Mario Markus of the Max Planck Institute
- Xfor its creation. Additional information and ideas were gleaned from the
- Xdiscussion on alt.fractals involving Stephen Hall, Ed Kubaitis, Dave Platt
- Xand Baback Moghaddam. Assistance with colormaps and spinning color wheels
- Xand X was gleaned from Hiram Clawson. Rubber banding code was adapted from
- Xan existing Mandelbrot program written by Stacey Campbell.
- END_OF_FILE
- if test 6220 -ne `wc -c <'lyap.man'`; then
- echo shar: \"'lyap.man'\" unpacked with wrong size!
- fi
- # end of 'lyap.man'
- fi
- if test -f 'params/asharpe.1' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'params/asharpe.1'\"
- else
- echo shar: Extracting \"'params/asharpe.1'\" \(91 characters\)
- sed "s/^X//" >'params/asharpe.1' <<'END_OF_FILE'
- X/usr/games/X11/lyap -a3.75 -b3.299999 -w0.05 -h0.05 -D200 -S100 -fabaabbaaabbb -H480 -W640
- END_OF_FILE
- if test 91 -ne `wc -c <'params/asharpe.1'`; then
- echo shar: \"'params/asharpe.1'\" unpacked with wrong size!
- fi
- chmod +x 'params/asharpe.1'
- # end of 'params/asharpe.1'
- fi
- if test -f 'params/asharpe.2' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'params/asharpe.2'\"
- else
- echo shar: Extracting \"'params/asharpe.2'\" \(57 characters\)
- sed "s/^X//" >'params/asharpe.2' <<'END_OF_FILE'
- X/usr/games/X11/lyap -a3.8 -b3.2 -h.05 -w.05 -fbbbbbaaaaa
- END_OF_FILE
- if test 57 -ne `wc -c <'params/asharpe.2'`; then
- echo shar: \"'params/asharpe.2'\" unpacked with wrong size!
- fi
- chmod +x 'params/asharpe.2'
- # end of 'params/asharpe.2'
- fi
- if test -f 'params/asharpe.3' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'params/asharpe.3'\"
- else
- echo shar: Extracting \"'params/asharpe.3'\" \(86 characters\)
- sed "s/^X//" >'params/asharpe.3' <<'END_OF_FILE'
- X/usr/games/X11/lyap -a 3.4 -b 3.04 -w .5 -h .5 -f abbbbbbbbb -W640 -H480 -S500 -D1000
- END_OF_FILE
- if test 86 -ne `wc -c <'params/asharpe.3'`; then
- echo shar: \"'params/asharpe.3'\" unpacked with wrong size!
- fi
- chmod +x 'params/asharpe.3'
- # end of 'params/asharpe.3'
- fi
- if test -f 'params/asharpe.4' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'params/asharpe.4'\"
- else
- echo shar: Extracting \"'params/asharpe.4'\" \(79 characters\)
- sed "s/^X//" >'params/asharpe.4' <<'END_OF_FILE'
- X/usr/games/X11/lyap -a3.5 -b3.0 -w0.2 -h0.2 -D600 -S300 -faaabbbab -H480 -W640
- END_OF_FILE
- if test 79 -ne `wc -c <'params/asharpe.4'`; then
- echo shar: \"'params/asharpe.4'\" unpacked with wrong size!
- fi
- chmod +x 'params/asharpe.4'
- # end of 'params/asharpe.4'
- fi
- if test -f 'params/asharpe.5' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'params/asharpe.5'\"
- else
- echo shar: Extracting \"'params/asharpe.5'\" \(73 characters\)
- sed "s/^X//" >'params/asharpe.5' <<'END_OF_FILE'
- X/usr/games/X11/lyap -a3.55667 -b3.2 -h.05 -w.05 -fbbbbbaaaaa -H480 -W640
- END_OF_FILE
- if test 73 -ne `wc -c <'params/asharpe.5'`; then
- echo shar: \"'params/asharpe.5'\" unpacked with wrong size!
- fi
- chmod +x 'params/asharpe.5'
- # end of 'params/asharpe.5'
- fi
- if test -f 'params/asharpe.6' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'params/asharpe.6'\"
- else
- echo shar: Extracting \"'params/asharpe.6'\" \(77 characters\)
- sed "s/^X//" >'params/asharpe.6' <<'END_OF_FILE'
- X/usr/games/X11/lyap -a3.79 -b3.22 -h.02999 -w.02999 -fbbbbbaaaaa -H480 -W640
- END_OF_FILE
- if test 77 -ne `wc -c <'params/asharpe.6'`; then
- echo shar: \"'params/asharpe.6'\" unpacked with wrong size!
- fi
- chmod +x 'params/asharpe.6'
- # end of 'params/asharpe.6'
- fi
- if test -f 'params/asharpe.7' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'params/asharpe.7'\"
- else
- echo shar: Extracting \"'params/asharpe.7'\" \(91 characters\)
- sed "s/^X//" >'params/asharpe.7' <<'END_OF_FILE'
- X/usr/games/X11/lyap -a3.7999 -b3.299999 -w0.2 -h0.2 -D300 -S150 -fabaabbaaabbb -H480 -W640
- END_OF_FILE
- if test 91 -ne `wc -c <'params/asharpe.7'`; then
- echo shar: \"'params/asharpe.7'\" unpacked with wrong size!
- fi
- chmod +x 'params/asharpe.7'
- # end of 'params/asharpe.7'
- fi
- if test -f 'params/asharpe.8' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'params/asharpe.8'\"
- else
- echo shar: Extracting \"'params/asharpe.8'\" \(88 characters\)
- sed "s/^X//" >'params/asharpe.8' <<'END_OF_FILE'
- X/usr/games/X11/lyap -a3.89 -b3.22 -h.028 -w.02999 -fbbbbbaaaaa -S600 -D1000 -H480 -W640
- END_OF_FILE
- if test 88 -ne `wc -c <'params/asharpe.8'`; then
- echo shar: \"'params/asharpe.8'\" unpacked with wrong size!
- fi
- chmod +x 'params/asharpe.8'
- # end of 'params/asharpe.8'
- fi
- if test -f 'params/asharpe.9' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'params/asharpe.9'\"
- else
- echo shar: Extracting \"'params/asharpe.9'\" \(87 characters\)
- sed "s/^X//" >'params/asharpe.9' <<'END_OF_FILE'
- X/usr/games/X11/lyap -a3.2 -b3.7 -w0.05 -h.005 -f abbbbaa -H700 -W800 -o asharpe9.out &
- END_OF_FILE
- if test 87 -ne `wc -c <'params/asharpe.9'`; then
- echo shar: \"'params/asharpe.9'\" unpacked with wrong size!
- fi
- chmod +x 'params/asharpe.9'
- # end of 'params/asharpe.9'
- fi
- if test -f 'params/circle-12' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'params/circle-12'\"
- else
- echo shar: Extracting \"'params/circle-12'\" \(81 characters\)
- sed "s/^X//" >'params/circle-12' <<'END_OF_FILE'
- X
- X/usr/games/X11/lyap -f aaaaaabbbbbb -m 1 -D 400 -S 200 -W 256 -H 256 -M -0.85 &
- END_OF_FILE
- if test 81 -ne `wc -c <'params/circle-12'`; then
- echo shar: \"'params/circle-12'\" unpacked with wrong size!
- fi
- chmod +x 'params/circle-12'
- # end of 'params/circle-12'
- fi
- if test -f 'params/circle-2' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'params/circle-2'\"
- else
- echo shar: Extracting \"'params/circle-2'\" \(65 characters\)
- sed "s/^X//" >'params/circle-2' <<'END_OF_FILE'
- X
- X/usr/games/X11/lyap -m 1 -D 400 -S 200 -W 256 -H 256 -M -0.85 &
- END_OF_FILE
- if test 65 -ne `wc -c <'params/circle-2'`; then
- echo shar: \"'params/circle-2'\" unpacked with wrong size!
- fi
- chmod +x 'params/circle-2'
- # end of 'params/circle-2'
- fi
- if test -f 'params/circle-4' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'params/circle-4'\"
- else
- echo shar: Extracting \"'params/circle-4'\" \(73 characters\)
- sed "s/^X//" >'params/circle-4' <<'END_OF_FILE'
- X
- X/usr/games/X11/lyap -f abbb -m 1 -D 400 -S 200 -W 256 -H 256 -M -0.85 &
- END_OF_FILE
- if test 73 -ne `wc -c <'params/circle-4'`; then
- echo shar: \"'params/circle-4'\" unpacked with wrong size!
- fi
- chmod +x 'params/circle-4'
- # end of 'params/circle-4'
- fi
- if test -f 'params/circle-8' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'params/circle-8'\"
- else
- echo shar: Extracting \"'params/circle-8'\" \(77 characters\)
- sed "s/^X//" >'params/circle-8' <<'END_OF_FILE'
- X
- X/usr/games/X11/lyap -f abbabaab -m 1 -D 400 -S 200 -W 256 -H 256 -M -0.85 &
- END_OF_FILE
- if test 77 -ne `wc -c <'params/circle-8'`; then
- echo shar: \"'params/circle-8'\" unpacked with wrong size!
- fi
- chmod +x 'params/circle-8'
- # end of 'params/circle-8'
- fi
- if test -f 'params/manray' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'params/manray'\"
- else
- echo shar: Extracting \"'params/manray'\" \(119 characters\)
- sed "s/^X//" >'params/manray' <<'END_OF_FILE'
- X/usr/games/X11/lyap -f abbabaab -D 800 -S 200 -W 400 -H 350 -M -0.85 -x 0.05 -a 3.91 -w 0.0899999999 -b 3.28 -h 0.35 &
- END_OF_FILE
- if test 119 -ne `wc -c <'params/manray'`; then
- echo shar: \"'params/manray'\" unpacked with wrong size!
- fi
- chmod +x 'params/manray'
- # end of 'params/manray'
- fi
- if test -f 'params/period-12' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'params/period-12'\"
- else
- echo shar: Extracting \"'params/period-12'\" \(76 characters\)
- sed "s/^X//" >'params/period-12' <<'END_OF_FILE'
- X
- X/usr/games/X11/lyap -f aaaaaabbbbbb -D 400 -S 200 -W 256 -H 256 -M -0.85 &
- END_OF_FILE
- if test 76 -ne `wc -c <'params/period-12'`; then
- echo shar: \"'params/period-12'\" unpacked with wrong size!
- fi
- chmod +x 'params/period-12'
- # end of 'params/period-12'
- fi
- if test -f 'params/period-2' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'params/period-2'\"
- else
- echo shar: Extracting \"'params/period-2'\" \(60 characters\)
- sed "s/^X//" >'params/period-2' <<'END_OF_FILE'
- X
- X/usr/games/X11/lyap -D 400 -S 200 -W 256 -H 256 -M -0.85 &
- END_OF_FILE
- if test 60 -ne `wc -c <'params/period-2'`; then
- echo shar: \"'params/period-2'\" unpacked with wrong size!
- fi
- chmod +x 'params/period-2'
- # end of 'params/period-2'
- fi
- if test -f 'params/period-4' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'params/period-4'\"
- else
- echo shar: Extracting \"'params/period-4'\" \(68 characters\)
- sed "s/^X//" >'params/period-4' <<'END_OF_FILE'
- X
- X/usr/games/X11/lyap -f abbb -D 400 -S 200 -W 256 -H 256 -M -0.85 &
- END_OF_FILE
- if test 68 -ne `wc -c <'params/period-4'`; then
- echo shar: \"'params/period-4'\" unpacked with wrong size!
- fi
- chmod +x 'params/period-4'
- # end of 'params/period-4'
- fi
- if test -f 'params/period-8' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'params/period-8'\"
- else
- echo shar: Extracting \"'params/period-8'\" \(72 characters\)
- sed "s/^X//" >'params/period-8' <<'END_OF_FILE'
- X
- X/usr/games/X11/lyap -f abbabaab -D 400 -S 200 -W 256 -H 256 -M -0.85 &
- END_OF_FILE
- if test 72 -ne `wc -c <'params/period-8'`; then
- echo shar: \"'params/period-8'\" unpacked with wrong size!
- fi
- chmod +x 'params/period-8'
- # end of 'params/period-8'
- fi
- if test -f 'params/skewed-12' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'params/skewed-12'\"
- else
- echo shar: Extracting \"'params/skewed-12'\" \(81 characters\)
- sed "s/^X//" >'params/skewed-12' <<'END_OF_FILE'
- X
- X/usr/games/X11/lyap -m 2 -f aaaaaabbbbbb -D 400 -S 200 -W 256 -H 256 -M -0.85 &
- END_OF_FILE
- if test 81 -ne `wc -c <'params/skewed-12'`; then
- echo shar: \"'params/skewed-12'\" unpacked with wrong size!
- fi
- chmod +x 'params/skewed-12'
- # end of 'params/skewed-12'
- fi
- if test -f 'params/skewed-2' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'params/skewed-2'\"
- else
- echo shar: Extracting \"'params/skewed-2'\" \(65 characters\)
- sed "s/^X//" >'params/skewed-2' <<'END_OF_FILE'
- X
- X/usr/games/X11/lyap -m 2 -D 400 -S 200 -W 256 -H 256 -M -0.85 &
- END_OF_FILE
- if test 65 -ne `wc -c <'params/skewed-2'`; then
- echo shar: \"'params/skewed-2'\" unpacked with wrong size!
- fi
- chmod +x 'params/skewed-2'
- # end of 'params/skewed-2'
- fi
- if test -f 'params/skewed-4' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'params/skewed-4'\"
- else
- echo shar: Extracting \"'params/skewed-4'\" \(73 characters\)
- sed "s/^X//" >'params/skewed-4' <<'END_OF_FILE'
- X
- X/usr/games/X11/lyap -m 2 -f abbb -D 400 -S 200 -W 256 -H 256 -M -0.85 &
- END_OF_FILE
- if test 73 -ne `wc -c <'params/skewed-4'`; then
- echo shar: \"'params/skewed-4'\" unpacked with wrong size!
- fi
- chmod +x 'params/skewed-4'
- # end of 'params/skewed-4'
- fi
- if test -f 'params/skewed-8' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'params/skewed-8'\"
- else
- echo shar: Extracting \"'params/skewed-8'\" \(78 characters\)
- sed "s/^X//" >'params/skewed-8' <<'END_OF_FILE'
- X
- X/usr/games/X11/lyap -m 2 -f abbabaab -D 400 -S 200 -W 256 -H 256 -M -0.85 &
- END_OF_FILE
- if test 78 -ne `wc -c <'params/skewed-8'`; then
- echo shar: \"'params/skewed-8'\" unpacked with wrong size!
- fi
- chmod +x 'params/skewed-8'
- # end of 'params/skewed-8'
- fi
- echo shar: End of archive 2 \(of 2\).
- cp /dev/null ark2isdone
- MISSING=""
- for I in 1 2 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked both archives.
- rm -f ark[1-9]isdone
- else
- echo You still need to unpack the following archives:
- echo " " ${MISSING}
- fi
- ## End of shell archive.
- exit 0
- --
- Molecular Simulations, Inc. mail: dcmartin@msi.com
- 796 N. Pastoria Avenue uucp: uunet!dcmartin
- Sunnyvale, California 94086 at&t: 408/522-9236
-