Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #3378
| From | byhesed <byhesed@gmail.com> |
|---|---|
| Newsgroups | comp.lang.java.programmer |
| Subject | Re: Programming question determining two circle's relation |
| Date | 2011-04-30 09:01 -0700 |
| Organization | http://groups.google.com |
| Message-ID | <7e45f31e-09cc-4bd8-90d1-aa76782bf9a5@d26g2000prn.googlegroups.com> (permalink) |
| References | <892252a0-e31d-426b-8f47-d37c0b2ec364@17g2000prr.googlegroups.com> <14270bba-4ef7-4144-bba3-e0a1bb943fca@a21g2000prj.googlegroups.com> <2bc6aa50-5730-4057-b016-3a2b7154f0e9@f15g2000pro.googlegroups.com> <922ph0Fa0tU2@mid.individual.net> |
On 5월1일, 오전12시51분, "Gavino" <inva...@invalid.invalid> wrote:
> "byhesed" <byhe...@gmail.com> wrote in message
>
> news:2bc6aa50-5730-4057-b016-3a2b7154f0e9@f15g2000pro.googlegroups.com...
>
>
>
>
>
>
>
>
>
> > Here is the correct answer.
>
> > public boolean contains(Circle2D circle) {
> > double distance = Math.pow(circle.x - getX(), 2.0) +
> > Math.pow(circle.y - getY(), 2.0);
> > if (distance <= (Math.pow(radius, 2.0) - Math.pow(circle.radius,
> > 2.0)))
> > return true;
> > else
> > return false;
>
> > }
>
> > public boolean overlaps(Circle2D circle) {
> > double distance = Math.pow(circle.x - getX(), 2.0) +
> > Math.pow(circle.y - getY(), 2.0);
> > if (distance < Math.abs(Math.pow(radius, 2.0) -
> > Math.pow(circle.radius, 2.0)))
> > return true;
>
> > else
> > return false;
> > }
>
> That's still wrong.
> 'contains' should have
> return Math.sqrt(distance) <= radius-circle.radius;
> and 'overlaps' should have
> return Math.sqrt(distance) <= radius+circle.radius;
> as can easily be seen by drawing a simple picture.
>
> Here I have retained your name 'distance' for what is actually the square of
> the distance.
No, it's totally correct.
In the source code, distance means the distance between center of two
circles.
So, distance = Math.sqrt((x0-x1)^2 + (y0-y1)^2)
Here is conditions for determining positions of two circles.
Contains: d <= |r1 - r2|
Overlaps: |r1 - r2| < d < r1 + r2
Remember, circle is shown as x^2 + y^2 = r^2.
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar
Programming question determining two circle's relation byhesed <byhesed@gmail.com> - 2011-04-30 01:33 -0700
Re: Programming question determining two circle's relation byhesed <byhesed@gmail.com> - 2011-04-30 01:59 -0700
Re: Programming question determining two circle's relation "Gavino" <invalid@invalid.invalid> - 2011-04-30 17:51 +0200
Re: Programming question determining two circle's relation byhesed <byhesed@gmail.com> - 2011-04-30 09:01 -0700
Re: Programming question determining two circle's relation "Gavino" <invalid@invalid.invalid> - 2011-04-30 18:33 +0200
Re: Programming question determining two circle's relation byhesed <byhesed@gmail.com> - 2011-04-30 02:03 -0700
Re: Programming question determining two circle's relation byhesed <byhesed@gmail.com> - 2011-04-30 02:50 -0700
Re: Programming question determining two circle's relation byhesed <byhesed@gmail.com> - 2011-04-30 08:42 -0700
Re: Programming question determining two circle's relation "Gavino" <invalid@invalid.invalid> - 2011-04-30 17:59 +0200
Re: Programming question determining two circle's relation "John B. Matthews" <nospam@nospam.invalid> - 2011-04-30 17:25 -0400
Re: Programming question determining two circle's relation Patricia Shanahan <pats@acm.org> - 2011-04-30 17:03 -0700
Re: Programming question determining two circle's relation "John B. Matthews" <nospam@nospam.invalid> - 2011-05-01 03:10 -0400
Re: Programming question determining two circle's relation Patricia Shanahan <pats@acm.org> - 2011-04-30 02:08 -0700
Re: Programming question determining two circle's relation Roedy Green <see_website@mindprod.com.invalid> - 2011-04-30 11:49 -0700
csiph-web