合成関数を実現するクラスを作ります。これは、MyCurveクラスを継承します。
全ソースです。
public class MyComposite extends MyCurve {
MyCurve mf, mg;
public void set(MyCurve mf, MyCurve mg) {
this.mf = mf;
this.mg = mg;
}
public void p(double t) {
x = t;
mf.p(x);
mg.p(mf.y);
y=mg.y;
}
}
関数を2つ受け取るメソッドです。
public void set(MyCurve mf, MyCurve mg) {
this.mf = mf;
this.mg = mg;
}
2つの関数を合成します。
public MyPoint cf(double t) {
x = t;
y = mg.cf(mf.cf(x).y).y;
return this;
}