Velocity Reviews > Java > rectangle contains point

# rectangle contains point

bob smith
Guest
Posts: n/a

 10-05-2012
So, I have a rectangle class as follows:

public class My_Rectangle {
double x, y, width, height;
AffineTransform aft;

Anyone know a good strategy for checking if a point is in the rectangle?

The main difficulty is the transform.

markspace
Guest
Posts: n/a

 10-05-2012
On 10/5/2012 12:00 PM, bob smith wrote:
> So, I have a rectangle class as follows:
>
> public class My_Rectangle {
> double x, y, width, height;
> AffineTransform aft;
>
> Anyone know a good strategy for checking if a point is in the rectangle?
>
> The main difficulty is the transform.

http://lmgtfy.com/?q=computational+geometery

Seriously, it's a big subject. I don't have any easy answers.

Eric Sosman
Guest
Posts: n/a

 10-05-2012
On 10/5/2012 3:00 PM, bob smith wrote:
> So, I have a rectangle class as follows:
>
> public class My_Rectangle {
> double x, y, width, height;
> AffineTransform aft;
>
> Anyone know a good strategy for checking if a point is in the rectangle?
>
> The main difficulty is the transform.

I'll assume that x/y/width/height represent an untransformed
rectangle, and that you want to test whether the point is inside
the quadrilateral formed by transforming the rectangle with aft.
If that's the question, I see two approaches:

- Transform the rectangle and represent the result as a
Polygon, then use Polygon's contains() method.

- Inverse-transform the point and test whether the transformed
point is inside the original rectangle.

If that's not the question, please explain more fully.

--
Eric Sosman
http://www.velocityreviews.com/forums/(E-Mail Removed)d

Jeff Higgins
Guest
Posts: n/a

 10-05-2012
On 10/05/2012 03:00 PM, bob smith wrote:
> So, I have a rectangle class as follows:
>
> public class My_Rectangle {
> double x, y, width, height;
> AffineTransform aft;
>
> Anyone know a good strategy for checking if a point is in the rectangle?
>
> The main difficulty is the transform.

John B. Matthews provided a strategy for this

bob smith
Guest
Posts: n/a

 10-05-2012
On Friday, October 5, 2012 2:23:18 PM UTC-5, Eric Sosman wrote:
> On 10/5/2012 3:00 PM, bob smith wrote:
>
> > So, I have a rectangle class as follows:

>
> >

>
> > public class My_Rectangle {

>
> > double x, y, width, height;

>
> > AffineTransform aft;

>
> >

>
> > Anyone know a good strategy for checking if a point is in the rectangle?

>
> >

>
> > The main difficulty is the transform.

>
>
>
> I'll assume that x/y/width/height represent an untransformed
>
> rectangle, and that you want to test whether the point is inside
>
> the quadrilateral formed by transforming the rectangle with aft.
>
> If that's the question, I see two approaches:
>
>
>
> - Transform the rectangle and represent the result as a
>
> Polygon, then use Polygon's contains() method.
>
>
>
> - Inverse-transform the point and test whether the transformed
>
> point is inside the original rectangle.
>
>
>
> If that's not the question, please explain more fully.
>
>
>
> --
>
> Eric Sosman
>
> (E-Mail Removed)d

Excellent ideas. I went with inverse transform, and it works.

Thanks.