crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в Рисование графиков нелинейных функций
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
QMainWindow Дата 12.9.2010, 16:00
  Спасибо, собственно это и хотел узнать. Значит строить только отрезками.
Алексей1153 Дата 5.9.2010, 19:59
  первые два - строятся отрезками, третий - пикселами (или прямоугольниками, если точность слоновая).
Litkevich Yuriy Дата 5.9.2010, 19:49
 
Цитата(Алексей1153 @ 5.9.2010, 23:44) *
три штуки
все эти три штуки нужно будет потом по точкам построить. от этого никуда не денешься, компьютер не карандаш
Алексей1153 Дата 5.9.2010, 19:44
 
Цитата(Litkevich Yuriy @ 5.9.2010, 22:27) *
по-моему их в природе не существует

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

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

Задай конкретные вопросы
QMainWindow Дата 4.9.2010, 23:16
  Добрый день! Вопрос в названии темы. Под стандартными инструментами подразумеваю QPainter и все что с ним связано. Можно конечно взять некоторую функцию, выбрать шаг дискретизации и записать полученные значения в массив, а потом отобразить его. Но это изврат. Может как-то использовать кривые Безье? Правда понятия не имею, как на них рисовать корень, параболу, лог и тд... Если кто рисовал функции через QPainter, подскажите как! :)
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 28.3.2024, 22:18