Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Синусоида


Рекомендуемые сообщения

Добрый вечер!

Подскажите как нарисовать синусоиду под углом.

Обычную синусоиду я рисую по формуле y = a + b*sin(cx+d)

А вот как её повернуть допустим под углом не могу найти в инете.

И ещё такой мелочный вопрос.

Представте себе форму, самого обычного цвета(серого), на нем должна рисоваться синусоида, но не просто нарисоваться, а как бы пробежать по форме.

На примере картинки попробую обьяснить

arlz7CA2aC.png

по формуле, синусоида строится по всей длине формы, но я хочу что0бы было видно только отрезок в 50пикселей, т.е. попробуйте себе представить, что когд на форме нарисован отрезок под номером один, то 2 и 3 не видно, когда нарисовался отрезок 2, то 1 и 3 не видно ну и так до конца формы.

Подскажите как лучше всего стирать синусоды на прошедших уже координатах. Я в данный момент делаю следующим образом, когда координата синусоиды по Х больше 51пикселя, то я затираю координату 1 (51 пиксель минус 50 пикселей) и так далее. В принципе меня это устраивало до тех пора пока строилась одна синусоида, но в данный момент у меня на форме строится порядка 500 синусоид одновременно(не спрашивайте зачем), пока ихни значения по Х менше 50 они строятся быстро, но вот как только 51, то прям на глазах скорость падает, оно поянтно почему, потомучто добавилось одно условие и действия. Вот я и спрашиваю может есть какой оптимизированный способ решения данной задачи.

Заранее благодарен!

Ссылка на комментарий
Поделиться на другие сайты

Поворот делается по стандартным формулам:

x'=x*cos(A)-y*sin(A)

y'=x*sin(A)+y*cos(A),

где A - угол.

cos и sin для каждой синусоиды можно вычислить, естественно, только один раз.

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...