Upload
amos-day
View
226
Download
0
Tags:
Embed Size (px)
Citation preview
A Tour of CS+E:Distance Collaboration and
3D Modeling
Prabhaker Mateti
January 19, 2001 Mateti, EGR191/CSE 2
Two Topics
• Distance collaboration• 3D modeling
January 19, 2001 Mateti, EGR191/CSE 3
Distance Collaboration Software
Helps groups of people on computers attached to a local-area network organize and develop their activities.
January 19, 2001 Mateti, EGR191/CSE 4
Chat
• Lets you conduct real-time conversations via text, with as many people as you like.
January 19, 2001 Mateti, EGR191/CSE 5
Groupware
Typically supports the following operations:
• Shared development of “work.”• Scheduling meetings ...• E-mail, telephone utilities, electronic
newsletters.• Protection for documents.• File distribution.
January 19, 2001 Mateti, EGR191/CSE 6
Net Meeting
A real-time multimedia communications tool that can create a collaborative environment for geographically distant people.
January 19, 2001 Mateti, EGR191/CSE 7
Video and Audio Conferencing
• Talk and write with people at distant locations while viewing them
January 19, 2001 Mateti, EGR191/CSE 8
Whiteboard
• Shared canvas• Canvas content: text, drawings in
color• Real time view of the canvas
January 19, 2001 Mateti, EGR191/CSE 9
Program Sharing
• Not file sharing• Share a program that you are
running on your machine with your collaborators.
• Retain control over the way they're used.
January 19, 2001 Mateti, EGR191/CSE 10
Remote Desktop Sharing
• Operate a computer from a remote location.
• Are you the person you claim to be?
• Confidentiality of data in transit.• Real time update of the view of
remote desktop.
January 19, 2001 Mateti, EGR191/CSE 11
3D Modeling
• CSG modeling• Surface modeling
January 19, 2001 Mateti, EGR191/CSE 12
CSG Modeling
- =
January 19, 2001 Mateti, EGR191/CSE 13
Surface Modeling
January 19, 2001 Mateti, EGR191/CSE 14
Surface Modeling
• Object solid internals are not completely expressed like in CSG.
• Concerned with building the outside shell of an object.
January 19, 2001 Mateti, EGR191/CSE 15
Ray Casting
Ray casting traces a ray from the eye through a point on the object being viewed, and find intersections with all the objects in the scene. The intersection that has the smallest z value determines the color of the pixel on the screen.
January 19, 2001 Mateti, EGR191/CSE 16
Ray Tracing
• Ray tracing goes further by reflecting the ray off the object and tracing it further, which may get reflected, and so on until it exits the scene or reaches the light source. If the surface were transparent, an additional refracted ray is traced.
• Ray tracing is a rendering technique that calculates an image of a 3D real world scene by simulating the way rays of light travel.
January 19, 2001 Mateti, EGR191/CSE 17
POV-Ray
January 19, 2001 Mateti, EGR191/CSE 18
VRML Browser Plugins
• Virtual reality modeling language• Plugins for IE and Netscape
January 19, 2001 Mateti, EGR191/CSE 19
Running VRML Examples
January 19, 2001 Mateti, EGR191/CSE 20
Ray Tracing and VRML
• Not installed in our lab.• Several free versions on the Web:
– POV-Ray www.povray.org – VRML2C.EXE www.microsoft.com– Contact 4.2 www.blaxxun.com
• Try them on your home PC!
January 19, 2001 Mateti, EGR191/CSE 21
sPatch
January 19, 2001 Mateti, EGR191/CSE 22
Poser by Metacreations
January 19, 2001 Mateti, EGR191/CSE 23
Lab for Next Week
• Use Program Sharing• Use Desktop Sharing• Collaborate• “Construct” F1
January 19, 2001 Mateti, EGR191/CSE 24
Our F1
January 19, 2001 Mateti, EGR191/CSE 25
F1 rendered
January 19, 2001 Mateti, EGR191/CSE 26
January 19, 2001 Mateti, EGR191/CSE 27
United States 129.00Japan 32.80Germany 21.10UK 18.25
France 15.35Canada 11.75Italy 10.55China 8.26Australia 7.68South Korea 6.65
PCs in Use, 1998(in millions)
January 19, 2001 Mateti, EGR191/CSE 28
U.S. Households with Personal Computers, 1996–2000(in thousands)
1996 2000
Total 35,388 55,487
IBM-compatible Windows 20,906 55,487
IBM-compatible non-Win 6,962 7,207
Apple Macintoshes 4,947 3,837
Other PCs 2,525 3,396
January 19, 2001 Mateti, EGR191/CSE 29
Prices of Computers
• PCs for < $500• Supercomputers for $n00 million
January 19, 2001 Mateti, EGR191/CSE 30
Computer Literacy for Non-engineers
• E-mail• Web surfing and design• Word processing• Spread sheet• Database• PC card replacement
January 19, 2001 Mateti, EGR191/CSE 31
Computer Literacy for Engineers
• Scientific numerical calculations.• Symbolic computation.• Simulation.• 3D modelers.• Programming.
January 19, 2001 Mateti, EGR191/CSE 32
Several Subject Areas
• Operating Systems• Computer Languages• Networking• Computer Graphics• Computer Architecture• Software Engineering• …
January 19, 2001 Mateti, EGR191/CSE 33
Software and Hardware Products
• Requirements• Specifications• Design• Construction• Testing• Verification
January 19, 2001 Mateti, EGR191/CSE 34
Operating Systems
• Every key press, every movement by the mouse --even by a single pixel-- goes through an OS
• The screen is drawn through an OS• Files are saved, deleted through an
OS• Every piece of hardware is under
the control of an OS.
January 19, 2001 Mateti, EGR191/CSE 35
Operating Systems: Examples
• Windows 9x,NT,2000• Linux, Unix, Solaris, FreeBSD, …• Mac X• BeOS• VMS• …
January 19, 2001 Mateti, EGR191/CSE 36
Os Market Share
May 2000
January 19, 2001 Mateti, EGR191/CSE 37
What is anOperating System
• Typically a very large piece of software
• Controls all hardware elements:– CPU, RAM, HD, KBD, Mouse,…
• Device drivers, IO system, Virtual memory, Process management
January 19, 2001 Mateti, EGR191/CSE 38
Computer Languages
• Grammatically strict languages• Java, C++, Pascal, FORTRAN• Compilers• Interpreters
January 19, 2001 Mateti, EGR191/CSE 39
A Model in sPatchsPatchesversion 2visibility FALSEselection FALSEnum_points 898
1.000000 -0.750000 -1.5000007021 17 0
January 19, 2001 Mateti, EGR191/CSE 40
Our F1
January 19, 2001 Mateti, EGR191/CSE 41
F1 rendered
January 19, 2001 Mateti, EGR191/CSE 42
Virtual Reality Modeling Language
#VRML V1.0 asciiSeparator { Material { diffuseColor 0.8 0 0 # r=.8 g=0 b=0 }
WWWAnchor { name
"http://www.cs.wright.edu/~pmateti/" Sphere { radius 1.0 }
} ...}
January 19, 2001 Mateti, EGR191/CSE 43
A Model in POV
January 19, 2001 Mateti, EGR191/CSE 44
Networking
• Ethernet• Local area network (LAN)• 100 Megabits/sec
January 19, 2001 Mateti, EGR191/CSE 45
TCP/IP
• Internet protocol• UDP, ... • Example programs:
– Web browsers– Telnet, FTP, ...
January 19, 2001 Mateti, EGR191/CSE 46
An IP Address
• Uniquely identifies a machine.• Four byte number.• 192.168.*.* are private.• Controlled assignment.
January 19, 2001 Mateti, EGR191/CSE 47
Packets
• Message split into packets.• Each packet has source and
destination addresses.• Packets may arrive out of order at
the destination.
January 19, 2001 Mateti, EGR191/CSE 48
Routers
• Routing = Discovering a path from source to destination.
• Changes because– Machines are down– Traffic congestion
• Highly specialized computers.
January 19, 2001 Mateti, EGR191/CSE 49
Distributed Computing
• A class of parallel computers.• Use idle machines.• Individual computers reaching
limits on how fast they can be.
January 19, 2001 Mateti, EGR191/CSE 50
Attacks, Break-ins
• Denial of service• Loss of money• Leakage of confidential data• Deliberate corruption of data• Firewalls, …
January 19, 2001 Mateti, EGR191/CSE 51
Computer Graphics
• Production of pictures of the physical world on a computer screen
• Raster graphics• Vector graphics
January 19, 2001 Mateti, EGR191/CSE 52
Ray Tracing
January 19, 2001 Mateti, EGR191/CSE 53
Virtual Reality
• Immersive environments• Visualization + audio• Touch-based input and feed back• Smells … soon• Taste?
January 19, 2001 Mateti, EGR191/CSE 54
Raster Graphics
• Even the drawing of a straight line is no longer simple.
• Old math of curves, planes, surfaces does not compute well.
• Screen = M x N rectangle of pixels.• Each pixel, RGB I, 32-bits or more.
January 19, 2001 Mateti, EGR191/CSE 55
Bezier Curves
January 19, 2001 Mateti, EGR191/CSE 56
Bezier Patches
January 19, 2001 Mateti, EGR191/CSE 57
Computer Architecture
• Boolean logic: AND, OR, NAND gates
• Simple operations: + - * /• Skip over instructions• Binary numbers
January 19, 2001 Mateti, EGR191/CSE 58
Design of ..
• CPU• Bus• RAM• IO devices
January 19, 2001 Mateti, EGR191/CSE 59
Supercomputers
• Parallel Computers with shared memory
• Networks of workstations
January 19, 2001 Mateti, EGR191/CSE 60
Moore’s Law
January 19, 2001 Mateti, EGR191/CSE
Moore’s Law • Price/performance• 1,000,000X boost in
last 20 years• 1,000,000X more in
the next 20 years• Likely to continue
for at least 40 years
January 19, 2001 Mateti, EGR191/CSE 62
Software Engineering
• Software: Most complex artifact in human history
• Expensive• Labor intensive• Team management
January 19, 2001 Mateti, EGR191/CSE 63
Lines of Code?
• How do we measure the quantity and quality of software?
• Lines of Code: Not a good measure
• No other widely accepted measures
January 19, 2001 Mateti, EGR191/CSE 64
January 19, 2001 Mateti, EGR191/CSE 65
January 19, 2001 Mateti, EGR191/CSE 66
Lines of Code(in millions)
Windows 3.1 1992 3
Windows 95 1996 15
Windows 98 1998 18
Windows NT 3.x 1992 4
Windows NT 4.0 1996 16.5
Windows NT 5.0 1998 20
Windows 2000 2000 35
Solaris 1990+ 7
Linux ++ 2000 5
January 19, 2001 Mateti, EGR191/CSE 67
Bugs
• Errors in … design, coding• Fact of life• No bug-free large program exists
January 19, 2001 Mateti, EGR191/CSE 68
New, Revised, Better
• Creeping size• Need more RAM, faster CPU• Unclear if they are more bug-free• Features added• Looks better
January 19, 2001 Mateti, EGR191/CSE 69
Nathan’s 3rd Law of Software
• That’s why people buy new hardware - economic motivator
• Will continue as long as there is opportunity for new software
• That’s why chips get faster at same price, instead of cheaper
January 19, 2001 Mateti, EGR191/CSE 70
Programming Methodology
• Bug prevention• Designing correctly• Correctness verification• Generation of programs
January 19, 2001 Mateti, EGR191/CSE 71
Object Oriented Programming
• A style of design• Java• C++
January 19, 2001 Mateti, EGR191/CSE 72
Open Source
• Many eyes examining and improving the code.
• Learn by watching.• Cost
January 19, 2001 Mateti, EGR191/CSE 73
January 19, 2001 Mateti, EGR191/CSE 74
Conclusion
• High Salaries!• Computer Science and Engineering
is an exciting field!