728x90
이 프로젝트는 그래픽적으로 아름다운 프랙탈을 만들기 위한 것입니다.
miniLibX기술을 연마하고 복소수의 수학적 개념을 발견/사용하고 컴퓨터 그래픽의 최적화 개념을 엿볼 수 있는 기회가 될 것입니다.
e-러닝에서 동영상을 시청하는 것을 잊지 마세요!
규칙
- 이 프로젝트는 사람에 의해서만 수정됩니다. 따라서 여기에 나열된 제약 조건 내에서 원하는 대로 자유롭게 파일을 구성하고 이름을 지정하십시오.
- 전역 변수를 사용할 수 없습니다.
- C로 코딩해야 합니다.
- 프로젝트는 Norm을 따라야 합니다.
- 오류를 신중하게 처리해야 합니다. 어떤 경우에도 프로그램이 예기치 않게 종료되면 안됩니다 (Segmentation fault, bus error, double free, etc).
- 프로그램에 메모리 누수가 있어선 안됩니다.
- 반드시 miniLibX를 사용해야 합니다. 시스템에서 이용 가능한 버전이나, 혹은 소스로 제공된 버전 둘 중 하나를 사용하여야 합니다. 소스로 제공된 버전을 사용하기로 하였다면, 여러분은 libft에도 위에 적용되었던 것과 같은 규칙을 적용해야 합니다.
필수
Program name | fractol |
Turn in files | All your files |
Makefile | all, clean, fclean, re, bonus |
Arguments | |
External functs | • open, close, read, write, printf, malloc, free, perror, strerror, exit • All functions of the math library (-lm man man 3 math) • All functions of the MinilibX |
Libft authorized | Y |
Description |
이 프로젝트의 목표는 작은 프랙탈 탐색 프로그램을 만드는 것입니다. 프랙탈이 무엇인지 보는 것으로 시작하십시오.
- 당신의 소프트웨어는 Julia 집합과 Mandelbrot 집합을 제공해야 합니다.
- 마우스 휠은 거의 무한대로 확대 및 축소됩니다(컴퓨터의 한계 내에서). 이것이 바로 프랙탈의 원리입니다.
- 각 프랙탈의 깊이를 표시하려면 최소한 몇 가지 색상을 사용해야 합니다. 환각 효과를 이해하면 더욱 좋습니다.
- 어떤 유형의 프랙탈을 볼 것인지 정의하기 위해 매개변수가 명령줄에 전달됩니다. 매개변수가 제공되지 않거나 매개변수가 유효하지 않은 경우 프로그램은 사용 가능한 매개변수 목록을 표시하고 종료됩니다.
- 더 많은 매개변수는 프랙탈 매개변수로 사용하거나 무시해야 합니다.
- 프로그램의 매개변수를 사용하여 다른 Julia 집합을 생성할 수 있어야 합니다.
그래픽 표현의 경우:
- ESC는 프로그램을 종료합니다.
- minilibX의 이미지를 사용하는 것을 강력하게 추천합니다.
보너스
다음은 보너스에 대한 몇 가지 흥미로운 아이디어입니다.
- 하나 이상의 다른 프랙탈(온라인에 참조할 수 있는 100가지 이상의 다른 유형의 프랙탈이 있음).
- 확대/축소는 실제 마우스 위치를 따릅니다.
- 확대/축소 외에도: 화살표로 이동합니다.
- 색상 범위를 이동합니다.
평소와 같이 Git 저장소에 작업을 제출하십시오. 저장소에 있는 작업만 평가됩니다.
728x90
반응형
'42 SEOUL > 2_frect-ol' 카테고리의 다른 글
[42Seoul/fract'ol] mlx 함수 (1) | 2022.07.27 |
---|---|
[42Seoul/frac'ol] 망델브로 집합(Mandelbrot set), 쥘리아 집합(Julia set), Burning Ship 코드 (0) | 2022.07.27 |
[42Seoul/fract'ol] 프랙탈(fractal)이란 ? (0) | 2022.07.27 |
댓글