This pages tests screenX(), screenY() and screenZ(). If all the tests pass,
a green background is displayed. Otherwise a red background is displayed.
// Test By Andor Salga import processing.opengl.*; float E = 0.01; void setup() { size( 250, 100, OPENGL ); if( checkEqual( screenX( 0, 0, 0 ) , 0, E) && checkEqual( screenX( 10, 0, 0 ), 9.999998, E) && checkEqual( screenX( 0, -10, 0 ), 0.0, E) && checkEqual( screenX( 0, 0, 90 ), 3311.2964, E) && checkEqual( screenX( 5, 5, 5 ), -2.3527145, E) && checkEqual( screenX( -5, -5, -5 ), 2.0958707, E) && checkEqual( screenY( 0, 0, 0 ), -5.9604645E-6, E) && checkEqual( screenY( 10, 0, 0 ), -5.9604645E-6, E) && checkEqual( screenY( 0, -10, 0 ), -10.000002, E) && checkEqual( screenY( 0, 0, 90 ), 1324.5187, E) && checkEqual( screenY( 5, 5, 5 ), 2.2427292, E) && checkEqual( screenY( -5, -5, -5 ), -1.997906, E) && checkEqual( screenZ( 0, 0, 0 ), 0.90909094, E) && checkEqual( screenZ( 10, 0, 0 ), 0.90909094, E) && checkEqual( screenZ( 0, -10, 0 ), 0.90909094, E) && checkEqual( screenZ( 0, 0, 90 ), 3.584886, E) && checkEqual( screenZ( 5, 5, 5 ), 0.90290177, E) && checkEqual( screenZ( -5, -5, -5 ), 0.9146044, E) ) { background( 0, 255, 0); } else{ background( 255, 0, 0); } } boolean checkEqual( a, b, e ){ if( abs( a - b ) < e ){ return true; } return false; }