ROOT库提供了强大的交互式图形功能。通过使用ROOT库的TCanvas和TApplication类,可以创建一个交互式的图形窗口,可以对图形进行缩放、平移、旋转等操作,并且可以通过鼠标和键盘与图形进行交互,这点实在是太厉害了,也就是说我们绘制出来的图像可以通过拖拽和鼠标点击的方式对图像的样式进行更改和视角转换。
我们只需要下面的简单代码就可以绘制出一个相当不错的3D曲面图。
#include <TCanvas.h>
#include <TApplication.h>
#include <TGraph2D.h>
#include <TColor.h>
int main(int argc, char** argv) {
TApplication app("app", &argc, argv);
// 创建一个Canvas
TCanvas* canvas = new TCanvas("canvas", "3D曲面图", 800, 800);
// 创建一个Graph2D对象
TGraph2D* graph = new TGraph2D();
// 生成数据并填充到Graph2D对象中
int nPoints = 100;
double x, y, z;
for (int i = 0; i < nPoints; ++i) {
x = -5 + i * 10.0 / nPoints;
for (int j = 0; j < nPoints; ++j) {
y = -5 + j * 10.0 / nPoints;
z = sin(sqrt(x * x + y * y));
graph->SetPoint(i * nPoints + j, x, y, z);
}
}
// 绘制3D曲面图
graph->Draw("SURF1");
// 显示图形
canvas->Update();
app.Run();
return 0;
}
还可以通过鼠标拖拽,改变3D曲面图的视角。
还支持图像导出功能。