Вопрос В чем данной смысл строки в c++?

Регистрация
23 Сен 2013
Сообщения
88
Репутация
0
Спасибо
0
Монет
0
смотрел туториал по 3д в консоли от онигири

и вот я не понял как работает движение круга #include



using namespace std;

int main()

{

int width = 120;

int height = 30;

float aspect = (float)width / height;

float pixeAspect = (float)11.0f / 24.0f;

char* screen = new char[width * height + 1];

screen[width * height] = '\0';

for (int t = 0; t < 10000; t++)

{

for (int i = 0; i < width; i++)

{

for (int j = 0; j < height; j++)

{

char pixel = ' ';

float x = (float)i / width * 2.0f - 1.0f;

float y = (float)j / height * 2.0f - 1.0f;

x *= aspect * pixeAspect;

x += sin(t * 0.001);

if (x * x + y * y < 0.5)

pixel = '@';

screen[i + j * width] = pixel;

}

}

printf(screen);

}

getchar();

} это код

но как работает эта строка:

x += sin(t * 0.001);



и что означает число 10000

в этой:

for (int t = 0; t &lt; 10000; t++)
 
Шаг скорее всего
 
Предположу, что строка с синусом отвечает за скорость
А цикл - просто кол-во совершаемых итераций
 
но как работает эта строка: x += sin(t * 0.001);
Эта строка смещает отображаемый круг относительно середины, принимаемой за 0. Другими словами, эта строка отвечает за гармонические колебания отображаемого круга по горизонтали.

Скорость задаётся коэффициентом при t. Полный цикл колебания совершается за 2π/k итераций. При k=0.001 полный цикл совершается за 6284 итерации.


что означает число 10000
Количество итераций отображения.
 
Первая строка: к x присваивается x и прибавляется синус переменной t, умноженной на 0.001
Вторая строка: 10000 - число цикла (если t меньше 10000, то число t увеличивается на единицу)
 
Назад
Сверху