你好
我正在研究3d Grapher
并且效果很好!
它就像这个y = f(x,z)
一样工作。 y向上
所以现在我需要使用变量x& z 在函数中。
x & z are for loops
我想让我执行该功能并在功能之外设置y 所以我希望每次都需要输入这个功能(计划以api的形式发布)..
有没有这样做?
请记住,我需要使用x和z来定义Y
代码(位):
public void ThreeDimensionalGraph(Location loc, double startX, double startZ, double endX, double endZ, double smoothness) {
for (double x = startX; x < endX; x += smoothness) {
for (double z = startZ; z < endZ; z += smoothness) {
double y = x * z //i need to be able to use x and z;
//drawing
}
}
}
答案 0 :(得分:0)
您要找的是DoubleBinaryOperator
您的方法将如下所示:
public void ThreeDimensionalGraph(Location loc,
double startX, double startZ,
double endX, double endZ,
double smoothness,
DoubleBinaryOperator f) {
for (double x = startX; x < endX; x += smoothness) {
for (double z = startZ; z < endZ; z += smoothness) {
double y = f.applyAsDouble(x, z);
//drawing
}
}
}
你可以称之为
ThreeDimensionalGraph(loc, startX, startZ, endX, endZ, smoothness, (x,z) -> x*z);
ThreeDimensionalGraph(loc, startX, startZ, endX, endZ, smoothness, (x,z) -> Math.cos(x)*Math.cos(z));