Java SurfacePlotMesh(FXyz)构造函数参数

Java SurfacePlotMesh(FXyz)构造函数参数,java,javafx,javafx-3d,Java,Javafx,Javafx 3d,我想知道我是否正确地将构造函数参数理解为函数。 我的函数用于1D图表,基于在x轴上的每个步骤后应用变量,但作为参数,有一个Point2D,包含两个变量:x和y,如果我正确,则x变量是增加“0.5”的步骤对于之后的每次计算,应用y的函数。 那么泛型类型的第二个参数是什么,即编号? 如何使用SurfacePlotMesh类实现其他函数。有人能给我解释一下它是怎么工作的吗?或者链接文档(如果存在) 如果您查看FXyz中的SurfacePlotMesh代码,您会发现createPlotMesh(),一种

我想知道我是否正确地将构造函数参数理解为
函数
。 我的函数用于1D图表,基于在x轴上的每个步骤后应用变量,但作为参数,有一个
Point2D
,包含两个变量:
x
y
,如果我正确,则
x
变量是增加“0.5”的步骤对于
之后的每次计算,应用
y的函数。 那么泛型类型的第二个参数是什么,即编号?
如何使用
SurfacePlotMesh
类实现其他函数。有人能给我解释一下它是怎么工作的吗?或者链接文档(如果存在)

如果您查看FXyz中的
SurfacePlotMesh
代码,您会发现
createPlotMesh()
,一种基于平面网格上的两个坐标(x,y)为曲面创建网格的方法,该坐标取自
点2D
坐标,以及应用于该点的函数给出的函数值(z)

如果查看默认参数:

private static final Function<Point2D, Number> DEFAULT_FUNCTION = 
    p -> Math.sin(p.magnitude()) / p.magnitude();

private static final double DEFAULT_X_RANGE = 10; // -5 +5
private static final double DEFAULT_Y_RANGE = 10; // -5 +5
private static final int DEFAULT_X_DIVISIONS = 64;
private static final int DEFAULT_Y_DIVISIONS = 64;
private static final double DEFAULT_FUNCTION_SCALE = 1.0D;
其中,
time
参数将设置为固定值或在动画中


使用此函数'x->x=Math.sqrt(Math.pow(Math.exp(-(Math.pow((x-this.time),2)))*(Math.cos((2*Math.PI*(x-this.time))),2)+Math.pow(Math.exp(-(Math.pow((x-this.time),2))*(Math.sin((2*Math.PI*(x-this.time))),2));'该函数的结果将是y坐标,x坐标将从-1增加到1,并且将增加0.1,我如何使用
SurfacePlotMesh
的构造函数对其进行编码?使用1D函数,在任何给定时间,您都将得到曲线,而不是曲面。如果您使用
SurfacePlotMesh
x
替换为
p.getX()
,您将获得
y
的任何值的常量,因此您可以缩小y范围。我已经用可能的解决方案编辑了我的答案p.getX()猜测是FXyz库中声明的点2D的默认x?是的,有轴
private void createSurface(double time) {
    surface = new SurfacePlotMesh(
        p-> Math.sqrt(Math.pow(Math.exp(-(Math.pow((p.getX() - time), 2))) * 
            (Math.cos((2 * Math.PI * (p.getX() - time)))), 2) + 
            Math.pow(Math.exp(-(Math.pow((p.getX() - time), 2))) * 
            (Math.sin((2 * Math.PI * (p.getX() - time)))), 2)),
            10, 0.1, 64, 2, 2);
}