JavaFX图形编程:从分形到高性能优化
1. 可配置粒子系统
可配置粒子系统的代码并未全部公开,你可以在相关的GitHub仓库中找到完整代码。运行该应用时,若添加大量发射器,且每帧生成大量粒子,尤其是帧率过高时,应用会变得缓慢。可参考文末提示来提升性能。此外,该应用还可添加以下特性:
- 粒子格式选择
- 粒子方向设定
- 将可视化结果导出为文件或可在其他应用中复用的格式
2. 分形的世界
分形是由与自身相似的小几何形状构成的几何图形。利用分形,我们既能创造出美丽迷人的艺术作品,也能理解自然界中的图案形成规律。下面将借助分形来探索Canvas的能力。
2.1 曼德勃罗集
曼德勃罗集是由一系列复数序列生成的著名分形。构建曼德勃罗集时,需对函数$f(z) = z^2 + c$进行迭代,从$z = 0$开始,不断用函数结果填充。该函数趋向于无穷大,但部分中间值可能产生有趣结果。例如,对图像像素进行迭代,将像素映射到曼德勃罗集可接受的值,然后使用像素写入器,当结果趋向无穷大时将像素颜色设为白色,否则设为黑色,结果如下:
private final int MAX_ITERATIONS = 100;
private double zx, zy, cX, cY, tmp;
int i;
@Override
public void setup() {
width = 1200;
height = 800;
frames(0);
}
@Override
public void draw() {
long st
超级会员免费看
订阅专栏 解锁全文
30

被折叠的 条评论
为什么被折叠?



