三维绘图控件使用方法(2)- grid 函数

📅 2026/8/3 7:28:36 👁️ 阅读次数 📝 编程学习
三维绘图控件使用方法(2)- grid 函数

网格函数:demo_grid_min

sample_mode=grid,用 C 回调z = f(x, y)在矩形网格上采样。示例为 ripple:z = sin(3r) / (1 + r)plottype=surface

static ret_t demo_grid_min_ripple(void* ctx, float_t x, float_t y, float_t* z) { float_t r = sqrtf(x * x + y * y); (void)ctx; *z = sinf(r * 3.0f) / (1.0f + r); return RET_OK; } plot3d_set_plottype(chart, "surface"); plot3d_set_sample_x_range(chart, "-6,6"); plot3d_set_sample_y_range(chart, "-6,6"); plot3d_set_sample_steps(chart, "40,40"); plot3d_set_colormap(chart, "viridis"); plot3d_set_sample_mode(chart, PLOT3D_SAMPLE_MODE_GRID); plot3d_set_sample_z_expr(chart, NULL); /* 用回调,不用表达式 */ plot3d_set_grid_func(chart, demo_grid_min_ripple, NULL);

要点:

  • sample-steps形如"列数,行数"
  • 回调与sample_z_expr二选一:设回调前把表达式清成NULL

完整源码:demos/demo_grid_min.c