Я кодирую симуляцию физической системы, созданной из GTK + и Cairo и запрограммированной в C. Я уже сделал код для масс и его движения, и теперь я хочу построить графики, которые отражают эти движения (например, графики r (t) и v (t)).
Нас спросили, после построения графики, чтобы иметь возможность масштабирования оси хх. Итак, я уже составил часть масштабирования, но теперь мне нужно настроить количество точек, которые графическое окно может отображать после масштабирования.
Итак, я объявил некоторые переменные:
- math_size: максимальное количество записей в векторах plot_matrix_t [] и plot_matrix_y [];
- p_m_t: для выделения позиции в векторе plot_matrix_y и выделения различных моментов времени в plot_matrix_t;
- scale_xx: введенная пользователем шкала;
- scale_init_xx: начальная шкала;
Вот некоторая часть кода (я не знаю, нужно ли вам больше, чем эта ):
for(j = 0; j < p_m_t; ++j)
{
cairo_line_to (cr, drawframe2_alloc.width / 10 + 6800 * plot_matrix_t[j] * (scale_xx/scale_init_xx), drawframe2_alloc.height / 2 + 150*(-plot_matrix_y[j])*(scale_yy/scale_init_yy) - ((origin_pos/10) - 0.5)*drawframe2_alloc.height);
}
Буду признателен, если вы поможете мне в этой ситуации.
Большое спасибо,
Джон