在Java中绘制3Dfunction和点

我只需要3D中的function图,表面上有一些点。 我怎样才能实现它?

起初我尝试了jzy3d,但事实certificate这对于这样一个基本任务来说太费力了(特别是因为jzy3d缺少代码示例和JOGL的依赖可能很麻烦)。 所以我尝试了Java Surface Plot和function表面部分 – 它是完美的。 但是可以添加(x,y,z)点吗? 我猜不会。 在这种情况下,我可以使用其他库吗?

我知道这个问题可能会让人感到偏离主题,但这样一个简单的绘图是一个基本的function, 这个答案已经有2年了,所以……也许现在有更好的东西了吗?

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

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

但是,使代码适应这些数据并不困难,所以如果Orson Charts看起来像你可以使用的东西那么请联系我。

我对stackoverflow很新,所以也许我会带来一些新的(可能是旧的)视图。

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

//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; 

我指的是http://en.wikipedia.org/wiki/3D_projection

用你的所有点来做这个,你会看到绘制的图表。

Github上有Jzy3d 示例,展示了如何绘制曲面和散点图。

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

   org.jzy3d jzy3d-api 0.9.2-SNAPSHOT   

您只需要声明Jzy3d的存储库如下

   jzy3d-snapshots Jzy3d Snapshots http://maven.jzy3d.org/snapshots   jzy3d-releases Jzy3d Releases http://maven.jzy3d.org/releases  

如果给定的示例不够,您可能还要查看开发人员指南 。