Point2dC and Vector2dC (and maybe others) store their
coordinates in row,column format. However, the access
functions are X() and Y(), in that order. This means
that X() gives the row coordinate, and Y() gives the
column coord. This it totally counter-intuitive and
confusing. Perhaps these classes should have Row() and
Col() accessors, and X() and Y() could be reversed.
Logged In: YES
user_id=194054
I think in fact that the X() and Y() functions will be
completely removed to avoid breaking code subtly, and
replaced with only Row() and Col().
Logged In: YES
user_id=194054
This is in progress - Row() and Col() accessors for Point2dC
have been added, and X() and Y() will be removed from both
Point2dC and Vector2dC in the near future.
Logged In: YES
user_id=231365
This "feature" was an innovation of Radek. It is
well-explained in the documentation. The idea was that:
a) you get a counter-clockwise coordinate system, consistent
with mathematics throughout the world
b) we talk about Row/Col, X/Y, [0]/[1] i.e. whichever we
use, the vertical one is the 1st of the pair, & the 2nd the
horizontal one.
c) the image processing community does not have a standard
anyway. E.g. TV people use x right, y down, whereas
Postscript uses x right, y up.
I argued with him considerably at the time, but eventually
decided he had a point.
Cheers,
Bill.