网格函数: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