Logo ROOT   6.07/09
Reference Guide
gltf3.C
Go to the documentation of this file.
1 /// \file
2 /// \ingroup tutorial_gl
3 /// Draws the Klein bottle.
4 /// Klein bottle is closed non-orientable surface that has no inside or
5 /// outside. TF3 can be drawn in several styles:
6 /// - default - like surface4
7 /// - kMaple0 - very nice colours
8 /// - kMaple1 - nice colours and outlines
9 /// - kMaple2 - nice colour outlines.
10 /// To switch between them, you can press 's' key.
11 ///
12 /// \macro_image(nobatch)
13 /// \macro_code
14 ///
15 /// \author Timur Pocheptsov
16 
17 void gltf3()
18 {
20  TCanvas *cnv = new TCanvas("glc", "TF3: Klein bottle", 200, 10, 600, 600);
21 
22  TPaveLabel *title = new TPaveLabel(0.04, 0.86, 0.96, 0.98,
23  "\"gl\" option for TF3. Select plot and press 's' to change the color.");
24  title->SetFillColor(32);
25  title->Draw();
26 
27  TPad *tf3Pad = new TPad("box", "box", 0.04, 0.04, 0.96, 0.8);
28  tf3Pad->Draw();
29 
30  TFormula f1 = TFormula("f1", "x*x + y*y + z*z + 2*y - 1");
31  TFormula f2 = TFormula("f2", "x*x + y*y + z*z - 2*y - 1");
32 
33  // Klein bottle with cut top&bottom parts
34  // The Klein bottle is a closed non-orientable surface that has no
35  // inside or outside.
36 
37  TF3 *tf3 = new TF3("Klein Bottle","f1*(f2*f2-8*z*z) + 16*x*z*f2",
38  -3.5, 3.5, -3.5, 3.5, -2.5, 2.5);
39 
40  tf3->SetFillColor(kRed);
41  tf3Pad->cd();
42  tf3->Draw("gl");
43 }
virtual void Draw(Option_t *option="")
Draw this function with its current attributes.
Definition: TF3.cxx:174
Definition: Rtypes.h:61
R__EXTERN TStyle * gStyle
Definition: TStyle.h:418
TVirtualPad * cd(Int_t subpadnumber=0)
Set Current pad.
Definition: TPad.cxx:526
virtual void Draw(Option_t *option="")
Draw Pad in Current pad (re-parent pad if necessary).
Definition: TPad.cxx:1208
void SetCanvasPreferGL(Bool_t prefer=kTRUE)
Definition: TStyle.h:332
A Pave (see TPave) with a text centered in the Pave.
Definition: TPaveLabel.h:24
virtual void SetFillColor(Color_t fcolor)
Set the fill area color.
Definition: TAttFill.h:42
A 3-Dim function with parameters.
Definition: TF3.h:30
The F O R M U L A class.
Definition: TFormula.h:89
The most important graphics class in the ROOT system.
Definition: TPad.h:37
The Canvas class.
Definition: TCanvas.h:41
virtual void Draw(Option_t *option="")
Draw this pavelabel with its current attributes.
Definition: TPaveLabel.cxx:77
double f2(const double *x)
TF1 * f1
Definition: legend1.C:11