Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何创建和渲染三维分形?_Java_Opengl_3d_Render_Fractals - Fatal编程技术网

Java 如何创建和渲染三维分形?

Java 如何创建和渲染三维分形?,java,opengl,3d,render,fractals,Java,Opengl,3d,Render,Fractals,所以我被分配了一个递归艺术项目给我的AP CS课程,并且有很多空闲时间,所以我决定尝试一些更具野心的东西 我的计划是创建一个3D分形,可以用GL进行可视化渲染和着色,也可以通过将各个方程的输出空间映射到立方体上的点并绘制这些点来表示。如果这个解释看起来不清楚,请查看底部的图片链接。现在,我不需要在程序中修改分形。我只需要它来渲染一个buffereImage,我将直接把它放在JFrame上 就这个项目而言,我在Java方面的经验有点有限。我以前画过Mandelbrot和Julia set Frac

所以我被分配了一个递归艺术项目给我的AP CS课程,并且有很多空闲时间,所以我决定尝试一些更具野心的东西

我的计划是创建一个3D分形,可以用GL进行可视化渲染和着色,也可以通过将各个方程的输出空间映射到立方体上的点并绘制这些点来表示。如果这个解释看起来不清楚,请查看底部的图片链接。现在,我不需要在程序中修改分形。我只需要它来渲染一个buffereImage,我将直接把它放在JFrame上

就这个项目而言,我在Java方面的经验有点有限。我以前画过Mandelbrot和Julia set Fractal,但是我几乎没有在Java中用3D绘制/渲染对象的经验。这些都是我自己可以查找并弄清楚的东西,所以这里不用担心

因此,问题是:如何将第二维度的分形映射到第三维度(例如log(细分实体的数量)*log(细分的边长)=2)(例如log(细分实体的数量)*log(细分的边长)=3)?我在试图用数学方法解决这个问题时迷失了方向,我相信有一种更有组织的方法可以绕过已经存在的大量数学

此外,如果您知道一种结构化方法,可以渲染由公式绘制的二维分形,并在3D中渲染,前提是提供了相应的公式(功率提高),请告诉我。我听说过光线跟踪器,不知道它们是什么,一个简短的总结会很酷

以下是我想要获得的结果的图片链接:


这张图像似乎是一个例子。这是一个类似于Mandlebrot集合的迭代公式,但使用了3D点和一个新颖的想法,即将3D点提升为幂意味着什么。

从我所看到的,您链接到的图片是一个。如果你还没有这样做,你可能想看看链接的维基百科文章,它提供了在算法方法中应该可用的公式。谢谢你提供的信息。我查了一下灯泡,听起来很有趣。Wiki上的公式似乎返回一组三维坐标。如何渲染一个3D对象,比如给定的x、y、z坐标?我想你需要使用体积法。就像使用Mandelbrot集合一样,您迭代图像中的所有像素,并确定它应该是什么颜色。对于三维区域中的每个体素,可以对其进行迭代。您只需要使用边界上的体素。我自己也没有画过,所以我不能告诉你比维基百科文章中的链接更多的东西。