Lines intersect and reflect

  1. I have been coming across a very very basic mathematics problem and still cant get my head around it. Should admit not the best to really talk maths to but I need the following

    I am doin a collision detection algorithm..

    For this I have a point that moves .I got the position of the point. But then here is the problem.

    How do i really find where the vector in which the point moves intersect with a line....

    If It intersects I need to reflect the vector..

    Would be really nice to help me out in this issue..

    Also can someone explain to me how the equation of the line AX+BY+C = 0 y=mx+c and the normals related ....

    Also how does one fine a line perpendicular to another..

    Well too many question and very unordered. Sorry about that . Jus typed all the questions on my mind

    Regards
     
  2. jcsd
  3. Mentallic

    Mentallic 3,687
    Homework Helper

    I haven't studied vectors in great detail, so I'm finding it hard to understand exactly what you're saying here, however, I will give it a shot and hopefully it'll be along the lines (no pun intended) of what you're looking for.

    If a point is moving along a plane, defined by some function y=f(x), it will intersect the line ax+by+c=0 if and only if there are real solutions for x (and thus y also) that satisfies both functions.

    e.g. particle moves along [itex]y=x^2[/itex], to find if it intersects [itex]3x-y-2=0[/itex] simply solve these simultaneously. i.e. substitute [itex]y=x^2[/itex] into the line equation.

    Hence,
    [tex]3x-(x^2)-2=0[/tex]
    [tex]x^2-3x+2=0[/tex]
    [tex](x-2)(x-1)=0[/tex]
    [tex]x=1,2[/tex]

    So the intersections are at x=1 and x=2. Finding the y-value, sub these x-values back into one of the functions. So, [itex]y=1^2,2^2[/itex] Therefore the points of intersection are (1,1) and (2,4).

    To find the angle at which the particle travelling along [itex]y=x^2[/itex] 'collided' with the line, find the gradient of the tangent at the point of collision and the gradient of the line by the use of calculus.

    Lets just take the point (1,1).
    [tex]y=x^2[/tex]
    [tex]dy/dx=2x[/tex]
    At x=1, [itex]dy/dx=2[/itex]

    So the gradient is 2 while the gradient of the line is... [itex]y=3x-2[/itex] comparing to y=mx+b where m is the gradient, hence, 3.

    Now use the formula [tex]tan(\theta) =\frac{tan(m_1)-tan(m_2)}{1-tan(m_1)tan(m_2)}[/tex]

    where m1 and m2 are the graidents and [itex]\theta[/itex] is the angle of intersection.

    The reflection of the vector would just be [itex]180^o-\theta[/itex]



    If you re-arrange and solve [itex]ax+by+c=0[/itex] for y...
    [tex]by=-ax-c[/tex]

    [tex]y=-\frac{a}{b}x-\frac{c}{b}[/itex]

    so as you can see, the gradient of [itex]y=mx+k[/itex] is m, while the gradient of [itex]ax+by+c=0[/itex] is [tex] -\frac{a}{b}[/tex]

    First find the gradient of one line by calculus or, better yet, doing it the way just above. Then use the formula [itex](m_1)(m_2)=-1[/itex]
    Basically, for 2 lines to be perpendicular, their gradients must multiply to give -1.

    For the general line above,
    [tex]ax+by+c=0[/tex]

    [tex]y=-\frac{a}{b}x-\frac{c}{b}[/tex]

    The gradient for the normal of this line must be [tex]m_1=\frac{-1}{m_2}[/tex]

    So, [tex]\frac{-1}{-\frac{a}{b}}=\frac{b}{a}[/tex]

    Hence, [tex]y=\frac{b}{a}x-\frac{c}{b}[/tex]
     
  4. Thanks for that post . I really appreciate the time you have taken to reply to my quesiton...

    I understand how ax+by+c and y=mx+c are related. But then How is this related to the normals of the line..Is this somethin I have missed or not understoond
     
  5. Mentallic

    Mentallic 3,687
    Homework Helper

    Hmm...

    The only actual relationship one can give between any line and its normal is that their gradients multiply to -1

    So if you have a line [itex]y=mx+k_1[/itex] the normal would be [itex]y=\frac{-1}{m}x+k_2[/itex]

    I'm not sure what else there is to say. If you're still unsatisfied, please, try and elaborate your problem a little further and I'm sure you'll get more help :smile:
     
Know someone interested in this topic? Share a link to this question via email, Google+, Twitter, or Facebook

Have something to add?