import processing.pdf.*; int segments = 8; int radii = 20; float radiispacing = 20; float horizon = 80; float horizondistance(float rf) { return sqrt(rf*(rf - horizon)) + 0.5* horizon * log(rf) - 0.5 * horizon * log(horizon) + horizon * log(1 + sqrt(1 - horizon/rf)); } float sqrt_grr(float rf){ return 1.0 / sqrt(1 - horizon/rf); } void setup() { size(400,600,PDF, "filename.pdf"); // size(400,600); background(255); } void draw(){ translate(width/2,height-radiispacing); noFill(); line(-PI/segments*horizon,0,PI/segments*horizon,0); for(float radius = horizon + radiispacing; radius < horizon + radii*radiispacing; radius += radiispacing) { println(radius + " " + horizondistance(radius) + " " + radius*sqrt_grr(radius)); ellipseMode(RADIUS); //ellipse(0,radius*sqrt_grr(radius)-horizondistance(radius),2,2); //ellipse(0, // radius*sqrt_grr(radius)-horizondistance(radius), // radius*sqrt_grr(radius), // radius*sqrt_grr(radius)); arc(0, radius*sqrt_grr(radius)-horizondistance(radius), radius*sqrt_grr(radius), radius*sqrt_grr(radius), -PI/2.0-PI/segments/sqrt_grr(radius), -PI/2.0+PI/segments/sqrt_grr(radius) ); } exit(); }
04 January 2011
It works! IT WORKS!!
Here is a pdf of an eighth
Subscribe to:
Post Comments (Atom)
This comment has been removed by a blog administrator.
ReplyDelete