빛의 꺾임을 시늉하는 프로그램

빛과 거울을 그리면, 빛이 거울에 반사해서 나아가는 모습을 보여 주는 프로그램입니다.

이것은 원래 지난 99년 제가 고 2 때, 빛의 수차 현상을 컴퓨터로 보이고 싶은 생각에 기하 알고리즘을 어설프게 구현해서, DJGPP로 만들었던 도스용 프로그램입니다. 포물면에다 빛을 곧게 비추면 빛들이 포물선의 촛점에 모두 모이는데, 포물면과 상당히 비슷하게 생긴 구면에다 빛을 비추면 정말로 빛들이 어긋나서 모이지 않더군요. 그 후 고 3 때 전 이걸 MFC로 포팅했고, 지금 그걸 약간 다듬어서 올립니다.

초록색 선은 거울을, 파란색 선은 빛을 의미합니다. 마우스로 화면을 끌어다 놓으면 선이 그어지고요. L을 누르면 빛을, M을 누르면 거울을 그리게 상태가 바뀝니다. 몇 번 써 보시면 이해가 갈 것입니다.

저장하기, 불러오기, 지우기, 고치기 같은 거 모두 지원 안 합니다.-_-;; 빛과 거울을 계속 그리는 것만 됩니다. 오래 전에 짠 프로그램이어서 내부 알고리즘이 그리 좋지는 않지만, 그래도 이걸 유용하게 쓸 사람이 있을 거라는 생각에, 소스와  실행 파일을 공개합니다.

소스 코드, 실행 파일 받기 (light.zip, 25K)


스크린샷