Вращающаяся Земля. Прямо в терминале. Всего из двух строк на C. float… — С/С++ Portal | Программирование — TG.ME

Вращающаяся Земля. Прямо в терминале. Всего из двух строк на C.

float lon = atan2f(nx, nz) + TAU*t, lat = asinf(ny);
putchar(ASCII[(int)((diff + powf(spec,8) + rim) * N)]);


В первой строке спрятан весь фокус.

atan2(nx, nz) даёт долготу каждой точки на поверхности сферы. Добавляем TAU*t — и Земля начинает вращаться. Бесконечно.

Вторая строка переводит яркость в символ.

Рассеянный свет. Блик. Свечение по краю. Одно число — один символ.

Ширина в 50 символов. И у вас уже есть Земля.

Без GPU. Без OpenGL. Без движка. Только нормаль поверхности и таблица символов.

А свечение по краю Земли?

rim = pow(1.0 - nz, 3) * 0.35


nz — это z-компонента нормали поверхности.

На краю сферы nz стремится к нулю. Значит, 1 - nz приближается к единице. Возводим в куб, чтобы сделать спад резче.

Одна строка.

Вот вам и атмосфера.

👉 @Cpportal
🔥20💊3❤2👍1
September 1, 2026 753 35