메뉴 건너뛰기

목록
2022.09.18 00:14

이거 코드

profile
조회 수 30 댓글 1 예스잼 0 노잼 -3
7ad47d19e285ef7d97a37fc0b27dfdd9.jpg
#include
#include
#include
#include

float A, B, C;

float cubeWidth = 20;
int width = 160, height = 44;
float zBuffer[160 * 44];
char buffer[160 * 44];
int backgroundASCIICode = '.';
int distanceFromCam = 100;
float horizontalOffset;
float K1 = 40;
float incrementSpeed = 0.6;
float x, y, z;
float ooz;
int xp, yp;
int idx;
float calculateX(int i, int j, int k) {
return j * sin(A) * sin(B) * cos(C) - k * cos(A) * sin(B) * cos(C) +
j * cos(A) * sin(C) + k * sin(A) * sin(C) + i * cos(B) * cos(C);
}
float calculateY(int i, int j, int k) {
return j * cos(A) * cos(C) + k * sin(A) * cos(C) -
j * sin(A) * sin(B) * sin(C) + k * cos(A) * sin(B) * sin(C) -
i * cos(B) * sin(C);
}

float calculateZ(int i, int j, int k) {
return k * cos(A) * cos(B) - j * sin(A) * cos(B) + i * sin(B);
}
void calculateForSurface(float cubeX, float cubeY, float cubeZ, int ch) {
x = calculateX(cubeX, cubeY, cubeZ);
y = calculateY(cubeX, cubeY, cubeZ);
z = calculateZ(cubeX, cubeY, cubeZ) + distanceFromCam;
ooz = 1 / z;
xp = (int)(width / 2 + horizontalOffset + K1 * ooz * x * 2);
yp = (int)(height / 2 + K1 * ooz * y);
idx = xp + yp * width;
if (idx >= 0 && idx < width * height) {
if (ooz > zBuffer[idx]) {
zBuffer[idx] = ooz;
buffer[idx] = ch;
}
}
}
int main() {
printf("\x1b[2J");
while (1) {
memset(buffer, backgroundASCIICode, width * height);
memset(zBuffer, 0, width * height * 4);
cubeWidth = 20;
horizontalOffset = -2 * cubeWidth;
// first cube
for (float cubeX = -cubeWidth; cubeX < cubeWidth; cubeX += incrementSpeed) {
for (float cubeY = -cubeWidth; cubeY < cubeWidth;
cubeY += incrementSpeed) {
calculateForSurface(cubeX, cubeY, -cubeWidth, '@');
calculateForSurface(cubeWidth, cubeY, cubeX, '$');
calculateForSurface(-cubeWidth, cubeY, -cubeX, '~');
calculateForSurface(-cubeX, cubeY, cubeWidth, '#');
calculateForSurface(cubeX, -cubeWidth, -cubeY, ';');
calculateForSurface(cubeX, cubeWidth, cubeY, '+');
}
}
cubeWidth = 10;
horizontalOffset = 1 * cubeWidth;
// second cube
for (float cubeX = -cubeWidth; cubeX < cubeWidth; cubeX += incrementSpeed) {
for (float cubeY = -cubeWidth; cubeY < cubeWidth;
cubeY += incrementSpeed) {
calculateForSurface(cubeX, cubeY, -cubeWidth, '@');
calculateForSurface(cubeWidth, cubeY, cubeX, '$');
calculateForSurface(-cubeWidth, cubeY, -cubeX, '~');
calculateForSurface(-cubeX, cubeY, cubeWidth, '#');
calculateForSurface(cubeX, -cubeWidth, -cubeY, ';');
calculateForSurface(cubeX, cubeWidth, cubeY, '+');
}
}
cubeWidth = 5;
horizontalOffset = 8 * cubeWidth;
// third cube
for (float cubeX = -cubeWidth; cubeX < cubeWidth; cubeX += incrementSpeed) {
for (float cubeY = -cubeWidth; cubeY < cubeWidth;
cubeY += incrementSpeed) {
calculateForSurface(cubeX, cubeY, -cubeWidth, '@');
calculateForSurface(cubeWidth, cubeY, cubeX, '$');
calculateForSurface(-cubeWidth, cubeY, -cubeX, '~');
calculateForSurface(-cubeX, cubeY, cubeWidth, '#');
calculateForSurface(cubeX, -cubeWidth, -cubeY, ';');
calculateForSurface(cubeX, cubeWidth, cubeY, '+');
}
}
printf("\x1b[H");
for (int k = 0; k < width * height; k++) {
putchar(k % width ? buffer[k] : 10);
}
A += 0.05;
B += 0.05;
C += 0.01;
usleep(8000 * 2);
}
return 0;
}

난 그냥 계속 빙글빙글 도는건줄 알았는데 계속해서 출력하는거네

여기에 파일을 드래그하세요!

List of Articles
번호 제목 글쓴이 날짜 조회 수 추천
공지 다시하는 이벤트 탑승하셈 ㄱㄱ 22 updatefile 사람人 2024.05.07 64 4
공지 [유저이벤트] 설날맞이 이벤트 42 말폭도 2024.01.29 2764 7
공지 [이벤트] 2024 부타이테 80 file 말랑이 2024.01.14 3043 27
공지 [이벤트] 겜동 활성화를 위한 게임 연재 이벤트 36 file 금연하는갱생타비 2023.08.11 7709 6
공지 [이벤트] 20대 머통령선거 기념 이벤트(수정) 120 file ハンター 2022.03.10 13518 6
공지 수용소닷컴 이용약관 file asuka 2020.05.16 32779 9
415368 이런 키캡도 다 있네 4 file ハンター 2022.09.25 43 0
415367 나는 설거지를 존나 잘해 6 쓰레기게임매니아 2022.09.25 14 0
415366 뚜벅이됨 5 file 에스카노르 2022.09.25 23 0
415365 시발 또 낚였네 4 사람人 2022.09.25 13 1
415364 점심 쟌슨빌 소세지 카레 시킴 4 file MDR 2022.09.25 25 0
415363 오늘은 뭐하고 놀거야? 선생님~ 2 file 엠생 2022.09.25 37 1
415362 심각... 5 file ハンター 2022.09.25 113 7
415361 한방병원 9 file 난교파티 2022.09.25 27 0
415360 심각함 1 file ⎛⎝>⏝⏝<⎛⎝ 2022.09.25 24 0
415359 아 모니터꺼 좆소꺼 사니까 좆됬네 ㅅㅂ 4 file たかなし 2022.09.25 28 0
415358 귀여운 2 file 난교파티 2022.09.25 14 0
415357 씨뱐터짐 8 file 에스카노르 2022.09.25 21 0
415356 레이저 제품 사지마 ... 2 file たかなし 2022.09.25 28 0
415355 워치페이스 이걸로 하고 편의점 감 1 file 엠생 2022.09.25 13 0
415354 우리 같이 오렌지 타임 들어요 2 たかなし 2022.09.25 12 0
415353 사펑키니까 컴퓨터 노짱따라갈려고 하네 2 file たかなし 2022.09.25 24 0
415352 인생 1 ⎛⎝>⏝⏝<⎛⎝ 2022.09.25 14 0
415351 내일부터 마기꾼들 멸망한다 6 file 쿠사노유이 2022.09.25 38 0
415350 레드드래곤 이 새끼들 키보드에 화장대를 처박아놨노ㅋㅋ 4 file ハンター 2022.09.25 108 4
415349 이년뽑는다고 거금을날려버렸음 3 file rifjwo 2022.09.25 22 1
목록
Board Pagination Prev 1 ... 11286 11287 11288 11289 11290 11291 11292 11293 11294 11295 ... 32059 Next
/ 32059