1 / 23

3D-Pool Game Simulator

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

johnda
Download Presentation

3D-Pool Game Simulator

An Image/Link below is provided (as is) to download presentation 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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 3D-Pool Game Simulator CS491B Aslan Neishaboori Introduction to Java3D1

  2. Background • Simulation: • CS area of study • CS and other fields hand-in-hand • Needs data • Provides simulators Introduction to Java3D2

  3. Background • Benefits: • Prediction • Unknown aspects of the study matter • Cost effective Introduction to Java3D3

  4. Background • 3D Graphics • One of important branches of CS • Java 3D • Involves advance OO programming Introduction to Java3D4

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

  6. Objective: • Simple presentation • Accurate physics Introduction to Java3D6

  7. Objectives • Add involving physical factors one by one • Start with main factors • Abstract less important factors Introduction to Java3D7

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

  9. Spin and Translation! Introduction to Java3D9

  10. Linear and angular velocity +Friction! Introduction to Java3D10

  11. Simplify: • Create a simple working model first • Add more functionality to that model Introduction to Java3D11

  12. Code! • Geometry classes • Initialization classes • Auxiliary classes • Behavior classes • Collision detection classes Introduction to Java3D12

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

  14. Content Branch View Branch Introduction to Java3D14

  15. BG TG TG TG TG TG TG TG TG TG TG Content Branch Introduction to Java3D15

  16. Actual code • TransformGroup + shape3D’s • BallTG() • CueTG() • tableGeometry() • TableTop() • Outlines() Introduction to Java3D16

  17. Initializing other classes: • Initz_balls() • CompleteTable() • Init_Cue() Introduction to Java3D17

  18. Transformations: • Translation • Scaling • Reflection • Rotation Introduction to Java3D18

  19. 3D Rotation The 3D rotation matrices about each coordinate: About x-axis (x-roll) About y-axis (y-roll) About z-axis (z-roll) Introduction to Java3D19

  20. Behavior Classes: • StickMouseTranslate() • StickMouseRotate() • CueBallCollision() • KeyNavigatorBehavior() in pool1() class Introduction to Java3D20

  21. Problems • JAVA 3D API is complex • Collision detection • Communication between live nodes Introduction to Java3D21

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

  23. Thank you, Introduction to Java3D23

More Related