#include "TCanvas.h" #include "TGLParametric.h" #include "TGLUtil.h" #include "TMath.h" #include "TStyle.h" void fun1(TGLVertex3 &vertex, Double_t u, Double_t v) { vertex[0] = TMath::Cos(u)*TMath::Sin(u)*TMath::Cos(v); vertex[1] = TMath::Cos(u)*TMath::Cos(u)*TMath::Cos(v); vertex[2] = TMath::Cos(u)*TMath::Sin(v); } void GetColor(Double_t &color,Double_t u, Double_t v) { if(TMath::Cos(4*u)*TMath::Sin(2*v)!=0) color = fabs(TMath::Cos(4*u)*TMath::Sin(2*v))/(TMath::Cos(4*u)*TMath::Sin(2*v)); else color=1; std::cout << color << "\n"; } void glparametric() { gStyle->SetCanvasPreferGL(kTRUE); TCanvas *c = new TCanvas("surfaces_with_gl","surfaces_with_gl", 100, 10, 700, 700); c->Divide(2,1); c->cd(1); TGLParametricEquation *p1 = new TGLParametricEquation("Squeezed ball",fun1, 0., TMath::Pi(), 0., TMath::TwoPi()); p1->Draw(); c->cd(2); TGLParametricEquation *p2 = new TGLParametricEquation("Squeezed ball 2",fun1,GetColor, 0., TMath::Pi(), 0., TMath::TwoPi()); p2->Draw(); }