//初始化x,y
double x = 0, y = 0;
//给公式中的常量赋值,改变常量值可以改变得到的效果图
//double a = -1.7, b = -2.41, c = -1.02, d = -1.11;
double a = 1.7, b = 2.3, c = 2, d = 1.2;
//double a = 2.3, b = -1, c = 1.9, d = 1.1;
//double a = -2.61, b = -3.12, c = -1.9, d = -1.8;
//double a = -2, b = -2, c = -1.2, d = 2;
//double a = 1.40, b = 1.56, c = 1.40, d = -6.56;
//使用循环计算出每次迭代的坐标,并通过画线函数完成绘制
for(int i = 0; i < 100000; i++){
//公式1
x = d * Math.sin(a * x) - Math.sin(b * y);
y = c * Math.cos(a * x) - Math.cos(b * y);
int m = (int) ((d * Math.sin(a * x) - Math.sin(b * y)) *100 +330);
int n = (int) ((c * Math.cos(a * x) - Math.cos(b * y)) *100 +330);
//公式2
//x = d * Math.sin(a * x) - Math.sin(b * y);
//y = c * Math.cos(a * x) + Math.cos(b * y);
//int m = (int) (d * Math.sin(a * x) - Math.sin(b * y) * 100 + 550);
//int n = (int) (c * Math.cos(a * x) + Math.cos(b * y) * 100 + 550);
//公式3
// x = d * Math.sin(a * y) - c * Math.cos(b * x);
// y = a * Math.sin(c * x) - b * Math.cos(d * y);
//
// int m = (int) ((Math.sin(a * y) - Math.cos(b * x) * 80 + 330));
// int n = (int) ((Math.sin(c * x) - Math.cos(d * y) * 80 + 330));
//给每个点上颜色
Graphics g = jf.getGraphics();//配置颜色
Color col = new Color(i%255, 0, i%255);//设定这次要花的颜色
g.setColor(col);
//g.setColor(new Color(0, 0, 0));
//画出这个点
g.drawLine(m, n, m, n);
}
}