Alex's Math Art

This is a simplistic webpage to display my math art. Below is the screenshot of the application and below that are some of the images generated.

My main webpage is here.

Screenshot.


Images saved from within the application.

The image thumbnails might take a few seconds to load. To go through the images, click on the thumbnail images in the index, or use the arrow keys above the large image.
Image Index
previous image next image
Give it a sec to load...


Explanation of the formulas.

The program works by having a loop going from -4 pi to 4 pi, for example. The boundaries of the loop aren't necessarily those values; those values are an example. The loop is the angle. That's theta. Then I need to calculate for the radius. Below is my java code which I used for calculating the radius. This is java, but should be fairly readable for anyone who's taken Math courses.

My program was initially designed to plot points on a polar graph, but I've also made it display points on a cartesian graph (which you can clearly see from the images).

    public static double calculateRadius(int whichFormula, double theta) {
	double r;

	r=0.0;

	switch (whichFormula) {
	case 0:
	    r=Math.sin(theta)+(1/Math.sinh(theta))+1/(Math.tan(10/Math.sin(theta)))+(Math.tan(40*Math.sin(theta)));
	    break;
	case 1:
	    r=10*Math.sin(theta*600)+(1.0/Math.sin(theta))+(1.0/Math.cos(theta));
	    break;
	case 2:
	    r=10*Math.cos(theta)+(1.0/Math.sin(theta))+(Math.tan(theta))+(1.0/Math.cos(Math.pow(theta,4)));
	    break;
	case 3:
	    r=10*Math.cos(theta)+(1.0/Math.sin(theta))+(1/Math.tan(theta))+(1.0/Math.cos(Math.pow(theta,4)));
	    break;
	case 4:
	    r=(1/Math.tan(theta*80))+(1.0/Math.cos(theta*80));
	    break;
	case 5:
	    r=Math.sin(theta)+1/Math.sinh(theta)+(Math.tan(200*theta));
	    break;
	case 6:
	    r=10*Math.sin(theta)+(1.0/Math.sin(theta))+(1.0/Math.cos(theta*400));
	    break;
	case 7:
	    r=10*Math.sin(theta)+(1.0/Math.sin(theta*400))+(1.0/Math.cos(theta));
	    break;
	case 8:
	    r=Math.cos(theta)+80*(1.0/Math.sin(theta))+(1.0/Math.tan(theta*theta));
	    break;
	case 9:
	    r=(2/Math.tan(Math.cos(100*theta)))+Math.cos(theta)+1/Math.sin(theta);
	    break;
	case 10:
	    r=Math.tan(theta/8)+(1/Math.sin(Math.cos(theta)))*Math.cos(theta*80);
	    break;
	case 11:
	    r=Math.tan(theta/8)+(1/Math.sin(1/Math.cos(theta*100)))+(1/Math.tan(theta*theta));
	    break;
	case 12:
	    r=5*(1/Math.cos(50*theta)+(1/Math.sin(Math.sin(theta*theta)))+(Math.tan(theta*Math.sin(2*theta))));
	    break;
	case 13:
	    r=4*(Math.cos(100/Math.tan(Math.pow(theta,0.5))+1/Math.tan(theta/10)));
	    break;
	case 14:
	    r=4*(Math.cos(100/Math.tan(10*theta))+3/Math.tan(theta/10));
	    break;
	case 15:
	    r=theta*Math.E/(Math.cos(100*theta)+Math.sin(100*theta));
	    break;
	case 16:
	    r=theta*Math.tan(Math.tan(Math.cos(Math.sin(1/Math.sin(theta)))));
	    break;
	case 17:
	    r=1/Math.tan(Math.tan(5*Math.cos(5*Math.sin(5/Math.sin(theta)))));
	    break;
	case 18:
	    r=Math.tan(1000*theta);
	    break;
	case 19:
	    r=Math.sin(1000*theta);
	    break;
	case 20:
	    r=Math.sin(100*theta)*Math.cos(theta*theta*(theta<0?-1:1));
	    break;
	case 21:
	    r=Math.cos(12/Math.sin(theta));
	    break;
	case 22:
	    r=2+(Math.sin(theta*theta)+Math.tan(theta*20)+1/Math.cos(theta*20));
	    break;
	case 23:
	    r=5*(Math.sin(theta*theta)+Math.tan(theta*20)+1/Math.cos(theta*20));
	    break;
	case 24:
	    r=5*Math.sin(theta) + Math.tan(40*theta);
	    break;
	case 25:
	    r=2+(5*Math.sin(theta) + Math.tan(40*theta));
	    break;
	case 26:
	    r=12+Math.abs(5*Math.sin(theta) + Math.tan(40*theta))+(1/Math.sin(100*theta));
	    break;
	case 27:
	    r=Math.sinh(theta) + 1/Math.cos(40*theta)+Math.tan(theta*theta);
	    break;
	case 28:
	    r=Math.sinh(theta) + 1/Math.cos(40*theta)+Math.tanh(theta*theta);
	    break;
	case 29:
	    r=Math.abs(1/Math.cos(40*theta)) + Math.abs(Math.tan(40*theta)) ;
	    break;
	case 30:
	    r=1/Math.cos(10*theta)+Math.sqrt(Math.abs(10*theta));
	    break;
	case 31:
	    r=1/Math.cos(10*theta)+Math.sqrt(Math.abs(theta));
	    break;
	case 32:
	    r=1/Math.tan(10*theta)+1/Math.sin(10*theta)+Math.tan(10*theta)+Math.sqrt(Math.abs(10*theta));
	    break;
	case 33:
	    r=Math.exp(10*theta)+Math.sqrt(Math.abs(10*theta));
	    break;
	case 34:
	    r=Math.max(1/Math.cos(10*theta),1/Math.cosh(10*theta))+Math.sqrt(Math.abs(10*theta));
	    break;
	case 35:
	    r=1/Math.cos(10*theta) + 10*Math.sqrt(Math.abs(10*theta)) + Math.cbrt(Math.abs(10*theta));
	    break;
	}

	return r;
    }

All images are Copyright 2008, 2009 Alex Shields

This page last updated February 9, 2009.