Thomae_function_(0,1).svg


W3C-validity not checked.

Summary

Description
English: Plot of Thomae's function on the interval (0,1). Shown are all rational points with denominator at most 200. The topmost point in the middle shows f(1/2) = 1/2

Created using the following Java code:

public class Thomae {
	
	static int gcd(int a, int b) {
		while(a>0 && b>0) {
			if(a>b) a -= a/b*b;
			else b -= b/a*a;
		}
		return a>0 ? a : b;
	}
	
	public static void main(String[] args) {
		int max = 200;
		
		int width = 1280;
		int height = 660;
		
		int border = 20;
		int x0 = border;
		int x1 = width - border;
		double dx = x1-x0;
		int y0 = height - border;
		double dy = -dx;
		int r=5;
		
		System.out.println("<?xml version=\"1.0\" standalone=\"no\"?>");
		System.out.println("<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">");
		System.out.println("<svg width=\""+ width +"\" height=\""+ height +"\" xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\">");
		
		for(int q=1; q<max; q++) for(int p=0; p<q; p++) if(gcd(p, q) == 1) {
			System.out.println("  <circle cx=\""+ (x0+dx*p/q) + "\" cy=\""+ (y0+dy*1/q) +"\" r=\""+ r +"\" fill=\"black\" stroke=\"none\" />");
		}
		
		System.out.println("</svg>");
	}
	
}
Date
Source Own work
Author Smithers888

Licensing

Public domain I, the copyright holder of this work, release this work into the public domain . This applies worldwide.
In some countries this may not be legally possible; if so:
I grant anyone the right to use this work for any purpose , without any conditions, unless such conditions are required by law.

Captions

Add a one-line explanation of what this file represents

Items portrayed in this file

depicts

9 October 2008