Sidoy Опубликовано 20 июля, 2010 Жалоба Поделиться Опубликовано 20 июля, 2010 Добрый вечер! Подскажите как нарисовать синусоиду под углом. Обычную синусоиду я рисую по формуле y = a + b*sin(cx+d) А вот как её повернуть допустим под углом не могу найти в инете. И ещё такой мелочный вопрос. Представте себе форму, самого обычного цвета(серого), на нем должна рисоваться синусоида, но не просто нарисоваться, а как бы пробежать по форме. На примере картинки попробую обьяснить по формуле, синусоида строится по всей длине формы, но я хочу что0бы было видно только отрезок в 50пикселей, т.е. попробуйте себе представить, что когд на форме нарисован отрезок под номером один, то 2 и 3 не видно, когда нарисовался отрезок 2, то 1 и 3 не видно ну и так до конца формы. Подскажите как лучше всего стирать синусоды на прошедших уже координатах. Я в данный момент делаю следующим образом, когда координата синусоиды по Х больше 51пикселя, то я затираю координату 1 (51 пиксель минус 50 пикселей) и так далее. В принципе меня это устраивало до тех пора пока строилась одна синусоида, но в данный момент у меня на форме строится порядка 500 синусоид одновременно(не спрашивайте зачем), пока ихни значения по Х менше 50 они строятся быстро, но вот как только 51, то прям на глазах скорость падает, оно поянтно почему, потомучто добавилось одно условие и действия. Вот я и спрашиваю может есть какой оптимизированный способ решения данной задачи. Заранее благодарен! Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 21 июля, 2010 Жалоба Поделиться Опубликовано 21 июля, 2010 Поворот делается по стандартным формулам: x'=x*cos(A)-y*sin(A) y'=x*sin(A)+y*cos(A), где A - угол. cos и sin для каждой синусоиды можно вычислить, естественно, только один раз. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Sidoy Опубликовано 21 июля, 2010 Автор Жалоба Поделиться Опубликовано 21 июля, 2010 Тролль: спасибо, они самые Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.