用Java绘制三维函数和点

用Java绘制三维函数和点,java,3d,plot,Java,3d,Plot,我所需要的是一个三维函数图,在曲面上有一些点。我怎样才能做到呢 起初,我尝试了,但结果证明,对于这样一个基本任务来说,这太费劲了(特别是因为jzy3d缺少代码示例,并且与JOGL的依赖关系可能会很麻烦)。所以我尝试了,对于函数曲面部分,它是完美的。但是是否可以添加(x,y,z)点。。?我想不是。在这种情况下,我可以使用其他什么库 我知道这个问题可能有点离题,但这样一个简单的绘图是一个基本功能,答案已经有2年了,所以。。也许现在有更好的吗?我对stackoverflow还不太熟悉,所以我可能会引入

我所需要的是一个三维函数图,在曲面上有一些点。我怎样才能做到呢

起初,我尝试了,但结果证明,对于这样一个基本任务来说,这太费劲了(特别是因为jzy3d缺少代码示例,并且与JOGL的依赖关系可能会很麻烦)。所以我尝试了,对于函数曲面部分,它是完美的。但是是否可以添加(x,y,z)点。。?我想不是。在这种情况下,我可以使用其他什么库


我知道这个问题可能有点离题,但这样一个简单的绘图是一个基本功能,答案已经有2年了,所以。。也许现在有更好的吗?

我对stackoverflow还不太熟悉,所以我可能会引入一些新的(或者旧的)观点

您可以将3D点转换为2D点,我将以一种方式向其提交一个代码段(但有很多)

我指的是


对所有的点执行此操作,您将看到绘制的图表。

我对stackoverflow非常陌生,因此可能我将引入一些新的(或旧的)视图

您可以将3D点转换为2D点,我将以一种方式向其提交一个代码段(但有很多)

我指的是

对所有点执行此操作,您将看到绘制的图形。

是一个新的(专有)库,它将绘制没有JOGL依赖项的曲面图(它包含基于Java2D的软件渲染器,因此除了标准Java运行时之外没有依赖项)。曲面渲染器从函数y=f(x,z)中采样,因此您的需求可能存在问题,您可以说:

但是是否可以添加(x,y,z)点

但是,调整代码以处理此类数据并不困难,因此,如果Orson Charts看起来像您可以使用的东西,请与我联系。

是一个新的(专有)库,它将绘制无JOGL依赖性的曲面图表(它包含一个基于Java2D的软件渲染器,因此除了标准Java运行时之外没有依赖项)。曲面渲染器从函数y=f(x,z)中采样,因此您的需求可能存在问题,您可以说:

但是是否可以添加(x,y,z)点

但是,调整代码以处理此类数据并不困难,因此如果Orson图表看起来像您可以使用的东西,请与我联系。

有Jzy3d显示如何绘制曲面和散点图

您将看到maven配置非常简单,因为您应该简单地声明对jzy3d的依赖关系(JOGL被传递导入):


org.jzy3d
有Jzy3d显示如何绘制曲面和散点图

您将看到maven配置非常简单,因为您应该简单地声明对jzy3d的依赖关系(JOGL被传递导入):


org.jzy3d

.

我不想投影3D点。我想用功能曲面和其他一些标记在上面的点进行全三维打印。也可以用3D。我不确定您希望如何在2D设备(屏幕)上显示(打印)3D点…但是如果您调整参数cx/cz和scalex/scaley,您可以在屏幕上旋转、缩放、平移(平移)[投影]绘图哦,这就是你的意思。投影点是可行的,但实现曲面绘图()可以从零开始移动/旋转的是太多的工作了。我肯定有一些库可以处理它。哦,我明白了-你在找一个库^ ^-对不起,我不知道一个,但可能值得编程一个^ ^我不想投影三维点。我想用函数曲面和其他一些点进行全三维绘图我不确定你想如何在2D设备(屏幕)上显示(打印)3D点…但是如果你调整参数cx/cz和scalex/scaley,你可以在你的[投影]绘图上旋转、缩放、平移(平移)。哦,这就是你的意思。投影点是可行的,但实现了曲面打印()可以从头开始移动/旋转的是太多的工作了。我肯定有一些库可以处理它。哦,我明白了-你在找一个库^^-对不起,我不知道,但也许值得编程一个^^你好,大卫,我想能够从x,y,z点的网格中导出曲面,而不是需要提供一个continuous函数。然而,我希望能够做的另一件事(我认为OP正在做的事情)是在同一个3D图表中有两个“系列”——一个表面与其他表面(可能不相关)x,y,z散射点同时渲染。奥森支持吗?谢谢!你好,大卫,我希望能够从x,y,z点的网格中导出曲面,而不需要提供连续函数。然而,我希望能够做的另一件事(我认为OP正在做的事)是有两个“系列”在同一个3D图表中-一个曲面与其他(可能不相关的)x、y、z散点同时渲染。Orson支持吗?谢谢!
//point a (3D)
double ax = 3;
double ay = 4;
double az = 3;

//point b (2D)
double bx = 0;
double by = 0;

//assumtions
double cx = 0; //offset
double cz = 0; //offset

double scalex = 0.5;
double scalez = 0.5;

//trafo 3D -> 2D
bx = scalex * ax + cz;
by = scalez * az + cz;
<dependencies>
    <dependency>
        <groupId>org.jzy3d</groupId>
        <artifactId>jzy3d-api</artifactId>
        <version>0.9.2-SNAPSHOT</version>
    </dependency>
</dependencies>
<repositories>
  <repository>
     <id>jzy3d-snapshots</id>
     <name>Jzy3d Snapshots</name>
     <url>http://maven.jzy3d.org/snapshots</url>
  </repository>
  <repository>
     <id>jzy3d-releases</id>
     <name>Jzy3d Releases</name>
     <url>http://maven.jzy3d.org/releases</url>
  </repository>