- •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
page 36
5. WWW and HTML
5.1 Why Bother?
Although decades old, the Internet has only recently come of age. This is easily illustrated by the prevalent use of World Wide Web (WWW) addresses in advertisements and business cards. It could be argued that the current public awareness is rooted in the over hyped ‘Information Superhighway’. The tool that has made the Internet accessible to many users is Netscape. As with many Internet tools, this software is available free, and is supported for UNIX, MacIntosh, and IBM PC platforms. Even more important is the fact that Netscape supersedes previously popular Internet interfaces (i.e., gopher, netnews, ftp, archie, etc.). Within minutes of your first exposure to Netscape, you can retrieve pictures, sounds, movies, and software from around the world.
5.2 Where to Find Netscape
Netscape software can be obtained free, but you will need an Internet connection directly, or a PPP connection through the phone lines. On campus the computers in all labs are already connected. In widows open an internet or similar program group. The netscape icon should be visible. After picking this icon the program should start and some home page will be displayed. If you are at home and you have an Internet connection you should have netscape, or an equivalent.
5.3 How to Get Your Own Home Page
You must create an HTML file (HyperText Markup Language) using a word processor, such as Wordperfect. Some points to consider.
1.To edit files, you must first download them using ‘ftp’ or netscape gold. They will exist in the ‘public_html’ directory in your directory. The ‘indxe.html’ file in this directory is the default start file.
2.Edit the file using Netscape Gold, Microsoft Word, or with a text editor.
3.Upload the modified files, and any new pictures, sounds, etc. using ‘ftp’ or netscape gold.
4.If necessary ‘login’ to the server and modify file permissions. Type the command, chmod 755 ~/.. ~/public_html ~/public_html/*
5.You can get to your home page with addesses. Use a browser to check your HTML files. My main home page is given below, http://claymore.engineer.gvsu.edu/~jackh
page 37
5.4 How to Create a file
This section will present a sample html file that can be used as an example when creating your own html file (this must be typed into a word processor). The example begins with an example homepage displayed in Mosaic. The Mosaic file that created this page is given after.
<HTML>
<HEAD> <TITLE> A Sample HTML Document </TITLE> </HEAD>
<BODY>
<H1> My First Home Page </H1> <H2>
But Not My Last
<IMG SRC = “picture.gif” ALIGN=MIDDLE>
</H2>
page 38
<HR>
<P> This is a simple example of a paragraph entered into Mosaic using a simple text editor, and with the lines roughly scattered. For example I can <U> underline </U> or make the text <I> italic </I> or I can even make
it <B> bold </B>. If I want a new line without a paragraph spacing I can break it <BR> or I can start a new paragraph.
</P>
<P> In other things I can also use point form </P> <UL>
<LI> One
<LI> Two
</OL>
<P> Or numbered lists </P> <OL>
<LI> Buckle <LI> My <LI> Shoe
</OL>
<P> Finally I will use a hypertext link to connect me to another document. In this case it will be the main page for <A HREF=”http://acs.ryerson.ca”> Ryerson </A>. If you point to Ryerson and click, it will show you the main campus home page.
</P>
<HR>
<ADDRESS> hjack@acs.ryerson.ca </ADDRESS>
</BODY>
</HTML>
In this file the instructions basically indicate where typesetting should occur (much like viewing the control codes in Wordperfect). There are some commands that should always be used. First the <HTML> and </HTML> pair should always be used at the beginning and end of the document. Within this there should be a <HEAD> and </HEAD> to define overall information.
Notice that in the <HEAD> section there is a <TITLE> ____ </TITLE> pair that define the name of the document in the top of the Mosaic window. After the <HEAD> section comes the <BODY> section (this is followed by </BODY>). Within the section we define the Mosaic document. In this example there are defined heading (i.e., <H1>___</H1> and <H2>____</H2>). There is also a picture file included (i.e., <IMG SRC=”______”>). The preferred file format is GIF, but others are sometimes supported. A rule line is included to visually separate parts of the page (i.e., <HR> - Note this command does not need a second mate such as </HR>). Paragraphs are defined using <P> and </P>, so that the text will be kept in a block, and extra lines are added between paragraphs. A nice feature of Mosaic is the ability to create indented lists. Using the <UL> </UL> commands unordered lists with bullets can be made. Numbered lists can be made using <OL> and </OL>. Each point in any type of list begins with <LI>. At the end of the document is an <ADDRESS>_______</ADDRESS> definition where you can put your email address, or other contact information.
page 39
There are some control codes buried inside the HTML document that be used for various purposes. For example <I>__</I> gives italics, <U>___</U> gives underlines, and <B>___</B> gives bold text. The most powerful tool in Mosaic is the anchor <A>___<A>. In general this is how hypertext links are created. In the example given above the command used is <A HREF=”____”>____</A>. The effect this has is that the work displayed (i.e. Ryerson) will appear differently on the screen, and if a user clicks on it the Mosaic viewer will now try to open the new document (i.e. http://acs.ryerson.ca, this will call up Ryerson’s home page). These anchors can also refer to other locations in the same document.
5.5 Resources
Etherware:
•http://www.ncsa.uiuc.edu/General/Internet/WWW/HTMLPrimer.html
•http://www.ncsa.uiuc.edu/demoweb/url-primer.html
•http://kuhttp.cc.ukans.edu/lynx_help/HTML_quick.html
•http://info.cern.ch/hypertext/WWW/MarkUp/MarkUp.html
•http://info.cern.ch/hypertext/WWW/Provider/Style/Overview.html
•http://info.cern.ch/hypertext/WWW/Addressing/Addressing.html
•http://info.cern.ch/hypertext/WWW/TheProject.html
•http://info.cern.ch/hypertext/WWW/MarkUp/ISOlat1.html
Software:
•ftp://ftp.ncsa.uiuc.edu/Web/html/hotmetal/Windows/hotmetal.exe
•ftp://ftp.einet.net/einet/pc/winweb/winweb.zip
•ftp://ftp.ncsa.uiuc.edu/PC/MOSAIC
•ftp://ftp2.cc.ukans.edu/pub/www/lynx
•http://www.netscape.com
Sites:
•http://www.yahoo.com
•http://gnn.com/GNNhome.html
•http://rubens.anu.edu.au/
•http://cybersight.com/cgi-bin/cs/s?main.gmml