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
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.
Advertisements

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.
How to use Matrix Market matrices in Matlab The Matrix Market is an interesting collection of matrices from a variety of applications.
The Matrix Market The Matrix Market is an interesting collection of matrices from a variety of applications.
Introduction to MATLAB MECH 300H Spring Starting of MATLAB.
Computer Animations of Molecular Vibration Michael McGuan and Robert M. Hanson Summer Research 2004 Department of Chemistry St. Olaf College Northfield,
Module 6 Matrices & Applications Chapter 26 Matrices and Applications I.
Whiteboardmaths.com © 2011 All rights reserved
Unit 9: Vectors, Matrices and Transformations
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.
Point set alignment Closed-form solution of absolute orientation using unit quaternions Berthold K. P. Horn Department of Electrical Engineering, University.
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.
3D Graphics Module Ramesh Srigiriraju. Abstract Project Areas: 3D Graphics, Modular design Purpose: to test data schemes for 3D rotatons Four different.
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”
Homogeneous Coordinates (Projective Space) Let be a point in Euclidean space Change to homogeneous coordinates: Defined up to scale: Can go back to non-homogeneous.
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!
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.
Matlab Programming for Engineers Dr. Bashir NOURI Introduction to Matlab Matlab Basics Branching Statements Loops User Defined Functions Additional Data.
Parallelization of the Classic Gram-Schmidt QR-Factorization
Page 1 © 2001 Hewlett-Packard Company Tools for Measuring System and Application Performance Introduction GlancePlus Introduction Glance Motif Glance Character.
Rotation matrices 1 Constructing rotation matricesEigenvectors and eigenvalues 0 x y.
Lecture 20: Choosing the Right Tool for the Job. What is MATLAB? MATLAB is one of a number of commercially available, sophisticated mathematical computation.
1 Absolute Orientation Determination using Horn Approach.
3D Graphics Module Ramesh Srigiriraju. Abstract Project Areas: 3D Graphics, Modular design Purpose: to test data schemes for 3D rotatons Four different.
Mohammad Zohaib Grade 11, Room-1 Aug 2011 to Dec 2011 The City School Gulshan Boys Campus.
Review of Matrix Operations Vector: a sequence of elements (the order is important) e.g., x = (2, 1) denotes a vector length = sqrt(2*2+1*1) orientation.
Graphs A graphs is an abstract representation of a set of objects, called vertices or nodes, where some pairs of the objects are connected by links, called.
A.Abhari CPS1251 Topic 1: Introduction to Computers Computer Hardware Computer components Connecting Computers Computer Software Operating System (OS)
2/16/ Pascal’s Triangle. Pascal’s Triangle For any given value of n, there are n+1 different calculations of combinations: 0C00C00C00C0 1C01C01C01C0.
Canny Edge Detection Using an NVIDIA GPU and CUDA Alex Wade CAP6938 Final Project.
Math 252: Math Modeling Eli Goldwyn Introduction to MATLAB.
Introduction to Programming on MATLAB Ecological Modeling Course Sep 11th, 2006.
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.
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
ECE 1304 Introduction to Electrical and Computer Engineering
Review of Matrix Operations
CSCI-235 Micro-Computer Applications
Warm up (5, 7 4 ) Write the solution of the following system:
3D Geometric Transformations
Part I – Matlab Basics.
Use of Mathematics using Technology (Maltlab)
Chapter 1 Introduction(1.1)
Communication and Coding Theory Lab(CS491)
Linear Relationships coordinates reflections origin
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

Binary Expression Tree

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

Abstract PGM format used to measure whitespace Graph used: z=1/(x^2+y^2), θ=-.1, φ=π/4 Scheme 1: plotted Scheme 2: triangles Scheme 3: Scheme 1+Scheme 2 Scheme 4: gradients determine when to apply Schemes 1 & 2

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

Results & Conclusion 40 million data points 240 MB of data collected Symmetric differences: too costly

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

Z-Buffering Scheme 1: 73% Scheme 2: 89% Scheme 3: 66% Scheme 4: 67% Gradients: not significantly compromise