1993 19.07 1995

Vol.19 n°7 (#216) july 1994

(ddj_1994_07.jpg)

p.6 EDITORIAL

[author : Jonathan Erickson] #Edito

TABLE OF CONTENTS

FEATURES

p.18 MORPHING 3-D OBJECTS IN C++

[author : Glenn M. Lewis]

Glenn presents a C++ morphing program that simulates a "melting" effect (and its reverse) on 3-D objects. The program, which compiles and runs on UNIX machines, PCs, and the Amiga, generates objects analogous to key frames in animation sequences.

p.26 GENERATING REALISTIC TERRAIN

[author : Robert Krten]

Realistic landscapes are the bread and butter of computer graphics. Robert shares a technique he calls "fault-generation" for simulating mountains and other geological features found in nature—and it's fast!

p.32 3-D TEXTURE MAPPING

[author : Jeremy Spiller]

Texture mapping allows you to project a 2-D image, or texture map, onto a flat polygon that has been placed on a 3-D surface. Jeremy's program draws a rotating cube (the model) painted with three different texture maps.

p.40 RAY: A RAY-TRACING PROGRAM IN C++

[author : Alain Mangen]

Alain uses C++ inheritance to create RAY, a powerful ray-tracing program that performs hidden-surface removal and simulates shadow and semishadow effects to produce images of dazzling realism.

p.44 LOTFI VISIONS, PART 1

[author : Jack Woehr]

In the first installment of this exclusive interview with Lotfi Zadeh, the father of fuzzy logic, Zadeh discusses the philosophical underpinnings of fuzzy logic, how it relates to fractals and AI, and his youth in the USSR and Iran.

EMBEDDED SYSTEMS

p.56 A C++ CLASS FOR GENERATING BAR CODES

[author : Douglas Reilly]

Any application that depends upon accurate entry of data with little or no user intervention is a candidate for bar codes. The PCL class Doug presents here lets you create bar-code symbols on PCL-compatible laser printers.

NETWORKED SYSTEMS

p.64 POSTMAN: A BRIDGE TO THE UNIX MAIL SYSTEM

[author : Zongnan H. Lu]

Postman is an interface program that sits between an in-house, UNIX-based, personal-information system and the UNIX sendmail program. It provides a way to exchange mail between user-application programs and the outside world through the existing UNIX mail system.

EXAMINING ROOM

p.68 RAY TRACING AND THE POV-RAY TOOLKIT

[author : Craig A. Lindley]

The POV-Ray ("Persistence of Vision Ray Tracer") toolkit is a powerful, multiplatform package available free of charge in source-code and executable form for PCs (running under DOS, Windows, NT, or OS/2), Macintosh, Amiga, UNIX (including the X Window System), and VMS workstations.

PROGRAMMER'S WORKBENCH

p.78 EXAMINING AUDIO DSP ALGORITHMS

[author : Dennis Cronin]

Dennis implements DSP algorithms to create real-time audio effects—pitch change, echo, flanging, and phase shifting—for the Microsoft Windows Sound System.

COLUMNS

p.107 PROGRAMMING PARADIGMS

[author : Michael Swaine]

Michael wraps up his mushroom-identification programming project for the Newton MessagePad.

p.111 C PROGRAMMING

[author : Al Stevens]

Al continues his presentation of the Quincy preprocessor, this month focusing on the parts that resolve #define macros and evaluate #if expressions.

p.119 ALGORITHM ALLEY

[author : Tim Kientzle]

The circle algorithm presented here is both fast and exact when plotting the closest points to the circle and drawing ellipses.

p.123 UNDOCUMENTED CORNER

[author : Andrew Schulman]

Ralf Brown examines the undocumented side of the private programming interface of QEMM, Quarterdeck's 386 memory manager.

p.133 PROGRAMMER'S BOOKSHELF

[author : Jonathan Erickson]

This month, we look at three books on graphics file formats—the Encyclopedia of Graphics File Formats, Bitmapped Graphics Programming in C++, and Programming for Graphics Files in C and C++.

FORUM

p.10 LETTERS

[author : you]

p.152 SWAINE'S FLAMES

[author : Michael Swaine]

PROGRAMMER'S SERVICES

p.148 OF INTEREST

[author : Monica E. Berg]