From: | Alexander Korotkov <aekorotkov(at)gmail(dot)com> |
---|---|
To: | Fabien COELHO <coelho(at)cri(dot)ensmp(dot)fr> |
Cc: | pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Distance from point to box |
Date: | 2014-07-30 13:28:25 |
Message-ID: | CAPpHfdsDuvucZGwvtdOUCQ8x1crmLhaRMEiHDKVJiUx38VDE_Q@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Wed, Jul 30, 2014 at 4:06 PM, Fabien COELHO <coelho(at)cri(dot)ensmp(dot)fr> wrote:
>
> double dx = 0.0, dy = 0.0;
>>
>> if (point->x < box->low.x)
>> dx = box->low.x - point->x;
>> if (point->x > box->high.x)
>> dx = point->x - box->high.x;
>> if (point->y < box->low.y)
>> dy = box->low.y - point->y;
>> if (point->y > box->high.y)
>> dy = point->y - box->high.y;
>> return HYPOT(dx, dy);
>>
>> I feel myself quite tangled.
>> Could anybody clarify it for me? Did I miss something? Thanks.
>>
>
> ISTM that you miss the projection on the segment if dx=0 or dy=0.
I don't need to find projection itself, I need only distance. When dx = 0
then nearest point is on horizontal line of box, so distance to it is dy.
Same when dy = 0. When both of them are 0 then point is in the box.
------
With best regards,
Alexander Korotkov.
From | Date | Subject | |
---|---|---|---|
Next Message | desmodemone | 2014-07-30 13:30:56 | Re: Proposal: Incremental Backup |
Previous Message | Fabien COELHO | 2014-07-30 12:06:02 | Re: Distance from point to box |