![]() |
|
||||||||||
|
|||||
|
Регистрация: Aug 2005
Адрес: живу в Миловке
Сообщений: 101
|
ТЕМА не ЗАКРЫТА!
Внедрил патч Дембицкого... до конца правда, ещё не разобрался... однако уже наблюдаю не желательный эффет: к сожалению синусоида идёт по затухающей...см скрин ==> Может какие поправки с приращением внести?
__________________
Тссс... не вспугните! Последний раз редактировалось veterok4; 04.02.2006 в 16:53. Причина: Тема не закрыта! |
|
|||||
|
Регистрация: Aug 2005
Адрес: живу в Миловке
Сообщений: 101
|
Цитата:
__________________
Тссс... не вспугните! Последний раз редактировалось veterok4; 04.02.2006 в 17:09. Причина: поправка |
|
|||||
|
дада, ошибка накапливается, но ты не грусти.., поставь туда синус
![]() ps про второй скрин не понял: зачем такую линию синусоидой рисовать, рисуй по линии и не будет рваных краев.. Последний раз редактировалось silin; 04.02.2006 в 17:52. |
|
|||||
|
Регистрация: Aug 2005
Адрес: живу в Миловке
Сообщений: 101
|
Цитата:
А теперь новая трабла (сокращённый мой код со встроенным патчем Дембицкого): with (Math) {
_root.createEmptyMovieClip("myClip"+dd,dd); //создаю клипак
_root["myClip"+dd]._x = 285;//перемещаю начало координат клипа...
_root["myClip"+dd]._y = 275;//в центр рабочего стола
_root.createEmptyMovieClip("curve", -1000+dd);
var plotter=curve.createEmptyMovieClip("plotter", -1000+dd);
//hexV = parseInt(colorIn,16);//указываю на 16-ную систему переменной...
//eyeColor=new Color("myClip"+dd);//цвета, в ново-созданном объекте
//eyeColor.setRGB(hexV);
var radians = (ug.text*PI)/180;//перевожу градусы в радианы
var rad1 = sqrt(pow(x, 2)+pow(y, 2));//нахождение радиуса для...
var rad2 = sqrt(pow(q, 2)+pow(w, 2));//каждой точки
var rad3 = sqrt(pow(e, 2)+pow(r, 2));
if (x<0&&y>0) {//определяю в какой четверти лежит точка и исходя из этого...
var ugol1 = PI/2+(PI/2-asin(abs(y)/rad1));//определяю угол
} else if (x<0&&y<0) {
ugol1 = asin(abs(y)/rad1)+PI;
} else if (x>0&&y<0) {
ugol1 = 3*PI/2+(PI/2-asin(abs(y)/rad1));
}else{
ugol1 = asin(y/rad1);
}
if (q<0&&w>0) {
var ugol2 = PI/2+(PI/2-asin(abs(w)/rad2));
} else if (q<0&&w<0) {
ugol2 = asin(abs(w)/rad2)+PI;
} else if (q>0&&w<0) {
ugol2 = 3*PI/2+(PI/2-asin(abs(w)/rad2));
} else{
ugol2 = asin(w/rad2);
}
if (e<0&&r>0) {
var ugol3 = PI/2+(PI/2-asin(abs(r)/rad3));
} else if (e<0&&r<0) {
ugol3 = asin(abs(r)/rad3)+PI;
} else if (e>0&&r<0) {
ugol3 = 3*PI/2+(PI/2-asin(abs(r)/rad3));
} else{
ugol3 = asin(r/rad3);
}
var tt = 360/ug.text;//угол поворота
for (i=0; i<tt; i++) {//цикл прорисовки
var u1 = ugol1+radians;//нахожу угол приращения для кождой точки
var u2 = ugol2+radians;
var u3 = ugol3+radians;
x2 = rad1*cos(u1);//переназначаю координаты точек
y2 = rad1*sin(u1);
q2 = rad2*cos(u2);
w2 = rad2*sin(u2);
e2 = rad3*cos(u3);
r2 = rad3*sin(u3);
var sSomeString : String = _root.czve.inValue;
var nSomeNumber : Number = Number( "0x" + sSomeString ); // Number ( ... ) - есть каст.
_root['myClip'+dd].lineStyle(tip.text, nSomeNumber, alfa.text);//задаю параметры линии
_root['myClip'+dd].moveTo(x2, y2);//ставим на первый анкер
_root['myClip'+dd].curveTo(q2, w2, e2, r2);//рисуем через контрольную до второго анкера
var path = new Path(x2+285, y2+275, q2+285, w2+275, e2+285, r2+275);//© Ivan Dembicki, http://www.dembicki.org
/////////синусода по кривой/////////////////////////
p=path.getPoint(0);
moveTo(p._x,p._y);
lineStyle(tip.text, nSomeNumber, alfa.text);
curve._rotation=p._rotation;
ampl=10;//амплитуда
phase=10;
for(var i=0;i<path.path_length;i++){
p=path.getPoint(i);
plotter._y=ampl*sin(PI*i/phase);
curve._rotation=p._rotation;
curve._x=p._x;
curve._y=p._y;
var gp = {x:plotter._x, y:plotter._y};
curve.localToGlobal(gp);
lineTo(gp.x,gp.y);
trace("myClip"+dd);//слежу за количеством итераций
dd=dd+1;//приращиваю переменную глубины мувика
};
ugol1 = u1;//меняем переменные углов (приращение)
ugol2 = u2;
ugol3 = u3;
}
schet = schet+1;//приращение счётчика истории создания клипов
}
__________________
Тссс... не вспугните! Последний раз редактировалось veterok4; 04.02.2006 в 22:25. Причина: ошибка |
|
|||||
|
Цитата:
Цитата:
теоретичски это интерсно, но для практики(флешевой) -null зы: в 9-ом плеере обещают производительность (арифметики по крайней мере) поднять в разы (а то и порядки), может тогда.., поглядим.. |
|
|||||
|
Регистрация: Aug 2005
Адрес: живу в Миловке
Сообщений: 101
|
Ухожу "пробивать лбом стену"...
(
__________________
Тссс... не вспугните! |
|
|||||
|
можно с диференциалом это все решить достаточно легко... находишь этот... как его по русски то? gradient короче, потом находишь синус, поворачиваешь точку на вычесленный угол и так далее пока не дойдешь до начала. Могу почиркать если кого интересует...
__________________
I'm only happy when it rains. Waka Laka |
|
|||||
|
Регистрация: Aug 2005
Адрес: живу в Миловке
Сообщений: 101
|
Цитата:
__________________
Тссс... не вспугните! |
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
Цитата:
очень любопытно, что ты имеешь в виду. зы: если будешь делать, учти, тебе придется объяснить как это работает :) |
![]() |
![]() |
Часовой пояс GMT +4, время: 01:29. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|