Collision of dot and line in 2D space

Posted by Anderiel on Stack Overflow See other posts from Stack Overflow or by Anderiel
Published on 2012-10-08T14:31:25Z Indexed on 2012/10/08 15:38 UTC
Read the original article Hit count: 237

Filed under:
|
|
|
|

So i'm trying to make my first game on android. The thing is i have a small moving ball and i want it to bounce from a line that i drew. For that i need to find if the x,y of the ball are also coordinates of one dot from the line.

I tried to implement these equations about lines

x=a1 + t*u1

y=a2 + t*u2 => (x-a1)/u1=(y-a2)/u2 (t=t which has to be if the point is on the line)

where x and y are the coordinates im testing, dot[a1,a2] is a dot that is on the line and u(u1,u2) is the vector of the line.

heres the code:

       public boolean Collided()
   {
       float u1 =Math.abs(Math.round(begin_X)-Math.round(end_X));
       float u2 =Math.abs(Math.round(begin_Y)-Math.round(end_Y));          
       float t_x =Math.round((elect_X - begin_X)/u1);
       float t_y =Math.round((elect_Y - begin_Y)/u2);
       if(t_x==t_y)
       {
           return true;
       }
       else
       {
           return false;
       }       
   }

points [begin_X,end_X] and [begin_Y,end_Y] are the two points from the line and [elect_X,elect_Y] are the coordinates of the ball

theoreticaly it should work, but in the reality the ball most of the time just goes straigth through the line or bounces somewhere else where it shouldnt

© Stack Overflow or respective owner

Related posts about java

Related posts about android