Tornado example.
2 from ROOT
import TCanvas, TView, TPolyMarker3D, TPaveText
3 from ROOT
import gROOT, gBenchmark
4 from math
import cos, sin, pi
6 gBenchmark.Start(
'tornado' )
13 sky =
TCanvas(
'sky',
'Tornado', 300, 10, 700, 500 )
14 sky.SetFillColor( 14 )
18 rng = numberOfCircles * d
19 view.SetRange( 0, 0, 0, 4.0*rng, 2.0*rng, rng )
22 for j
in range( d, numberOfCircles * d, d ):
28 for i
in range( 1, numberOfPoints ) :
29 csin =
sin( 2*pi / numberOfPoints * i ) + 1
30 ccos =
cos( 2*pi / numberOfPoints * i ) + 1
31 esin =
sin( 2*pi / (numberOfCircles*d) * j ) + 1
32 x = j * ( csin + esin );
35 pm3d.SetPoint( i, x, y, z );
38 pm3d.SetMarkerSize( 1 )
39 pm3d.SetMarkerColor( 2 + ( d == ( j & d ) ) )
40 pm3d.SetMarkerStyle( 3 )
46 polymarkers.append( pm3d )
48 gBenchmark.Show(
'tornado' )
50 ct = gBenchmark.GetCpuTime(
'tornado' )
51 timeStr =
'Execution time: %g sec.' % ct
54 text.SetFillColor( 42 )
55 text.AddText(
'PyROOT example: tornado.py' )
56 text.AddText( timeStr )
- Author
- Wim Lavrijsen
Definition in file tornado.py.