![]() |
Синусоидальная кривая! Кто смогёт?
Вложений: 2
Как говорится и на старуху бывает проруха. Не варят мои тригонометрические мозги:))
Дано:задаётся программно кривая (синяя), см аттач. необходимо: преобразовать её в синусоидальную кривую, сохраняя направление изгиба (красная). Я конечно подозреваю, что синусоиду можно разбить на более мелкие кривые, но как при этом сохранить функцию изгиба? |
2.jpg - никак не синусойда, а график кривой. Читай математику :D
|
Ну кривую программно можно вобще то по разному задать. Идея проста: система из нескольких уравнений, считается синус, дальше координаты пересчитываются относительно криволинейной системы координат - все.
|
Интересно!
Цитата:
п.с. Сам читай тригонометрию! |
Во втором случае - это что-то вида
y(x) = A*sin(x) + B*sin(k*x); где A много больше B, k значительно больше 1. |
Цитата:
line2_mc.lineTo(x, 23*Math.sin(x*100) + 32*Math.sin(x/4) + 300); x++; не то, что нужно, но красиво... |
граждане!
опять вы упёрлись в синусы-косинусы... не забывайте о специфике материала, с которым работаете. многие беды флэшовых работ происходят от того, что люди делают в них вещи неспецифичными для флэша способами. что я предлагаю: Код:
var radius = 200;если нужна не окружность а какая-то хитрая дуга, то путей несколько: 1. двигать внешний клип программно по параболе/еще какой-то формуле. 2. двигать внешний клип по гайду, нарисованному ручками (сами понимаете, чем это удобно и чем не удобно) 3. взять класс Ивана Дембицкого - Path -- и с помощью него двигать внешний клип программно по любой кривой безье, как угодно. |
Nox Noctis - респектище! красиво выглядит, конечно, но мне не нужна замедленная прорисовка... сейчас попытаюсь разобраться с кодом что тут к чему, а потом спроэцировать на свои рандомные дуги:)....тема ещё не закрыта:)
|
Цитата:
Код:
var center = {x:200, y:200};заметь, по-прежнему всего один синус. а если у тебя такие прям произвольные кривые - бери Path Дембицкого и будет тебе щастье. им очень легко пользоваться. |
а я круче Нокса ^_^
Код:
a = 20 //Apmlitude |
| Часовой пояс GMT +4, время: 20:11. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.