# Draw a curve in Java if only have 3 coordinates known.....Help !!

motress zlting

Ranch Hand

Posts: 55

posted 6 years ago

How can i draw a curve in java language ?

The figure show the curve i going to draw ....if i have coordinate, then how to draw the curve,

and i also need to draw the curve and link it to become a circle if i only have 3 coordinates as shown,

the other may need to do estimation to draw it.

Anyone have the best way to do so ?

The figure show the curve i going to draw ....if i have coordinate, then how to draw the curve,

and i also need to draw the curve and link it to become a circle if i only have 3 coordinates as shown,

the other may need to do estimation to draw it.

Anyone have the best way to do so ?

Untitled-1.jpg

posted 6 years ago

Recommended reading http://java.sun.com/docs/books/tutorial/uiswing/painting/

Graphics#drawArc() is your friend

Graphics#drawArc() is your friend

posted 6 years ago

I think that Graphics.drawArc can help you draw that line, but you will probably need to transform your coordinates a bit. That's where basic math comes in, with sin, cos and tan (which are all available in the Math class).

Consider this little example:

The rectangle is to indicate how the x, y width and height values work. As you see, they form a rectangle all around the oval (end angle == 360). Now all you need to do is take these three coordinates and calculate x, y, width, height, the start angle and the end angle (0 and 60 respectively in my example).

Here's a hint:

- calculate the angle between (x,y) and (x1,y1) using Math

- calculate the angle between (x,y) and (x2,y2) using Math

- calculate x3 for which (x3,y) would be on the oval, using Math

- calculate y3 for which (x,y3) would be on the oval, using Math

- calculate the width and x position for the arc using x and x3

- calculate the height and y position for the arc using y and y3

- draw the arc!

Consider this little example:

The rectangle is to indicate how the x, y width and height values work. As you see, they form a rectangle all around the oval (end angle == 360). Now all you need to do is take these three coordinates and calculate x, y, width, height, the start angle and the end angle (0 and 60 respectively in my example).

Here's a hint:

- calculate the angle between (x,y) and (x1,y1) using Math

- calculate the angle between (x,y) and (x2,y2) using Math

- calculate x3 for which (x3,y) would be on the oval, using Math

- calculate y3 for which (x,y3) would be on the oval, using Math

- calculate the width and x position for the arc using x and x3

- calculate the height and y position for the arc using y and y3

- draw the arc!

SCJP 1.4 - SCJP 6 - SCWCD 5 - OCEEJBD 6 - OCEJPAD 6

How To Ask Questions How To Answer Questions

motress zlting

Ranch Hand

Posts: 55

posted 6 years ago

Thankyou so much ....I will go thru it...

Rob Prime wrote:I think that Graphics.drawArc can help you draw that line, but you will probably need to transform your coordinates a bit. That's where basic math comes in, with sin, cos and tan (which are all available in the Math class).

Thankyou so much ....I will go thru it...

motress zlting

Ranch Hand

Posts: 55

posted 6 years ago

Thanks ....

Maneesh Godbole wrote:Recommended reading http://java.sun.com/docs/books/tutorial/uiswing/painting/

Graphics#drawArc() is your friend

Thanks ....

posted 6 years ago

SCJP 1.4 - SCJP 6 - SCWCD 5 - OCEEJBD 6 - OCEJPAD 6

How To Ask Questions How To Answer Questions

With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime. |