Задача на первй взгляд простая, но я уже запутался
имеется окно для отрисовки графика с Width и Height
также имеются координаты осей
ось Х - Height/2 - переменная %1 (Y=0 на графике)
ось Y - Width/2 - переменная %2 (X=0 на графике)
т.е окно разделено осями строго пополам и мне надо нарисовать нормальные графики учитывая сдвиги этих осей, например график функции Y=sin(X)
Этот топик читают: Гость
Ответов: 899
Рейтинг: 43
|
|||
карма: 0 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
Yr = sin(Xr)
Xp = %1 + Xr Yp = %2 - Yr где Xr, Yr - расчетные координаты точки Xp, Yp - реальные координаты точки относительно осей с центром в (%1, %2) |
|||
карма: 27 |
|
Ответов: 899
Рейтинг: 43
|
|||
Dilma, спасибо, не все так сложно как казалось
но появилась другая проблема - рисовать графики таких функций как Y=1/X Y=sinc(X)=sin(pi*X)/(pi*X) и т.п. где при Х=0 знаменатель обращается в 0 а Y уходит в бесконечность я так думаю надо ввести проверку на максимальное значение по Y и если оно превышает габариты окна то X в этом диапазоне можно пропустить и одновременно пропускать значения где знаменатель обращается в ноль? |
|||
карма: 0 |
|
Ответов: 8961
Рейтинг: 824
|
|||
unalex, всегда надо проверять на деление на 0, корень из отрицательного числа .... (кстати Y=sinc(X)=sin(pi*X)/(pi*X) при х=0 Y=1
![]() ![]() |
|||
карма: 19 |
|
Ответов: 899
Рейтинг: 43
|
|||
Леонид, верно подметил, эт я попутал немного, мы как раз сейчас учим дельта функции и в случае если
Y=k*sinc(X/k) - при к стремяшимся к бесконечности, Y тоже уходит в бесконечность а нормальный sinc действительно равен единице при Х=0, хотя как получить эту единицу в HiAsm я не имею представления вот дельта функцию нарисовать наверное не получится ![]() [size=-2]------ Добавлено в 15:14 Скажите почему получается такая белиберда
|
|||
карма: 0 |
|
Ответов: 1161
Рейтинг: 160
|
|||
карма: 0 |
| ||
файлы: 1 | code_12478.txt [1KB] [130] |
Ответов: 899
Рейтинг: 43
|
|||
LainX, округлять то можно, но мне все равно интересно, почему такие числа получаются
|
|||
карма: 0 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
погрешность
|
|||
карма: 27 |
|
Ответов: 8961
Рейтинг: 824
|
|||
unalex, как заметил Dilma погрешность - погрешность представления десятичных дробей в машинной двоичной системе, например: числа 0.625, 0.5, 0.25 т. е. различные суммы 1/2^n представляются точно, а все остальные, например 0.1 - бесконечной двоичной дробью, которую надо округлять с возникающей при этом погрешностью.
|
|||
карма: 19 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
карма: 27 |
| ||
файлы: 1 | code_12518.txt [477B] [181] |
10