import java.applet.*; import java.awt.*; import java.lang.*; import java.util.*; public class matte extends Applet { int intParameter( String name, int defaultValue ) { String value; value = getParameter( name ); try { return Integer.parseInt( value ); } catch (NumberFormatException e) { return defaultValue; } } double doubleParameter( String name, double defaultValue ) { String value; value = getParameter( name ); if (value != null) return (new Double( value )).doubleValue(); else return defaultValue; } int fromHex( char ch ) throws Exception { switch (ch) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': return (int )(ch - '0'); case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': return (int )(ch - 'A') + 10; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': return (int )(ch - 'a') + 10; } throw new Exception(); } Color colorParameter( String name, Color defaultValue ) { String value; value = getParameter( name ); try { int red, green, blue; red = fromHex( value.charAt( 1 ) ) * 16 + fromHex( value.charAt( 2 ) ); green = fromHex( value.charAt( 3 ) ) * 16 + fromHex( value.charAt( 4 ) ); blue = fromHex( value.charAt( 5 ) ) * 16 + fromHex( value.charAt( 6 ) ); return new Color( red, green, blue ); } catch (Exception e) { return defaultValue; } } public void init() { int n; double h, c, k, T, y, y2, y1, K; n = intParameter( "n", 5 ); h = doubleParameter( "h", 1 ); c = doubleParameter( "c", 1 ); k = doubleParameter( "k", 1 ); T = doubleParameter( "T", 1 ); y = doubleParameter( "y", 1 ); System.out.println( "n: " + n ); System.out.println( "h: " + h ); System.out.println( "c: " + c ); System.out.println( "k: " + k ); System.out.println( "T: " + T ); System.out.println( "y: " + y ); K = h * c * c / (k * T); y2 = y; y1 = y; System.out.println( "K: " + K ); System.out.println( "y1: " + y1 ); System.out.println( "y2: " + y2 ); for (c=0; c < n; c++) { double p1, p2; p1 = 5 * (Math.exp( K / y1 ) -1) / 2; p2 = - K * Math.exp( K / y1 ); y1 = p1 + Math.sqrt( p1 - p2 ); p1 = 5 * (Math.exp( K / y2 ) -1) / 2; p2 = - K * Math.exp( K / y2 ); y2 = p1 - Math.sqrt( p1 - p2 ); System.out.println( "y1: " + y1 ); System.out.println( "y2: " + y2 ); } } };