0 / 0 / 0
Регистрация: 16.03.2016
Сообщений: 4
|
|
1 | |
Неправильное вычисление масштабного коэффициента при построении графика24.04.2016, 18:59. Показов 2033. Ответов 5
Метки нет Все метки)
(
В большинстве примеров построения графиков масштабный коэффициент вычисляют по формуле ky=height/abs(y_max-y_min). Что эта формула не подходит для случаев когда y_min и y_max не симметричны относительно оси абсцисс можно убедиться на примере.
w = 400, h = 640 a = - 5, b = 5 f(x) = x + 2 X0 = 200, Y0 = 320 y_min = -3, y_max = 7 kx = 400/(5 + 5) = 40 ky = 640/(3 + 7) = 64 Формулы для экранных координат: X = X0 + x·kx Y = Y0 + y·ky Получаем: X_min = 200 + 40·(-5) = 0 X_max = 200 + 40·5 = 400 Y_min = 320 - 64·(-3) = 512 Y_max = 320 - 64·7 = -128 Очевидно, что последние значения неправильны. Если вычислить ky «по бумажке», Y_min = 440 Y_max = 40, то имеем ky = 400/10 = 40 Тогда и график строится правильно. Пример неправильного и правильного (зелёный) графиков. Но вот вопрос: как узнать правильный коэффициент???
0
|
|
24.04.2016, 18:59 | |
Ответы с готовыми решениями:
5
Ошибка при построении графика
Основы графического программирования и выбор масштабного коэффициента Ошибка при построении графика |
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
|
|
24.04.2016, 19:38 | 2 |
0
|
Модератор
![]() |
|
24.04.2016, 19:40 | 3 |
y_min и y_max - это не мин и макс значения функции, а мин и макс значение y, которое умещается на графике. Если берёте их несимметричными, то и оси координат будут не X0 = 200, Y0 = 320, а другие - по пропорции
1
|
0 / 0 / 0
Регистрация: 16.03.2016
Сообщений: 4
|
|
24.04.2016, 21:04 [ТС] | 4 |
Согласен с приведённой формулой, но смещение оси абсцисс ситуацию не спасает. Если пропорции неправильные, то при рисовании, например окружности, заданной в параметрической форме получается окружность только с центром (0, 0). А если сдвинута вверх или вниз, то эллипс.
Добавлено через 2 минуты Равные масштабы не всегда получаются. Например, f(x) = 1/x
0
|
Модератор
![]() |
|||||||||||
24.04.2016, 21:19 | 5 | ||||||||||
![]() Решение
Смотрите. Вот я рисовал кому-то два графика со смещённым центром.
То же самое делал и с X. Прога для FPC. Для запуска под TurboPascal замените WinCRT на CRT.
1
|
0 / 0 / 0
Регистрация: 16.03.2016
Сообщений: 4
|
|
24.04.2016, 21:32 [ТС] | 6 |
Спасибо. Попробую разобраться.
0
|
24.04.2016, 21:32 | |
Помогаю со студенческими работами здесь
6
Ошибка при построении графика Ошибка при построении графика Ошибка при построении графика Ошибка при построении графика. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |