カテナリー曲線、または懸垂曲線は次の式で表されます。
\[ y = a \left( \frac{ e^{ \frac{x}{a}} + e^{ -\frac{x}{a}}}{2} \right) \]
この曲線のクラスを作ります。
package myMath; // カテナリー public class MyCatenary extends MyCurve { double a = 1; public void init(double a) { this.a = a; } public void p(double t) { x = t; y = a * (Math.pow(Math.E, x / a) + Math.pow(Math.E, -x / a)) / 2; } }
import java.awt.Color; import java.awt.Graphics2D; import MyCatenary; import Tpl20; public class TestMyCatenary extends Tpl20 { public void draw2(Graphics2D g2) { MyCatenary cv = new MyCatenary(); double a, b; a = -2; b = 2; g2.setColor(Color.blue); cv.init(0.5); draw(cv, a,b); g2.setColor(Color.cyan); cv.init(1); draw(cv, a,b); g2.setColor(Color.red); cv.init(2); draw(cv, a,b); } }