A Tour of CS+E: Distance Collaboration and 3D Modeling Prabhaker Mateti

Preview:

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!

Recommended