Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Рисование графиков нелинейных функций
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Система рисования. Печать
QMainWindow
Добрый день! Вопрос в названии темы. Под стандартными инструментами подразумеваю QPainter и все что с ним связано. Можно конечно взять некоторую функцию, выбрать шаг дискретизации и записать полученные значения в массив, а потом отобразить его. Но это изврат. Может как-то использовать кривые Безье? Правда понятия не имею, как на них рисовать корень, параболу, лог и тд... Если кто рисовал функции через QPainter, подскажите как! :)
Алексей1153
QMainWindow, абсолютно всё рисуется "через QPainter" (вернее - через инкапсулированные в нём API ОС). И именно изврат с записью в массив, а потом только отображением - позволяет повысить производительность программы :)

Задай конкретные вопросы
QMainWindow
Ну вот вопрос: как нарисовать, например, параболу? Я, честно говоря, знаю только один способ - взять нужный отрезок, разбить его, используя шаг разбиения ~0.001 или ~0.0001, создать double массив, в цикле записать координаты x и y=x^2, а потом отобразить его по точкам через метод drawLines(). А других методов нет?
Алексей1153
я бы сказал, что метод будет зависеть от решаемой задачи. Тебе нужно просто красиво нарисовать кривульку или же нужно отобразить функцию с заданной точностью для, к примеру, визуального ("численного") решения уравнения ? Или ещё что-то ?
Litkevich Yuriy
Цитата(QMainWindow @ 5.9.2010, 22:52) *
А других методов нет?
по-моему их в природе не существует
Алексей1153
Цитата(Litkevich Yuriy @ 5.9.2010, 22:27) *
по-моему их в природе не существует

в голову приходят крайней мере три штуки, все с плюсами и минусами:

- вычисление точек по функции y(x), соединение отрезками
- вычисление точек по функции y(t), x(t) (параметрически) , соединение отрезками
- вычисление точек путём сканирования диапазона вывода и сравнения с заданной точностью
Litkevich Yuriy
Цитата(Алексей1153 @ 5.9.2010, 23:44) *
три штуки
все эти три штуки нужно будет потом по точкам построить. от этого никуда не денешься, компьютер не карандаш
Алексей1153
первые два - строятся отрезками, третий - пикселами (или прямоугольниками, если точность слоновая).
QMainWindow
Спасибо, собственно это и хотел узнать. Значит строить только отрезками.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2025 IPS, Inc.