more modular main
parent
ffd55385c5
commit
2c94c4b835
112
src/Main.java
112
src/Main.java
|
|
@ -11,21 +11,28 @@ import javax.imageio.ImageIO;
|
|||
|
||||
public class Main {
|
||||
private static Variable nameVar = new Variable("", "name", "0", false);
|
||||
private static int stars = 100;
|
||||
|
||||
private static int stars = 10;
|
||||
private static BufferedImage buffer;
|
||||
private static Graphics2D graphics;
|
||||
|
||||
public static void main(String[] args) {
|
||||
try {
|
||||
while (true) {
|
||||
//while (true) {
|
||||
String name = "" + Integer.parseInt(nameVar.getValue());
|
||||
nameVar.setValue("" + (Integer.parseInt(nameVar.getValue()) + 1));
|
||||
//nameVar.setValue("" + (Integer.parseInt(nameVar.getValue()) + 1));
|
||||
|
||||
Random rand = new Random();
|
||||
BufferedImage image = new BufferedImage(1024, 600, 3);
|
||||
Graphics2D graphics = (Graphics2D) image.getGraphics();
|
||||
buffer = new BufferedImage(1024, 600, 3);
|
||||
graphics = (Graphics2D) buffer.getGraphics();
|
||||
|
||||
|
||||
for (int y = 0; y < 600; y++)
|
||||
for (int x = 0; x < 1024; x++) {
|
||||
final int WIDTH = 1024;
|
||||
final int HEIGHT = 600;
|
||||
|
||||
final int MIN_STAR_SIZE = 20, MAX_STAR_SIZE = 50;
|
||||
|
||||
|
||||
for (int y = 0; y < HEIGHT; y++) {
|
||||
for (int x = 0; x < WIDTH; x++) {
|
||||
|
||||
int k = rand.nextInt(10);
|
||||
int r = 0 + k;
|
||||
|
|
@ -33,67 +40,59 @@ public class Main {
|
|||
int b = 0 + k;
|
||||
graphics.setColor(new Color(r, g, b));
|
||||
graphics.fillRect(x, y, 1, 1);
|
||||
}
|
||||
|
||||
// int stars = 1;
|
||||
for (int i = 0; i < stars; i++) {
|
||||
int size = (int) Math.pow(2, rand.nextInt(4) + 3) + 1;
|
||||
double x = rand.nextInt(1024 - size);
|
||||
double y = rand.nextInt(600 - size);
|
||||
int r = (rand.nextInt(4) * 10) + 10;
|
||||
int g = (rand.nextInt(4) * 10) + 10;
|
||||
int b = (rand.nextInt(4) * 10) + 10;
|
||||
graphics.drawImage(getScaledImage(getStar(r, g, b), size, size), (int) x, (int) y, null);
|
||||
if (size == 65 && rand.nextBoolean() && rand.nextBoolean() && rand.nextBoolean()) {
|
||||
|
||||
x += 32;
|
||||
y += 32;
|
||||
|
||||
double angle = rand.nextDouble() * 360;
|
||||
double modifier = 5 + (rand.nextDouble() * 16);
|
||||
|
||||
// UIFM UNIDENTIFIABLE FLYING MATH
|
||||
|
||||
x += Math.sin(angle) * modifier;
|
||||
y += Math.cos(angle) * modifier;
|
||||
|
||||
size = (int) Math.pow(2, rand.nextInt(2) + 3) + 1;
|
||||
|
||||
x -= (size - 1) / 2;
|
||||
y -= (size - 1) / 2;
|
||||
|
||||
r = (rand.nextInt(6) * 10) + 20;
|
||||
g = (rand.nextInt(6) * 10) + 20;
|
||||
b = (rand.nextInt(6) * 10) + 20;
|
||||
graphics.drawImage(getScaledImage(getStar(r, g, b), size, size), (int) x, (int) y, null);
|
||||
|
||||
}
|
||||
}
|
||||
System.out.println("Saving...");
|
||||
|
||||
for(int i = 0; i < stars; i ++) {
|
||||
|
||||
ImageIO.write(image, "png", new File(name + ".png"));
|
||||
int size = MIN_STAR_SIZE + (int)(Math.random() * (MAX_STAR_SIZE - MIN_STAR_SIZE));
|
||||
|
||||
int r = (int)(Math.random() * 50);
|
||||
int g = (int)(Math.random() * 50);
|
||||
int b = (int)(Math.random() * 50);
|
||||
|
||||
int x = (int)(Math.random() * WIDTH - (size * 2 + 1));
|
||||
int y = (int)(Math.random() * HEIGHT - (size * 2 + 1));
|
||||
|
||||
graphics.drawImage(getStar(r, g, b, size), x, y, null);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
ImageIO.write(buffer, "png", new File(name + ".png"));
|
||||
|
||||
System.out.println("Saved!");
|
||||
}
|
||||
//}
|
||||
} catch (Exception e) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public static BufferedImage getStar(int r, int g, int b) {
|
||||
/**
|
||||
* size, given such that the output dimensions = 2 * size + 1
|
||||
* @param r
|
||||
* @param g
|
||||
* @param b
|
||||
* @param size
|
||||
* @return
|
||||
*/
|
||||
public static BufferedImage getStar(int r, int g, int b, int size) {
|
||||
// abs(sqrt(sqrt(abs(3.14x))+sqrt(abs(3.14y)))-2.4)
|
||||
|
||||
BufferedImage image = new BufferedImage(1001, 1001, 3);
|
||||
BufferedImage image = new BufferedImage(size*2 + 1, size*2 + 1, 3);
|
||||
Graphics2D graphics = (Graphics2D) image.getGraphics();
|
||||
|
||||
//lets make a huge image...
|
||||
for (int y = 0; y < 1001; y++)
|
||||
for (int x = 0; x < 1001; x++) {
|
||||
for (int y = 0; y < size*2 + 1; y++)
|
||||
for (int x = 0; x < size*2 + 1; x++) {
|
||||
|
||||
//lets use variables that dont make sense
|
||||
double x2 = x - 500;
|
||||
x2 /= 50;
|
||||
double y2 = y - 500;
|
||||
y2 /= 50;
|
||||
double x2 = x - size;
|
||||
x2 /= size/10;
|
||||
double y2 = y - size;
|
||||
y2 /= size/10;
|
||||
double a = 0 - (Math.sqrt(Math.sqrt(Math.abs(Math.PI * (x2))) + Math.sqrt(Math.abs(Math.PI * (y2)))) - 2.35);
|
||||
int baseColor = a >= 0 ? 255 : 0;
|
||||
int opacity = (int) ((a / 6d) * 255);
|
||||
|
|
@ -103,13 +102,6 @@ public class Main {
|
|||
//whatever, this works.
|
||||
}
|
||||
|
||||
try {
|
||||
//scale that shit down.
|
||||
image = getScaledImage(image, 129, 129);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
return image;
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue