三维绘图控件使用方法(2)- grid 函数
📅 2026/8/3 7:28:36
👁️ 阅读次数
📝 编程学习
网格函数: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
编程学习
技术分享
实战经验