Hi !
Featured games (85)
games approved by the League of Dukes
Games in Showcase (636)
Games in Android Showcase (178)
games submitted by our members
Games in WIP (688)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Collision Detection  (Read 3173 times)
0 Members and 1 Guest are viewing this topic.
Offline prashant6388

Innocent Bystander

« Posted 2011-05-08 08:38:10 »

Hi guys,
I am trying to develop a billiards game in Java.
I want to know how to detect ball-2-ball collision so pls help me ?
thank you.
Offline delt0r

JGO Knight

Medals: 33
Exp: 18 years

Computers can do that?

« Reply #1 - Posted 2011-05-08 09:43:41 »

A brute force check every ball against every ball is your best bet. You don't have many balls and sphere tests are pretty easy. Once you have  a collision things get a little more tricky since you need to decide how to handle the fact that the billiard ball have penetrated each other  a little bit.

For accurate physics you would predict where and when the next collision will happen. Then move to that time point, calculate the collision dynamics, rinse and repeat. However this is quite complicated mathematically and most folks won't care about accurate that much.

I have no special talents. I am only passionately curious.--Albert Einstein
Offline Abuse

JGO Ninja

Medals: 42

falling into the abyss of reality

« Reply #2 - Posted 2011-05-08 10:27:46 »

This article has been on Gamasutra for 11 years.

swept sphere-sphere collision detection.

I implemented it some years ago, and can confirm it works as intended.

Make Elite IV:Dangerous happen! Pledge your backing at KICKSTARTER here!
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
« Reply #3 - Posted 2011-06-13 02:02:17 »

Sorry to derail; 'brute force' collision detection, is this just checking every item against every other for a collision?
Offline Eli Delventhal

JGO Kernel

Medals: 42
Projects: 11
Exp: 10 years

Game Engineer

« Reply #4 - Posted 2011-06-13 02:27:27 »

Sorry to derail; 'brute force' collision detection, is this just checking every item against every other for a collision?
Yes. A nested for loop.

for (int i = 0; i < length; i++) { for (int j = i+1; j < length; j++) {checkCollision(i,j)}};

See my work:
OTC Software
Pages: [1]
  ignore  |  Print  
You cannot reply to this message, because it is very, very old.

Dwinin (77 views)
2015-11-07 13:29:08

Rems19 (83 views)
2015-10-31 01:36:56

Rems19 (82 views)
2015-10-31 01:32:37

williamwoles (108 views)
2015-10-23 10:42:59

williamwoles (95 views)
2015-10-23 10:42:45

Jervac_ (113 views)
2015-10-18 23:29:12

DarkCart (139 views)
2015-10-16 00:58:11

KaiHH (120 views)
2015-10-11 14:10:14

KaiHH (162 views)
2015-10-11 13:26:18

BurntPizza (174 views)
2015-10-08 03:11:46
Rendering resources
by Roquen
2015-11-13 14:37:59

Rendering resources
by Roquen
2015-11-13 14:36:58

Math: Resources
by Roquen
2015-10-22 07:46:10

Networking Resources
by Roquen
2015-10-16 07:12:30

Rendering resources
by Roquen
2015-10-15 07:40:48

Math: Inequality properties
by Roquen
2015-10-01 13:30:46

Math: Inequality properties
by Roquen
2015-09-30 16:06:05

HotSpot Options
by Roquen
2015-08-29 11:33:11 is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!