Unborn 8.0 Yellow Pointer
본문 바로가기
42 SEOUL/2_frect-ol

[42Seoul/fract'ol] 프로젝트 소개

by 에삐니 2022. 7. 26.
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
반응형

댓글