TargeTSan
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору 2lamoza В общем случае, сам понимаешь, будет нечто вот такое... struct Point2D { double x,y; }; template<typename T> void DrawVelocities(size_t xsize, size_t ysize, const Point2D** cells, const Point2D velocities, T drawfunc) { for (int i = 0; i < xsize; i++) for (int j = 0; j < ysize; j++) drawfunc(cells[i][j], velocities[i][j]); } //Остальное зависит от того, что ты используешь для отрисовки. Для GDI+ будет примерно //такое (оччень примерно, давно не работал с ним) class GDIVelocityDrawer { public: StrangeVelocityDrawer(HDC exthdc): hdc(exthdc) { } void operator () (const Point2D& src, const Point2D& vec) { MoveTo(hdc, src.x, src,y); LineTo(hdc, src.x + dst.x, src.y + dst.y); } private: HDC hdc; }; // А дальше мы всё это пробуем рисовать int main(int argc, char** argv) { size_t xdim, ydim; Point2D** cells; Point2D** velocities; HDC dc; // тут мы всё это дело инициализируем как нам надо DrawVelocities(xdim, ydim, cells, velocities, GDIVelocityDrawer(dc)); return 0; } Можно по вкузу дописать цвета или сменить отрисовщик, не суть важно. Если это не то что ты хотел, уточни задачу |