3D Graphics Module Ramesh Srigiriraju. Abstract Project Areas: 3D Graphics, Modular design Purpose: to test data schemes for 3D rotatons Four different.

Slides:



Advertisements
Similar presentations
Block LU Factorization Lecture 24 MA471 Fall 2003.
Advertisements

QR Code Recognition Based On Image Processing
Vector Operations in R 3 Section 6.7. Standard Unit Vectors in R 3 The standard unit vectors, i(1,0,0), j(0,1,0) and k(0,0,1) can be used to form any.
Hallway Traffic Simulator Peter Riggs Computer Systems Lab
Copyright © 2002 W. A. Tucker1 Chapter 1 Lecture Notes Bill Tucker Austin Community College COSC 1315.
Picture Manipulation The manipulation of (already created) pictures. May be applied to vector graphics or bitmaps. We will consider bitmaps and introduce.
Linear Algebra and SVD (Some slides adapted from Octavia Camps)
CS 376 Introduction to Computer Graphics 02 / 09 / 2007 Instructor: Michael Eckmann.
CS 4731: Computer Graphics Lecture 6: Points, Scalars and Vectors Emmanuel Agu.
CSCE 590E Spring 2007 Basic Math By Jijun Tang. Applied Trigonometry Trigonometric functions  Defined using right triangle  x y h.
Aho-Corasick String Matching An Efficient String Matching.
Online classifier construction algorithm for human activity detection using a tri-axial accelerometer Yen-Ping Chen, Jhun-Ying Yang, Shun-Nan Liou, Gwo-Yun.
Course Website: Computer Graphics 3: 2D Transformations.
Module 6 Matrices & Applications Chapter 26 Matrices and Applications I.
Introduction to programming in MATLAB MATLAB can be thought of as an super-powerful graphing calculator Remember the TI-83 from calculus? With many more.
Programming In C++ Spring Semester 2013 Programming In C++, Lecture 1.
Rotations and Translations
CSE554Laplacian DeformationSlide 1 CSE 554 Lecture 8: Laplacian Deformation Fall 2012.
6.837 Linear Algebra Review Patrick Nichols Thursday, September 18, 2003.
Patrick Nichols Thursday, September 18, Linear Algebra Review.
CS32310 MATRICES 1. Vector vs Matrix transformation formulae Geometric reasoning allowed us to derive vector expressions for the various transformation.
Martin Ellison University of Warwick and CEPR Bank of England, December 2005 Introduction to MATLAB.
Timing Trials An investigation arising out of the Assignment CS32310 – Nov 2013 H Holstein 1.
HTML, MATLAB & Delphi Aleksey Charapko 11/3/13. HTML Markup Language  Created at CERN for scientific purposes  No executable code  Controls the “look”
6.837 Linear Algebra Review Patrick Nichols Thursday, September 18, 2003.
Rotations and Translations
Transformations Jehee Lee Seoul National University.
1 Lab of COMP 406 Teaching Assistant: Pei-Yuan Zhou Contact: Lab 1: 12 Sep., 2014 Introduction of Matlab (I)
Adjoint matrix Yes! The array of algebraic complements!
Vectors Vectors are represented by a directed line segment its length representing the magnitude and an arrow indicating the direction A B or u u This.
Working with Spreadsheets A spreadsheet is a worksheet that resembles a table and is used for organizing numbers. An electronic spreadsheet file can contain.
Spatial Descriptions and Transformations Sebastian van Delden USC Upstate
Introduction to Matlab T.E. Ochsner Getting Started with Matlab etting-started-with-matlab.html
What is MATLAB? MATLAB is one of a number of commercially available, sophisticated mathematical computation tools. Others include Maple Mathematica MathCad.
Hands-on Introduction to R. We live in oceans of data. Computers are essential to record and help analyse it. Competent scientists speak C/C++, Java,
Parallelization of the Classic Gram-Schmidt QR-Factorization
4.8 Rank Rank enables one to relate matrices to vectors, and vice versa. Definition Let A be an m  n matrix. The rows of A may be viewed as row vectors.
What is Kinematics. Kinematics studies the motion of bodies.
Lecture 20: Choosing the Right Tool for the Job. What is MATLAB? MATLAB is one of a number of commercially available, sophisticated mathematical computation.
3D Graphics Module Ramesh Srigiriraju. Abstract Project Areas: 3D Graphics, Modular design Purpose: to test data schemes for 3D rotatons Four different.
3D Graphics Module Ramesh Srigiriraju. Abstract Project Areas: 3D Graphics, Modular design Purpose: to test data schemes for 3D rotatons Four different.
Transformations CS 445/645 Introduction to Computer Graphics David Luebke, Spring 2003.
A.Abhari CPS1251 Topic 1: Introduction to Computers Computer Hardware Computer components Connecting Computers Computer Software Operating System (OS)
Any vector can be written as a linear combination of two standard unit vectors. The vector v is a linear combination of the vectors i and j. The scalar.
3D Transformation A 3D point (x,y,z) – x,y, and z coordinates
Section 1.7 Linear Independence and Nonsingular Matrices
1 Overview of Programming Principles of Computers.
Canny Edge Detection Using an NVIDIA GPU and CUDA Alex Wade CAP6938 Final Project.
Math 252: Math Modeling Eli Goldwyn Introduction to MATLAB.
Coordinate Systems and Transformations
Notes Over 4.2 Finding the Product of Two Matrices Find the product. If it is not defined, state the reason. To multiply matrices, the number of columns.
PROGRAMMING FUNDAMENTALS INTRODUCTION TO PROGRAMMING. Computer Programming Concepts. Flowchart. Structured Programming Design. Implementation Documentation.
Converting Matrix Market matrices to Matlab format The Matrix Market is an interesting collection of matrices from a variety of applications.
Copyright  1999 by James H. Money. All rights reserved. Except as permitted under United States Copyright Act of 1976, no part of this publication may.
MATLAB (Matrix Algebra laboratory), distributed by The MathWorks, is a technical computing environment for high performance numeric computation and.
THREE COLUMN (Click to edit) Introduction or Abstract Type in or past your text (Click to edit) Materials and Methods Type in or past your text (Click.
Robotic Arms and Matrices By Chris Wong and Chris Marino.
CPT450 – Computer Graphics
13.4 Product of Two Matrices
CSCI-235 Micro-Computer Applications
Warm up (5, 7 4 ) Write the solution of the following system:
3D Geometric Transformations
CSE 554 Lecture 9: Laplacian Deformation
Use of Mathematics using Technology (Maltlab)
Chapter 1 Introduction(1.1)
Communication and Coding Theory Lab(CS491)
Transformations.
Chapter 2. Problem Solving and Software Engineering
Matrix A matrix is a rectangular arrangement of numbers in rows and columns Each number in a matrix is called an Element. The dimensions of a matrix are.
M S COLLEGE ART’S, COMM., SCI. & BMS
Presentation transcript:

3D Graphics Module Ramesh Srigiriraju

Abstract Project Areas: 3D Graphics, Modular design Purpose: to test data schemes for 3D rotatons Four different test cases for data storage Graphing calculator program to perform tests

Abstract Scheme 1: Matrix expression trees, recalculate each time, column vectors Scheme 2: Matrix expression trees, recalculate each time, row vectors Scheme 3: Matrix expression trees, row vectors Scheme 4: Hard-coded rotation formulas

Introduction Matrices used for rotations & stretches A=[[cos(a) -sin(a)] [sin(a) cos(a)]] Matrix above rotates points by an angle a Homogeneous coordinates: (x, y, z, 1) so that translations become linear

Introduction Current programs in this area: Maple MatLab Mathematica Graphing programs built-in to calculators

Development & Construction Programs written in Java All programs run on 1.5 Ghz processor, 512 MB RAM No other processes running, except for IDE 10 million trials b/c of outliers First million trials ignored

Development & Construction Garbage collector run each iteration to avoid memory leaks Number of trials reduced to 10,000 Runtime length outputted to text files for all versions Separate program used to calculate means, modes

Development & Construction Matrix editor module used to test matrix trees Calculator module used to test binary expression trees Graphing module used to test data storage scheme

Development & Construction Z-Buffer algorithm: different schemes work for different graphs Success determined by magnitude of gradient Combination fails when |▼f|≈1

Memory Leaks Scheme 1: 2685 Scheme 2: 2513 Scheme 3: 2592 Scheme 4: 2440 Steady-state reached after ~20K trials

Garbage Collect Scheme 1: Scheme 2: Scheme 3: Scheme 4: Absence of “spike- and-plateau” pattern

Results & Conclusion 40 million data points 240 MB of data collected Z-Buffer algorithm Numeric gradients: too costly