surfPPC Manual I

Part I (Read Me First)
Kitchen Sink of the Surface World

Part I
toc (1)
Part II
toc (2)

Thanks for taking the time to run one of my programs.
surfPPC is a program I wrote to perform some f u n and even useful transformations of surface data. It can read a couple of important standard file types to get a surface, and then start transforming and saving new editions. I started writing it a long time ago, maybe in 1990, in PASCAL on my old mac Quadra 700. Since then it has migrated to a PowerMac 8500 and lately on a PowerMac G3. It is easy to think of almost any surface shape, then go and make one and look at it. It's written in "C" using CodeWarrior, and I love just playing around with it. I hope you do, too.
Ray tracing geometric and color transformations of imaginative surfaces
Creation of unique and intricate pattern geometries for textiles, backgrounds, and art
Enhances almost any "flat" image and gives it a three-dimensional appearance
Open any USGS or GTOPO30 Digital Elevation Map (DEM) format at full 32-bit float resolution over the full extent to obtain fully accurate surface descriptions. These maps are freely available over the internet.
Open false-color images with a colorbar to obtain height information. Very few restrictions as to size of images, given a large enough memory partition>
Projection on a plane, with a fixed overhead camera and light stand.
Projection on a sphere with a fixed overhead camera and light stand, but the sphere can be easily rotated to any viewing angle.
Isometric projection, which allows direct scaling on all three axes, with user control over projection factors.
Fast and accurate unattended rendering and contouring. Sample to any resolution and render to any size and aspect ratio within memory capacity. Render images and/or contour maps interchangeably. Easily switch between rendering styles.
Detect edits and forgeries by ray tracing and contouring. Subtle differences can be extracted from the original and the difference image amplifies any small deviations.
Delineation of fall-lines, watersheds, etc. There are several ways to navigate around and sample a surface.
Perfect for those web buttons and rollover effects. Many advanced features are especially useful on groups of images of identical size, such as those on the internet. The above animation is an example.
Scriptable for unattended batch processing.Output file names are generated automatically and are sequentially numbered.
User preferences for all editable parameters, all tools and toggle settings and even the list of files to be executed can be saved and restored. An automatic mode can record preferences whenever they are changed to provide unlimited undo capability.
Merging of colors from one image (e.g., a satellite photo) over surface description from another image (e.g., a digital elevation map) (Note: this is also "fun"!)

None required, run surfPPC off the CD if you like.
Or, go ahead, make a copy anywhere - it is very small (252K at v.197).
After version 243, and if you are a registered user your copy will include a file named surfPPCrc. This special small file must be in the same folder as surfPPC in order to enable regular non-demo operations. Deleting, renaming or modifying it will cause surfPPC to revert to demo mode.
You must have a PowerPC Macintosh©, MacOS© 7 or better, and 16 MB of free RAM.
surfPPC is a small program with minimal disk space requirements for itself. It would prefer more RAM, especially to deal with larger images. I usually use 60MB. surfPPC can deal with very large images if you can afford the memory to give to it, For a 2048 x 2048 image and when I want to do contouring which requires another bitmap the size of the image, use 60MB. To contour a 6000 x 9000 image required 150MB. You do not require any special 3D acceleration hardware, surfPPC would not be using it anyway as all rendering is done in software.
In addition, it's nice to have a web browser and modem to download DEMs, and an image editing program (or two or more) with lots of plug-ins. There is no reason not to get special freeware tools. See the list under References. It's very nice to have 3D modeling and rendering software, especially if it allows you to make a grayscale "altitude" or "distance" render.
Another of the niceties would be fonts; surfPPC lets you use them all.

Here is the initial state, empty of surfaces.
Take a few seconds to look at the screen and familiarize yourself with a few important areas.
Along the bottom are tools and toggles.
Along the top is the Menu Bar and a Status Line chattering away, showing the accummulated number of seconds and steps surfPPC has been running.
The State Dots are all red because the memory is initially empty.
The Color Gnomon shows a range from black (lowest elevation) to white (highest elevation).
The colors black and white are not fixed, just the default "User" colors, which can be changed using the Set Colors palette.
surfPPC is easy to learn and quickly you discover that keyboard equivalents of many commands are available from the Menu Bar, a tool or toggle, or keyboard equivalent. See the Keyboard Map. A great deal of time and effort has gone into keyboard commands and mapping to equivalent mouse commands, so that a no command-shift-option sequences are encountered. In most cases the command-key equivalent menu commands are supplemented with the same key without the command key. For example 'o', 'O', command-o, and command-O all do the same thing, perhaps with a slight variation, but always the unshifted, un-commanded keystroke is used for the most-likely application. It really does seem easier to use and I wish more programs were written this way.
Open a file or two, hit a few keys, and voila...
Turns This ...

... Into This

It looks like it's made of plastic. Note how sensitive the rendition, such that even small differences in input colors result in large variations in the output.
After you get an on-screen display you like, you can render and save the resulting image in several ways:
Windows BMP format
BHFF format
You can also save the surfPPC preferences and parameters environment used to create the image, and apply it to other images.
See the Tutorials for setp-by-step instructions.

These are not in any particular order. Use them according to the tools you have at hand and the output you want to produce. Some are more involved as shown by the minimum level of difficulty. For example it may involve a three- or four-step process with intermediate files in the worst case.

Tools Required (for the Tutorial)
surfPPC RAM suggested

PhotoShop© or equivalent for editing bitmaps
Bryce or Carrara©
ArtMatic or ArtMatic Pro©, PhotoShop© or GraphicConverter to convert result to BMP
5 DEMs: USGS The United States
Browser, gunzip/Expander©
6 DEMs: GTOPO30 The Earth
Browser, gunzip/tar/Expander©
any of those mentioned would be nice
Browser, gunzip/tar/Expander©

What I can do is limited by my choice of tools, and any of these mentioned programs are chock full of useful tools. It then becomes a question of my understanding the tools and becoming more adept in their application, so it's a lot of labor and a learning curve path with interesting mistakes, wrong turns, blind alleys, etc! It is just because at each intersection there are maybe 500 choices of what to do next.
Every so often things are fortuitous, usually 1 or 2 AM, and something miraculous happens, and an image looks just right, so it gets saved and maybe even printed.
Think about the tutorial steps as general guidelines but realize that something like PhotoShop is very flexible and powerful and can just as easily edit the image before, during and after its creation, as can Painter, Bryce, surfPPC and all the rest. Some of my favorite images combine techniques from two, three, or all of these tools....
Why not use the Real Grand Canyon if you just want a little erosion gulley?

Freeware and/or Shareware Applications
Stuffit© Expander generally already installed with your web browser(s).
GraphicConverter© also consider the small payment... it's well worth it.

Sources of DEMs
United States USGS Index Map
Earth GTOPO30 data

Online Mapping
jjlg ... James J Lemon Graphics (plug my own stuff)