1. Limited time only! Sign up for a free 30min personal tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Homework Help: Intersection points of a line on a circle

  1. Jun 26, 2007 #1
    Hi all,

    I have a bit of an algebraic problem, and my lack of attention during math is starting to show. I was experimenting with hit detection based on lines for a simple shooting game, and the enemies bieng circulair.

    I already have a function to check the distance from the line to the circles centre, so I already know that there is a intersection (or hit). I also would like to know where it intersects, for graphics and some extra physics.

    So here's what I got:


    so these can be considered constant

    Equitions so far

    y = mx+b
    r^2 = y^2 + x^2

    this gives:
    r^2 = (mx+b)^2 + x^2

    And then my troubles begin, because writing that out would give:
    r^2 + b^2 = x^2 + mx^2 + 2mbx

    Googling around tells me that this is the way to go, and you should get a quadratic function, but I don't know how to solve this kind of equation. Can anybody help out? I hope to finish a prototype soon.

    Tnx in advance,

  2. jcsd
  3. Jun 26, 2007 #2


    User Avatar
    Staff Emeritus
    Science Advisor
    Gold Member

    The equation

    [tex] x^2 + y^2 = r^2 [/tex]

    implies that the center of the circle is at the origin of your coordinate system. You propably should be using the the more general form:

    [tex] (x-k)^2 + (y-h)^2 = r^2 [/tex]

    where the center of the circle is at (k,h)
  4. Jun 26, 2007 #3
    Yes, but that would complecate the problem even more. I was thinking of transforming the line function instead to simplify it, but if anyone knows the solution, that would be better. It would make a more efficient function.
  5. Jun 26, 2007 #4
    Google quadratic formula.

    If your circles aren't at the origin, and they're probably not, you'll have to use the more general form [tex]\int[/tex] suggested.

    The other option you can do is make (k,h) the 'origin' and have the equation of the line adjusted appropriately.
  6. Jun 26, 2007 #5


    User Avatar
    Staff Emeritus
    Science Advisor
    Gold Member

    You need to but your quadratic in the standard form

    [tex] ax^2 + bx +c =0 [/tex]

    Then apply the quadradic formula. It is essential that you use a consistent coordinate system. That means that the expression for the line and the circle should plot correctly if you were to draw them out.
  7. Jun 27, 2007 #6
    Exactly. But how do I go about, getting it to this form?

    [tex] r^2 = x^2 + y^2 [/tex]
    [tex] r^2 = x^2 + (mx+b)^2 [/tex]
    [tex] r^2 = x^2 + mx^2 + 2*bmx + b^2 [/tex]

    I have no idea how I can get that to [tex] ax^2 + bx +c =0 [/tex]
  8. Jun 27, 2007 #7

    Letting a=(1+m), b=2bmx and c=b^2 you will have it in 'standard form'.

    The important thing to realize that there are two different b's and not getting confused.
  9. Jun 27, 2007 #8
    Ah, thanks a bundle! I overlooked the possibility of [tex]x^2 + mx^2 = (1+m)x^2[/tex]

    No need to worry about me getting confused over that: I did a ton of these when I was 16. The problem is, that was 7 years ago :tongue:

    I'm gonna give [tex](x-k)^2 + (y-h)^2 = r^2 [/tex] a try after lunch.
  10. Jun 27, 2007 #9
    [tex] r^2 = (x-k)^2 + (y-h)^2 [/tex]
    [tex] r^2 = x^2 -2kx + k^2 + y^2 -2hy + h^2 [/tex]
    [tex] r^2 = x^2 -2kx + k^2 + (mx+b)^2 -2h(mx+b) + h^2 [/tex]
    [tex] r^2 = x^2 -2kx + k^2 + m^2x^2 + 2bmx + b^2 - 2hmx - 2hb + h^2 [/tex]

    [tex] 0 = (1-2k+m^2)x^2 + (2bm-2hm)x + (k+b^2-2hb+h^2-r^2) [/tex]

    [tex] D = b^2 - 4ac [/tex]
    [tex] D = (2bm - 2hm)^2 - 4(1-2k+m^2)(k+b^2-2hb+h^2-r^2) [/tex]

    No real need to evaluate D though, as there are always two intersections in my case.

    [tex] x = \frac{-b+\sqrt{D}}{2a} [/tex] or
    [tex] x = \frac{-b-\sqrt{D} }{2a} [/tex]
    [tex] x = \frac{-(2bm-2hm)+\sqrt{D}}{2(1-2k+m^2)}[/tex] or [tex] x = \frac{-(2bm-2hm)+\sqrt{D}}{2(1-2k+m^2)}[/tex]

    Is this right?
    Last edited: Jun 27, 2007
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook