カテナリー曲線、または懸垂曲線は次の式で表されます。
\[ 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);
}
}