quarks.C: example illustrating divided pads and Latex | Basic Graphics | triangles.C: generate small triangles randomly in the canvas. |
void tornado() { //Show 3-d polymarkers // To see the output of this macro, click begin_html <a href="gif/tornado.gif" >here</a> end_html //Author: Rene Brun gBenchmark->Start("tornado"); double PI = 3.141592653; int d = 16; int numberOfPoints=200; int numberOfCircles=40; // create and open a canvas TCanvas *sky = new TCanvas( "sky", "Tornado", 300, 10, 700, 500 ); sky->SetFillColor(14); // creating view TView *view = TView::CreateView(1,0,0); float range = numberOfCircles*d; view->SetRange( 0, 0, 0, 4.0*range, 2.0*range, range ); for( int j = d; j < numberOfCircles*d; j += d ) { // create a PolyMarker3D TPolyMarker3D *pm3d = new TPolyMarker3D( numberOfPoints ); float x, y, z; // set points for( int i = 1; i < numberOfPoints; i++ ) { float csin = sin(2*PI / (double)numberOfPoints * (double)i) + 1; float ccos = cos(2*PI / (double)numberOfPoints * (double)i) + 1; float esin = sin(2*PI / (double)(numberOfCircles*d) * (double)j) + 1; x = j * ( csin + esin ); y = j * ccos; z = j; pm3d->SetPoint( i, x, y, z ); } // set marker size, color & style pm3d->SetMarkerSize( 1 ); pm3d->SetMarkerColor( 2 + ( d == ( j & d ) ) ); pm3d->SetMarkerStyle( 3 ); //draw pm3d->Draw(); } char timeStr[60]; gBenchmark->Show("tornado"); Float_t ct = gBenchmark->GetCpuTime("tornado"); sprintf( timeStr, "Execution time: %g sec.", ct); TPaveText *text = new TPaveText( 0.1, 0.81, 0.9, 0.97 ); text->SetFillColor( 42 ); text->AddText("ROOT example: tornado.C"); text->AddText(timeStr); text->Draw(); sky->Update(); } tornado.C:1 tornado.C:2 tornado.C:3 tornado.C:4 tornado.C:5 tornado.C:6 tornado.C:7 tornado.C:8 tornado.C:9 tornado.C:10 tornado.C:11 tornado.C:12 tornado.C:13 tornado.C:14 tornado.C:15 tornado.C:16 tornado.C:17 tornado.C:18 tornado.C:19 tornado.C:20 tornado.C:21 tornado.C:22 tornado.C:23 tornado.C:24 tornado.C:25 tornado.C:26 tornado.C:27 tornado.C:28 tornado.C:29 tornado.C:30 tornado.C:31 tornado.C:32 tornado.C:33 tornado.C:34 tornado.C:35 tornado.C:36 tornado.C:37 tornado.C:38 tornado.C:39 tornado.C:40 tornado.C:41 tornado.C:42 tornado.C:43 tornado.C:44 tornado.C:45 tornado.C:46 tornado.C:47 tornado.C:48 tornado.C:49 tornado.C:50 tornado.C:51 tornado.C:52 tornado.C:53 tornado.C:54 tornado.C:55 tornado.C:56 tornado.C:57 tornado.C:58 tornado.C:59 tornado.C:60 tornado.C:61 tornado.C:62 |
|