# rectangle contains point

Discussion in 'Java' started by bob smith, Oct 5, 2012.

1. ### bob smithGuest

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.
bob smith, Oct 5, 2012

2. ### markspaceGuest

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.
markspace, Oct 5, 2012

3. ### Eric SosmanGuest

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
d
Eric Sosman, Oct 5, 2012
4. ### Jeff HigginsGuest

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
Jeff Higgins, Oct 5, 2012
5. ### bob smithGuest

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
>
> d

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

Thanks.
bob smith, Oct 5, 2012