일부 사용자는 컬러 그래픽 대신 흑백 텍스트 화면만 사용합니다. 이런 환경에서는 ASCII 아트로 그림을 표현합니다. Doom을 ASCII로 구현하는 프로젝트의 일환으로, 삼각형을 ASCII 문자로 채워 그리는 렌더러를 만들어야 합니다.
입력에는 삼각형 목록과 시점 정보가 주어집니다. 각 삼각형은 세 꼭짓점의 X, Y, Z 좌표와 하나의 문자 colour를 가집니다. 여기서 colour는 화면에 찍을 문자입니다. 예를 들어 colour가 E이면 해당 영역은 E로 채워집니다.
화면 크기 S는 가로와 세로가 모두 S인 정사각형 문자 격자입니다. 문자 간격은 균일하다고 가정합니다. 좌표계는 오른손 좌표계이며, 양의 Z축 위에서 원점을 바라볼 때 양의 Y가 위, 양의 X가 오른쪽입니다.


S가 4이면 화면은 4×4 격자입니다. 꼭짓점 좌표는 0 이상 4 이하의 실수로 계산합니다. 픽셀 중심은 0.125, 0.375처럼 (2i+1)/(2S) 형태입니다. 픽셀 중심이 삼각형 내부 또는 경계에 있으면 해당 문자로 칠합니다.

여러 장면을 렌더링합니다. 각 장면은 S T로 시작합니다. S는 화면 크기(0 ≤ S ≤ 40), T는 삼각형 개수(0 < T ≤ 20)입니다. S와 T가 모두 0이면 입력이 끝납니다.
이어서 T줄이 옵니다. 각 줄은 문자 하나(공백이 아닌 colour)와 세 꼭짓점의 좌표 9개 실수 X1 Y1 Z1 X2 Y2 Z2 X3 Y3 Z3로 구성되며, 항목은 공백 하나로 구분합니다.
다음 줄은 카메라 위치 X Y Z, 그다음 줄은 시선 중심 X Y Z, 마지막 줄은 시야각(도)과 near, far 거리입니다.
각 장면마다 빈 줄, S개의 *, 렌더링 결과 S줄, 다시 S개의 *를 출력합니다.
가까운 삼각형이 먼 삼각형을 가립니다. 모든 삼각형은 주어진 시야각과 near, far 범위 안에 있다고 가정할 수 있습니다.
