|
|
On 12/11/2009 02:43 AM, Slime wrote:
>> Have you tried this condition?
>>
>> ((distSq< (radius1Sq+radius2Sq))
>> or (4*radius1Sq*radius2Sq> (distSq - (radius1Sq+radius2Sq))^2))
>
> Smart. I feel stupid now! =) I see the equivalence, but I'm curious how long
> you took to come up with that. Was it obvious?
>
> - Slime
> [ http://www.slimeland.com/ ]
>
>
Well, it comes naturally from
distSq < radius1Sq + radius2Sq + 2 * radius1 * radius2
=>
distSq - (radius1Sq + radius2Sq ) < 2 * radius1 * radius2
=>
(distSq - (radius1Sq + radius2Sq ))^2 < 4 * radius1Sq * radius2Sq,
but the downside is that you have an overflow risk here to check
Post a reply to this message
|
|