PDA

Просмотр полной версии : Помогите с циклами, пожалуйста


KSEN
19.04.2002, 13:17
:( Здравствуйте!
Есть две формулы
a = -0.5*x-0.5*y+490
b = 0.5*x-0.5*y+120

При этои х=0 и у=0 в первом цикле обязательно. Цикл должен продолжаться пока х<=640 и y<=350.
Вопрос.
Какой цикл здесь можно использовать и каким образом. Напишите пожалуйста.Надо получить все значения а и b.

Papa Karlo
19.04.2002, 13:54
Чет тут ни того :mad:
Имхо, ты что то слишком усложняешь.
И каков шаг прироста для Х и У ?

KSEN
19.04.2002, 15:17
<Чет тут ни того
Имхо, ты что то слишком усложняешь.
И каков шаг прироста для Х и У ?>

Вся заговоздка и состоит в том, что шаг прироста х и у постоянно изменяется

Papa Karlo
19.04.2002, 15:35
Все равно в моих опилках как то не клеится.

onClipEvent(enterFrame){
if(х<=640 && y<=350){
a = -0.5*x-0.5*y+490;
b = 0.5*x-0.5*y+120;
trace(a+" "+b);
}
}

или давай исходник.

Nox Noctis
19.04.2002, 16:23
если я правильно понял чего нужно (в чем я сильно сомневаюсь ;) ), то можно сделать так:

function launch(stepX, stepY) {
var result = [];
for (var x = 0, y = 0; x<=640 && y<=350; x += stepX, y += stepY) {
result.push({a:-0.5*x-0.5*y+490, b:0.5*x-0.5*y+120});
}
return result;
}
// ну и для проверки протрейсим ----------------
x = launch(5, 10);
for (i in x) {
trace(i+" :: "+"{a="+x[i].a+" ; b="+x[i].b+"}");
}

вот :) общий принцип...

Papa Karlo
19.04.2002, 16:30
Вся заговоздка и состоит в том, что шаг прироста х и у постоянно изменяется

Nox Noctis
19.04.2002, 16:37
ну так функция она на то и функция, что в нее можно передать все чего хочешь...

...к тому же 'for' можно переписать в виде:
var x = 0, y = 0;
while (x<=640 && y<=350) {
result.push({a:-0.5*x-0.5*y+490, b:0.5*x-0.5*y+120});
x += stepX, y += stepY;
//
// а здесь изменить шаги прироста stepX и stepY как надо
//
}

KSEN
19.04.2002, 17:33
Ребята всем большое спасибо. Nox Noctis кажется это то, что нужно. Если получится то, что я задумала напишу. Я тут с фракталами геморюсь. :)