Thread View: comp.graphics.digest
1 messages
1 total messages
Started by Info-Graphics-Request
Sun, 14 Jun 1987 10:00
Info-Graphics Digest
Author: Info-Graphics-Request
Date: Sun, 14 Jun 1987 10:00
Date: Sun, 14 Jun 1987 10:00
507 lines
21460 bytes
21460 bytes
Info-Graphics Digest Sun Jun 14 03:00:35 PDT 1987
- Send submissions to Info-Graphics@ADS.ARPA
- Send requests for list membership to Info-Graphics-Request@ADS.ARPA
Today's Topics:
Drawing Contour Maps
Ray Tracing
Raster Technologies One/380
Lecture in San Francisco 18-Jun-87: HISTORY OF COMPUTER GRAPHICS
Survey: Microcomputers in Graphics Education
Contour plots [C PROGRAM SOURCE]
----------------------------------------------------------------------
Date: 8 Jun 1987 15:19:10-WET
From: malcolm <MALCOLM%UK.AC.PCL.LYNX@AC.UK>
Hello ,
Does anyone out there know of the existence of a Tekronix
4010 emulator for a PC compatible. It must be public domain,
I have seen a few around and tried them out, but they don't seem
to like my PC, an OPUS II with CGA card in it.
Thankyoueversomuch,
Malcolm John Taylor
Polytechnic of Central London
115 New Cavendish St London W1M 8JS
Try these addresses :-
malcolm%uk.ac.pcl.lynx@ukacrl.bitnet BITNET
malcolm%ib.rl.ac.uk EARN
malcolm%uk.ac.pcl.lynx@cs.ucl.ac.uk ARPA
mcvax!ukc!uk.ac.pcl.lynx!malcolm UUCP
------------------------------
Date: Mon, 8 Jun 87 20:19:27 ADT
From: Kevin Marinelli <dalcs!marinell@seismo.CSS.GOV>
Subject: Drawing Contour Maps
Organization: Dept. of Math., Stats & C.S., Dalhousie University, Halifax, N.S., Canada
This is not an optimal solution, but...
The last issue of BYTE has a set of BASIC subroutines for drawing
contour maps on a PC. This program shouls be easily modified to
meet your needs.
If this does not work, let me know, and I will dig up some FORTRAN
source code and mail it to you.
The point is, try it first from the BASIC to see how it works. That
way you will learn the many limitations of using computers to contour
data. (i.e. contour maps drawn by a computer are not gospel. It follows
the GIGO principle very closely).
Kevin Marinelli
Academic Computing Services
Dalhousie University
------------------------------
Date: Tue, 9 Jun 87 15:13:34 CDT
From: Kent Michael White <kmw%usl.csnet@RELAY.CS.NET>
Subject: Ray Tracing
The Center For Advanced Computer Studies at the University
of Southwestern Louisiana presently has a small research group
that is interested in ray tracing algorithms. We are wanting
to confer with other research groups concerning new ray tracing
techniques.
Please respond directly to me kmw@usl.usl.edu since I do not
currently receive mod.graphics.
------------------------------
Date: Tue, 19 May 87 08:47 EDT
From: <BEGEMAN%MCOIARC.BITNET@wiscvm.wisc.edu>
Subject: Raster Technologies One/380
We have just recieved the 87 edition of Movie.byu with the interface to the
Raster Tech one/20. That's all fine and dandy, but we have a Raster Tech
One/380. Does anyone out there have an interface to the Raster Tech one/380
for movie.byu that they would be willing to share? We currently have the
One/380 connected DMA to a VMS VAX 11/780.
Mike Begeman
Medical College of Ohio
<begeman@mcoiarc>
------------------------------
Date: Tue, 9 Jun 87 17:46:19 PDT
From: Info-Graphics-Request@ADS.arpa (Andy Cromarty)
Subject: Lecture in San Francisco 18-Jun-87: HISTORY OF COMPUTER GRAPHICS
From siggraph@ames-pioneer.arpa Fri Jun 5 15:59:41 1987
Path: ads!siggraph
From: siggraph@ames-pioneer.arpa
Subject: 6/18 6PM Joint Golden Gate/BA ACM/SIGGRAPH Chapters, Hist. of CG
Message-ID: <28392@ads.ARPA>
Date: 5 Jun 87 22:59:41 GMT
Sender: daemon@ads.ARPA
Lines: 40
Status: RO
From: Siggraph <siggraph@ames-pioneer.arpa>
Joint Golden Gate Chapter ACM and Bay Area ACM/SIGGRAPH
HISTORY OF COMPUTER GRAPHICS
A Biased Personal View
Alvy Ray Smith
Vice President
Pixar
Thursday June 18
Exploratorium, McBean Theater
3601 Lyon Street, SF
6:00..7:00 Cocktails and Hors D'oeuvres
7:00..8:00 Speaker & Q/A
Please call (415)-339-3024 by June 11 if you would like to make
reservations (recommended) for hors d'oeuvres ($10).
ABSTRACT - The dark ages of black-and-white lines at NYU. How
the University of Utah did it with no equipment. How Xerox PARC
kissed off color graphics but got an Emmy anyway. How Alex
Schure met Ivan Sutherland and begat NYIT. How Evans & Sutherland
succeeded & failed. How Siggraph grew up. The sad story of
standards. The amazing stories of NYIT: Los Ricos National
Forest, "make Tubby dance", Holloway house. Who said, "Our goal
is to speed up time, eventually deleting it"? David Em unmasked
(the M is revealed). Jim Blinn dances. Video art vs computer
graphics. How Lucasfilm happened. Star Trek. Star Wars. Ravi
Shankar. Steven Spielberg. Sylvester Stallone. Special effects.
Do you remember III, DP, Abel, Omnibus, Digital Effects,
MAGI? What Pixar means. How it feels to spin off. Luxo Lamps
and Academy Awards. How is JCGL related to CGL? The Japanese
and Europeans. How the Texas Panhandle contributed to graphics.
A glimpse at the future. And lots, lots more.
------------------------------
Date: Wed, 3 Jun 1987 21:46:31 EDT
From: (William J. Joel) <JZEM%MARIST.BITNET@wiscvm.wisc.edu>
Subject: Survey: Microcomputers in Graphics Education
Status: RO
Please look at the survey below and determine whether it would be
appropriate for a separate edition of Info-Graphics to cover just
this survey. I had sent it out recently to 250 institutions world
wide, but only got 38 back. I could use more responses to make the
survey more substantial. In any event, I'd like IG readers to be able
to get this survey. Thanks!
---------------------------------------------------------------------
Hi!
The following survey is intended for computer graphics instructors.
If you are such a person, I would appreciate it if you would print
out the survey, answer it and send it to the address listed below.
Please make sure your name, institution, division/department, and
title are listed somewhere on the returned survey. Thank you for
your help!
----- CUT HERE -----
1
-
- Survey of
+ Survey of
0 Microcomputers in
+ Microcomputers in
0 Undergraduate Computer Graphics Curriculum
+ Undergraduate Computer Graphics Curriculum
-
The following survey has been designed to determine the rea-
sons for and the extent of the use of microcomputers in under-
graduate computer graphics curriculum. If you are not the prima-
ry graphics contact at your institution, please forward this
survey to that person.
0 Please return this survey to:
0 William J. Joel
Division of Computer Science & Mathematics
Marist College
82 North Road
Poughkeepsie, NY 12601
USA
0 Thank you! Your help in this survey is most appreciated.
1
0 Survey of page 2
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
- 1. Indicate the number of each type of microcomputer for each
category. Use the last three blanks for any micros not
listed. Any micros that could be counted in more than one
columns should be so counted.
0 Microcomputer Avaialble to Available to
------------- all students graphics stud To be acquired
------------- ------------ ------------- --------------
IBM PC/XT _____ _____ _____
IBM AT _____ _____ _____
IBM RT _____ _____ _____
Apple IIe/+/GS _____ _____ _____
Apple Mac/Lisa _____ _____ _____
Amiga _____ _____ _____
Tandy _____ _____ _____
Commodore _____ _____ _____
____________ _____ _____ _____
____________ _____ _____ _____
____________ _____ _____ _____
0 2. Check the three (3) microcomputer attributes most appropri-
ate for each column, as they relate to use in a computer
graphics course. DO NOT check more or less than three for
each column.
0 Attribute Most Least Reason for Reason for
--------- beneficial beneficial prior future
--------- ---------- ---------- acquisition acquistion
--------- ---------- ---------- ----------- ----------
resolution _____ _____ _____ _____
no. of
colors _____ _____ _____ _____
no. of
bit planes _____ _____ _____ _____
amount of
memory (RAM)
_____ _____ _____ _____
floppy disks
_____ _____ _____ _____
hard disks _____ _____ _____ _____
peripheral
connections _____ _____ _____ _____
portability _____ _____ _____ _____
size _____ _____ _____ _____
cost _____ _____ _____ _____
software _____ _____ _____ _____
operating
system _____ _____ _____ _____
languages _____ _____ _____ _____
CPU _____ _____ _____ _____
1
0 Survey of page 3
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
- 3. Check the three (3) computer graphics topics most appropri-
ate for each column, as they relate to computer graphics
curriculum. DO NOT check more or less than three.
0 Topic Least Most
----- emphasized emphasized
----- ---------- ----------
2-D basics _____ _____
3-D basics _____ _____
hidden
line/surface
removal _____ _____
shading _____ _____
ray tracing _____ _____
solid
modelling _____ _____
animation _____ _____
fractals _____ _____
business
graphics _____ _____
____________ _____ _____
____________ _____ _____
____________ _____ _____
0 4. Do you feel that microcomputers are useful in a computer
graphics education?
0 (Circle one) Yes No Undecided
------------------------------
Date: Thu, 11 Jun 87 14:47:58 EDT
From: ucbcad!ames!seismo!mimsy!aplcen!aplvax!LOCAL.arpa!djs@ucbvax.Berkeley.EDU (David J. Scheerer)
Subject: Contour plots [C PROGRAM SOURCE]
Organization: The Johns Hopkins University Applied Physics Laboratory
Status: RO
This is a preliminary C routine to contour plot a regular
matrix generated from a equation. I use the SUN's
GRAPH & PLOT to plot 'em out.
#define PI 3.141592654
#include <math.h>
int iub, jub, nc;
float d[31][31], x[31], y[31], z[10];
main()
{
int i, j;
float ix, jy;
float r;
iub = 30;
jub = 30;
nc = 10;
for (i = 0; i <= iub; ++i)
{
ix = 2 * PI * (2*i-iub)/iub;
for (j = 0; j <= jub; ++j)
{
jy = 2 * PI * (2 * j - jub)/jub;
r = sqrt(ix * ix + jy * jy);
d[i][j] = sin(r) + .5/sqrt( (ix+3.05)*(ix+3.05) + jy*jy);
}
x[i] = i;
}
for (j = 0; j <= jub; ++j)
y[j] = j;
for (i = 0; i <= nc-1; ++i)
z[i] = (float)(i - 5)/5;
contour();
}
contour()
{
/* INPUT VARIABLES TO CONTOUR */
extern int iub; /* the number of discrete intervals in the horizontal measuerement grid */
extern int jub; /* the number of discrete intervals in the vertical meausrement grid */
extern float d[][31]; /* two dimensional array containing the z values for each (x,y) pair */
extern float x[]; /* one dimensional array containing the actual horizontal coordinates of each sample point */
extern float y[]; /* one dimensional array containing the actual vertical coordinates of each sample point */
extern int nc; /* the number of contouring levels */
extern float z[]; /* one dimensional array containing the contour levels in increasing order */
/* VARIABLES LOCAL TO CONTOUR */
float h[5]; /* relative heights of the four corners of the box above the contour */
int ish[5]; /* sign of h( ) 2 => above contour, 1=> on contour, 0 => below contour*/
float xh[5]; /* x coordinates of four corners of box */
float yh[5]; /* y coordinates of four corners of box */
static int im[4] = {0, 1, 1, 0}; /* mapping from vertex numbers to x offsets */
static int jm[4] = {0, 0, 1, 1}; /* mapping from vertex numbers to y offsets */
int prmerr; /* input parameter error 0 => no error, 1 => error */
static int castab[3][3][3] = { /* case switch table */
{ {0,0,8}, {0,2,5}, {7,6,9} },
{ {0,3,4}, {1,3,1}, {4,3,0} },
{ {9,6,7}, {5,2,0}, {8,0,0} }
};
float dmin; /* lowest vertex */
float dmax; /* highest vertex */
int case_num;
int i, j, k, m; /* loop indices */
int m1, m2, m3;
float x1, y1, x2, y2; /* coordinates of points to be connected to draw contour segment */
/* check the input parameters for validity */
prmerr = 0;
if (iub <= 0 || jub <= 0)
prmerr = 1;
if (nc <= 0)
prmerr = 1;
for (k = 1; k <= nc-1; ++k)
if (z[k] <= z[k-1])
prmerr = 1;
if (prmerr)
{
printf("error in input parameters\n");
return;
}
/* scan the array, top down, left to right */
for (j = jub-1; j >= 0; --j)
{
for (i = 0; i <= iub - 1; ++i)
{ /* find the lowest vertex */
dmin = (d[i][j] < d[i][j+1])? d[i][j]: d[i][j+1];
if (d[i+1][j] < dmin)
dmin = d[i+1][j];
if (d[i+1][j+1] < dmin)
dmin = d [i+1][j+1];
/* find the highest vertex */
dmax = (d[i][j] > d[i][j+i])? d[i][j]: d[i][j+1];
if (d[i+1][j] > dmax)
dmax = d[i+1][j];
if (d[i+1][j+1] > dmax)
dmax = d[i+1][j+1];
if (dmax >= z[0] || dmin <= z[nc-1])
{
/* draw each contour within this box */
for (k = 0; k <= nc-1; ++k)
{
if (z[k] >= dmin || z[k] <= dmax)
{
for (m = 4; m >= 0; --m)
{
if (m > 0)
{
h[m] = d[i + im[m-1]][j + jm[m-1]] - z[k];
xh[m] = x[i + im[m-1]];
yh[m] = y[j + jm[m-1]];
}
if (m == 0)
{
h[0] = (h[1] + h[2] + h[3] + h[4]) / 4;
xh[0] = (x[i] + x[i+1]) / 2;
yh[0] = (y[j] + y[j+1]) / 2;
}
if (h[m] > 0)
ish[m] = 2;
else if (h[m] < 0)
ish[m] = 0;
else ish[m] = 1;
}
/* scan each triangle in the box */
for (m = 1; m <= 4; ++m)
{
m1 = m;
m2 = 0;
m3 = m + 1;
if (m3 == 5)
m3 = 1;
case_num = castab[ish[m1]][ish[m2]][ish[m3]];
if (case_num == 0)
continue;
switch (case_num)
{
case 1: /* line between vertices m1 and m2 */
x1 = xh[m1];
y1 = yh[m1];
x2 = xh[m2];
y2 = yh[m2];
break;
case 2: /* line between vertices m2 and m3 */
x1 = xh[m2];
y1 = yh[m2];
x2 = xh[m3];
y2 = yh[m3];
break;
case 3: /* line between vertices m3 and m1 */
x1 = xh[m3];
y1 = yh[m3];
x2 = xh[m1];
y2 = yh[m1];
break;
case 4: /* line between vertex m1 and side m2-m3 */
x1 = xh[m1];
y1 = yh[m1];
x2 = (h[m3] * xh[m2] - h[m2] * xh[m3]) / (h[m3] - h[m2]);
y2 = (h[m3] * yh[m2] - h[m2] * yh[m3]) / (h[m3] - h[m2]);
break;
case 5: /* line between vertex m2 and side m3-m1 */
x1 = xh[m2];
y1 = yh[m2];
x2 = (h[m1] * xh[m3] - h[m3] * xh[m1]) / (h[m1] - h[m3]);
y2 = (h[m1] * yh[m3] - h[m3] * yh[m1]) / (h[m1] - h[m3]);
break;
case 6: /* line between vertex m3 and side m1-m2 */
x1 = xh[m3];
y1 = yh[m3];
x2 = (h[m2] * xh[m1] - h[m1] * xh[m2]) / (h[m2] - h[m1]);
y2 = (h[m2] * yh[m1] - h[m1] * yh[m2]) / (h[m2] - h[m1]);
break;
case 7: /* line between sides m1-m2 and m2-m3 */
x1 = (h[m2] * xh[m1] - h[m1] * xh[m2]) / (h[m2] - h[m1]);
y1 = (h[m2] * yh[m1] - h[m1] * yh[m2]) / (h[m2] - h[m1]);
x2 = (h[m3] * xh[m2] - h[m2] * xh[m3]) / (h[m3] - h[m2]);
y2 = (h[m3] * yh[m2] - h[m2] * yh[m3]) / (h[m3] - h[m2]);
break;
case 8: /* line between sides m2-m3 and m3-m1 */
x1 = (h[m3] * xh[m2] - h[m2] * xh[m3]) / (h[m3] - h[m2]);
y1 = (h[m3] * yh[m2] - h[m2] * yh[m3]) / (h[m3] - h[m2]);
x2 = (h[m1] * xh[m3] - h[m3] * xh[m1]) / (h[m1] - h[m3]);
y2 = (h[m1] * yh[m3] - h[m3] * yh[m1]) / (h[m1] - h[m3]);
break;
case 9: /* line between sides m3-m1 and m1-m2 */
x1 = (h[m1] * xh[m3] - h[m3] * xh[m1]) / (h[m1] - h[m3]);
y1 = (h[m1] * yh[m3] - h[m3] * yh[m1]) / (h[m1] - h[m3]);
x2 = (h[m2] * xh[m1] - h[m1] * xh[m2]) / (h[m2] - h[m1]);
y2 = (h[m2] * yh[m1] - h[m1] * yh[m2]) / (h[m2] - h[m1]);
break;
}
drawit:
printf("%6.2f %6.2f\n", x1, y1);
printf("%6.2f %6.2f\n", x2, y2);
printf("\");
} /* bottom of m loop */
} /* bottom of inner if */
} /* bottom of k loop */
} /* bottom of outer if */
} /* bottom of i loop */
} /* bottom of j loop */
} /* bottom of contour subroutine */
------------------------------
End of INFO-GRAPHICS
********************
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads