KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I'm looking for a way to make a line curve through a number of points. It would be preferable to use 3 points although I've considered that in order to give context to the angle of the line entering a point more may be needed to give context to the curve so to speak. In general a start point P1, a control point P2 and an end point P3, the line should curve to P2 from P1 and then curve from P2 to P3. In fact here is a perfect example of the effect I would like to achieve: If I could do this I really would be eternally grateful! In Java so far, I have tried playing around with things such as QuadCurve2D.Double , Cub icCurve2D.Double and also Path2D.Double (using curveTo with Path2D.Double) but to no avail - the curves which are painted aren't even close to passing through the control point specified. Here is an image of the methods I have tried so far : And here is the code I used to generate the points and curves in the image : Graphics2D g = (Graphics2D) window.getGraphics(); g.setColor(Color.blue); int d = 4; // P0 int x0 = window.getWidth()/8; int y0 = 250; g.drawString("P0", x0, y0 + 4*d); g.fillRect(x0, y0, d, d); // P1 int x1 = (window.getWidth()/7)*2; int y1 = 235; g.drawString("P1", x1, y1 + 4*d); g.fillRect(x1, y1, d, d); // P2 int x2 = (window.getWidth()/2); int y2 = 200; g.drawString("P2", x2, y2 - 2*d); g.fillRect(x2, y2, d, d);
Tags (comma-separated)
Save Edits
Cancel