# Convert Cartesian coordinate system into java coordinate system?

• 02-07-2010, 11:44 AM
123
Convert Cartesian coordinate system into java coordinate system?
Please give me a way to code a method to convert cartesian coord. into java/picture coord. system I'm not supposed to use predefined functions like affine, scale(), transform, etc for this method.

Heres the picture: http://i45.tinypic.com/2z4fgog.jpg

For eg. i want to plot a point on java system from cartesian coordinates: (0.905, 0.360) & (-0.023, 0.410)
I need write the code inside the method: coordinateToPixel()
• 02-07-2010, 03:13 PM
Fubarable
Surely you've tried something yourself first as it's simple algebra. Why not show us this code and describe what problems you are having with it.
• 02-07-2010, 09:27 PM
123
ye this seems to work:
for x:
Code:

`int newX = (int) ( (x + 1) * width/2 )`
for y:
Code:

`int newY = (int) ( (y - 1) * -height/2 )`
where, width & height = 1000 pixels (in this case)

Please tell if casting this into a int is required. I thought Java coord. system only takes int values. My x & y are all double value and are stored in an object array.

Now i want to assign newX & newY into the original x & y values.
And also use newX & newY to draw shapes into system.
How to do this?
• 02-07-2010, 09:34 PM
Fubarable
If you want to always stretch the graph to fit the view I'd change this:
Code:

`int newY = (int) ( (y - 1) * -width/2 )`
to this:
Code:

`int newY = (int) ( (y - 1) * -height/2 )`
your height may == width now, but this may not always be the case.

If on the other hand you want to always maintain a square symmetry, then you could always check which is greater height or width and use the lesser of the two as your scaling factor.

Quote:

Please tell if casting this into a int is required. I thought Java coord. system only takes int values. My x & y are all double value type.
The methods you use should tell you when int is required. For instance many Shape object derived methods and constructors will happily use floating point variables, for instance the methods of Point2D, while most (all?) of the Graphics draw methods require ints. Here's where the Java API becomes indispensable.

Quote:

Now i want to assign newX & newY into the original x & y values.
And also use newX & newY to draw shapes into system.
How to do this?
I'm not sure what you're asking here. More details may help.