3D-Pool Game Simulator

1 / 23

# 3D-Pool Game Simulator - PowerPoint PPT Presentation

3D-Pool Game Simulator. CS491B Aslan Neishaboori. Background . Simulation: CS area of study CS and other fields hand-in-hand Needs data Provides simulators. Background. Benefits: Prediction Unknown aspects of the study matter Cost effective. Background . 3D Graphics

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about '3D-Pool Game Simulator' - johnda

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

### 3D-Pool Game Simulator

CS491B

Aslan Neishaboori

Introduction to Java3D1

Background
• Simulation:
• CS area of study
• CS and other fields hand-in-hand
• Needs data
• Provides simulators

Introduction to Java3D2

Background
• Benefits:
• Prediction
• Unknown aspects of the study matter
• Cost effective

Introduction to Java3D3

Background
• 3D Graphics
• One of important branches of CS
• Java 3D

Introduction to Java3D4

3D pool
• Simulator
• The data is provided
• The physics of the game is known
• 3D Graphics
• Somewhere to start!
• Pool has a simple Geometry

Introduction to Java3D5

Objective:
• Simple presentation
• Accurate physics

Introduction to Java3D6

Objectives
• Add involving physical factors one by one
• Abstract less important factors

Introduction to Java3D7

What are the factors?
• Gravity
• Cue
• Friction
• Velocity
• Rotation, Spin
• Elasticity of collisions
• ….

Introduction to Java3D8

Spin and Translation!

Introduction to Java3D9

Simplify:
• Create a simple working model first
• Add more functionality to that model

Introduction to Java3D11

Code!
• Geometry classes
• Initialization classes
• Auxiliary classes
• Behavior classes
• Collision detection classes

Introduction to Java3D12

Scene Graph?
• A scene graph is a tree-like data structure that stores, organizes, and renders 3D scene information (3D objects, materials, lights, behaviours ...).
• It is not a tree
• It has nodes and arcs (connects the nodes)
• Nodes are java classes

Introduction to Java3D13

Content Branch

View Branch

Introduction to Java3D14

BG

TG

TG

TG

TG

TG

TG

TG

TG

TG

TG

Content Branch

Introduction to Java3D15

Actual code
• TransformGroup + shape3D’s
• BallTG()
• CueTG()
• tableGeometry()
• TableTop()
• Outlines()

Introduction to Java3D16

Initializing other classes:
• Initz_balls()
• CompleteTable()
• Init_Cue()

Introduction to Java3D17

Transformations:
• Translation
• Scaling
• Reflection
• Rotation

Introduction to Java3D18

3D Rotation

The 3D rotation matrices about each coordinate:

Introduction to Java3D19

Behavior Classes:
• StickMouseTranslate()
• StickMouseRotate()
• CueBallCollision()
• KeyNavigatorBehavior() in pool1() class

Introduction to Java3D20

Problems
• JAVA 3D API is complex
• Collision detection
• Communication between live nodes

Introduction to Java3D21

Final word
• 3D pool covers the whole Java 3D
• Good practice for OO programming
• Open source / Online project
• and….

Introduction to Java3D22

Thank you,

Introduction to Java3D23