- •1. TABLE OF CONTENTS
- •2. AN INTRODUCTION TO UNIX
- •2.1 OVERVIEW
- •2.2 UNIX
- •2.2.1 Using UNIX Workstations in general:
- •2.2.2 Directories, Files, Etc.
- •2.2.3 Advanced Concepts
- •2.3 THE NETWORK
- •2.4 GOOD MANNERS
- •3. THE INTERNET
- •3.1 NETWORKS
- •3.1.1 Computer Addresses
- •3.2 NETWORK TYPES
- •3.2.1 Permanent Wires
- •3.2.2 Phone Lines
- •3.3 NETWORK PROTOCOLS
- •3.3.1 Mail Transfer Protocols
- •3.3.1.1 - Attachments
- •3.3.1.2 - Mail Lists
- •3.3.2 FTP - File Transfer Protocol
- •3.3.3 News
- •3.3.4 HTTP - Hypertext Transfer Protocol
- •3.3.5 Chat
- •3.3.6 Novell
- •3.3.7 Security
- •3.4 DATA FORMATS
- •3.4.1 HTML - Hyper Text Markup Language
- •3.4.1.1 - Publishing Web Pages
- •3.4.2 URLs
- •3.4.3 Hints
- •3.4.4 Specialized Editors
- •3.4.6 Encryption
- •3.4.7 Compression
- •3.5 PULLING ALL THE PROTOCOLS AND FORMATS TOGETHER WITH BROWSWERS
- •3.6 OTHER STUFF
- •3.6.1 Clients and Servers
- •3.6.2 Java
- •3.6.3 Javascript
- •3.6.5 Searches
- •3.6.6 ActiveX
- •3.6.7 Graphics
- •3.6.8 Animation
- •3.6.9 Video
- •3.6.10 Sounds
- •3.6.11 Other Program Files
- •3.6.12 Fancy Stuff
- •4. TEACHING WITH THE INTERNET
- •4.1 LECTURES
- •4.1.1 Equipment
- •4.1.2 Techniques
- •4.2 ON-LINE NOTES
- •4.3 ON-LINE MARKING
- •4.3.1 Web Pages
- •4.3.2 email
- •4.4 The Time-Line For My First On-Line Course (Fall 1996)
- •5. WWW and HTML
- •5.1 Why Bother?
- •5.2 Where to Find Netscape
- •5.3 How to Get Your Own Home Page
- •5.4 How to Create a file
- •5.5 Resources
- •6. A BASIC INTRODUCTION TO ‘C’
- •6.2 BACKGROUND
- •6.3 PROGRAM PARTS
- •6.4 HOW A ‘C’ COMPILER WORKS
- •6.5 STRUCTURED ‘C’ CODE
- •6.6 ARCHITECTURE OF ‘C’ PROGRAMS (TOP-DOWN)
- •6.7 CREATING TOP DOWN PROGRAMS
- •6.8.1 Objectives:
- •6.8.2 Problem Definition:
- •6.8.3 User Interface:
- •6.8.3.1 - Screen Layout (also see figure):
- •6.8.3.2 - Input:
- •6.8.3.3 - Output:
- •6.8.3.4 - Help:
- •6.8.3.5 - Error Checking:
- •6.8.3.6 - Miscellaneous:
- •6.8.4 Flow Program:
- •6.8.5 Expand Program:
- •6.8.6 Testing and Debugging:
- •6.8.7 Documentation
- •6.8.7.1 - Users Manual:
- •6.8.7.2 - Programmers Manual:
- •6.8.8 Listing of BeamCAD Program.
- •6.9 PRACTICE PROBLEMS
- •7. GUI DESIGN
- •7.1 PRACTICE PROBLEMS
- •8. AN EXAMPLE - BEAMCAD
- •9. PROGRAMMING IN JAVA
- •9.1 OVERVIEW
- •9.2 THE LANGUAGE
- •9.3 OBJECT ORIENTED PROGRAMMING
- •9.4 REFERENCES/BIBLIOGRAPHY
- •10. DATABASES
- •11. MESSAGE PASSING ON NETWORKS
- •12. MATHEMATICAL ELEMENTS OF COMPUTER GRAPHICS
- •12.1 INTRODUCTION
- •12.2 PIXELS
- •12.2.1 The Perspective Transform
- •12.3 LINE DRAWING
- •12.3.1 Hidden Lines
- •12.4 POLYGON DRAWING
- •12.5 SHADED POLYGONS
- •12.6 COLORS
- •12.6.1 Color Maps
- •12.6.1.1 - Quantization with an Octree RGB Cube
- •12.6.1.1.1 - Algorithm and Implementation
- •12.6.1.1.2 - Color Quantization Data Structures
- •12.7 DITHERING
- •12.7.1 A Model for Light Ray Reflection
- •12.7.2 A Model for Light Ray Refraction:
- •12.7.3 A Model for Specular Reflection of Point Light
- •12.8 RAY TRACING
- •12.8.1 Basic Ray Tracing Theory
- •12.8.1.1 - A Model for Diffuse Reflection of Ambient Light
- •12.8.1.2 - A Model for Diffuse Reflection of Point Light:
- •12.8.1.3 - Collision of a Ray with a Sphere:
- •12.8.1.4 - Collision of a Ray With a Plane:
- •12.8.1.5 - Mapping a Pattern
- •12.8.2 Ray Tracer Algorithms
- •12.8.3 Bounding Volumes
- •12.8.4 Shadows
- •12.8.5 Aliasing
- •12.8.6 Advanced topics
- •12.9 RADIOSITY
- •12.10 ADVANCED GRAPHICS TECHNIQUES
- •12.10.1 Animation
- •12.11 REFERENCES
- •12.12 PRACTICE PROBLEMS
- •13. NEW TOPICS
- •13.1 VIRTUAL REALITY
- •13.2 MULTIMEDIA
- •14. VISIONS SYSTEMS
- •14.1 OVERVIEW
- •14.2 APPLICATIONS
- •14.3 LIGHTING AND SCENE
- •14.4 CAMERAS
- •14.5 FRAME GRABBER
- •14.6 IMAGE PREPROCESSING
- •14.7 FILTERING
- •14.7.1 Thresholding
- •14.8 EDGE DETECTION
- •14.9 SEGMENTATION
- •14.9.1 Segment Mass Properties
- •14.10 RECOGNITION
- •14.10.1 Form Fitting
- •14.10.2 Decision Trees
- •14.11 PRACTICE PROBLEMS
- •15. SIMULATION
- •15.1 MODEL BUILDING
- •15.2 ANALYSIS
- •15.3 DESIGN OF EXPERIMENTS
- •15.4 RUNNING THE SIMULATION
- •15.5 DECISION MAKING STRATEGY
- •15.6 PLANNING
- •15.7 NEURAL NETWORK THEORY
- •16. ARTIFICIAL INTELLIGENCE (AI)
- •16.1 OVERVIEW
- •16.2 EXPERT SYSTEMS
- •16.3 FUZZY LOGIC
- •16.4 NEURAL NETWORKS
- •16.4.1 Neural Network Calculation of Inverse Kinematics
- •16.4.1.1 - Inverse Kinematics
- •16.4.1.2 - Feed Forward Neural Networks
- •16.4.1.3 - The Neural Network Setup
- •16.4.1.4 - The Training Set
- •16.4.1.5 - Results
Engineer On a Disk
Overview: This note set is part of a larger collection of materials available at http://claymore.engineer.gvsu.edu. You are welcome to use the material under the license provided at http://claymore.engineer.gvsu.edu/eod/global/copyrght.html. As always any feedback you can provide will be welcomed.
Copyright © 1993-2001, Hugh Jack
email: jackh@gvsu.edu phone: (616) 771-6755 fax: (616) 336-7215
Copyright © 1993-2001, Hugh Jack
page 1 |
|
1. TABLE OF CONTENTS |
|
TABLE OF CONTENTS.......................................................................................................... |
1 |
AN INTRODUCTION TO UNIX ............................................................................................ |
4 |
OVERVIEW - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
- 4 |
UNIX - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
5 |
THE NETWORK - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
- 7 |
GOOD MANNERS - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
- 9 |
THE INTERNET .................................................................................................................... |
10 |
NETWORKS - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
10 |
NETWORK TYPES - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
13 |
NETWORK PROTOCOLS - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
14 |
DATA FORMATS - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
17 |
PULLING ALL THE PROTOCOLS AND FORMATS TOGETHER WITH |
|
BROWSWERS 21 |
|
OTHER STUFF - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
21 |
TEACHING WITH THE INTERNET ................................................................................... |
26 |
LECTURES - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
30 |
ON-LINE NOTES - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
31 |
ON-LINE MARKING - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
32 |
The Time-Line For My First On-Line Course (Fall 1996) - - - - - - - - - - - - - - - - - |
33 |
WWW and HTML .................................................................................................................. |
36 |
Why Bother? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
36 |
Where to Find Netscape - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
36 |
How to Get Your Own Home Page - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
36 |
How to Create a file - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
37 |
Resources - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
39 |
A BASIC INTRODUCTION TO ‘C’ ..................................................................................... |
40 |
WHY USE ‘C’? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
40 |
BACKGROUND - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
40 |
PROGRAM PARTS - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
40 |
HOW A ‘C’ COMPILER WORKS - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
48 |
STRUCTURED ‘C’ CODE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
49 |
ARCHITECTURE OF ‘C’ PROGRAMS (TOP-DOWN) - - - - - - - - - - - - - - - - - - |
50 |
CREATING TOP DOWN PROGRAMS - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
51 |
HOW THE BEAMCAD PROGRAM WAS DESIGNED - - - - - - - - - - - - - - - - - - |
52 |
PRACTICE PROBLEMS - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
58 |
GUI DESIGN.......................................................................................................................... |
60 |
PRACTICE PROBLEMS - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
60 |
AN EXAMPLE - BEAMCAD ............................................................................................... |
60 |
PROGRAMMING IN JAVA.................................................................................................. |
78 |
OVERVIEW - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
78 |
THE LANGUAGE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
78 |
OBJECT ORIENTED PROGRAMMING - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
81 |
REFERENCES/BIBLIOGRAPHY - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
84 |
DATABASES ......................................................................................................................... |
85 |
page 2 |
|
MESSAGE PASSING ON NETWORKS .............................................................................. |
86 |
MATHEMATICAL ELEMENTS OF COMPUTER GRAPHICS ...................................... |
127 |
INTRODUCTION - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
127 |
PIXELS - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
127 |
LINE DRAWING - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
129 |
POLYGON DRAWING - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
132 |
SHADED POLYGONS - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
134 |
COLORS - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
135 |
DITHERING - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
140 |
RAY TRACING - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
144 |
RADIOSITY - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
153 |
ADVANCED GRAPHICS TECHNIQUES - - - - - - - - - - - - - - - - - - - - - - - - - - |
153 |
REFERENCES - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
154 |
PRACTICE PROBLEMS - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
155 |
NEW TOPICS....................................................................................................................... |
156 |
VIRTUAL REALITY - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
156 |
MULTIMEDIA - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
156 |
VISIONS SYSTEMS............................................................................................................ |
157 |
OVERVIEW - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
157 |
APPLICATIONS - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
158 |
LIGHTING AND SCENE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
158 |
CAMERAS - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
159 |
FRAME GRABBER - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
162 |
IMAGE PREPROCESSING - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
163 |
FILTERING - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
163 |
EDGE DETECTION - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
164 |
SEGMENTATION - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
165 |
RECOGNITION - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
168 |
PRACTICE PROBLEMS - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
170 |
SIMULATION...................................................................................................................... |
175 |
MODEL BUILDING - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
176 |
ANALYSIS - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
178 |
DESIGN OF EXPERIMENTS - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
179 |
RUNNING THE SIMULATION - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
182 |
DECISION MAKING STRATEGY - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
182 |
PLANNING - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
184 |
NEURAL NETWORK THEORY - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
199 |
ARTIFICIAL INTELLIGENCE (AI)................................................................................... |
218 |
OVERVIEW - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
218 |
EXPERT SYSTEMS - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
219 |
FUZZY LOGIC - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
219 |
NEURAL NETWORKS - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
220 |
page 3
Software Topics