C 곡선의 알고리즘을 조금만 수정하면 아래와 같은 프랙탈을 얻을 수 있다. 모양이 대충 용 비슷하다. 그래서 이름이 드래곤 곡선이다. 아래의 그림은 각각의 차수가 10 과 15인 그림이다.
알고리즘
드래곤 곡선은 차수 1 의 C 곡선을 위, 아래로 번갈아 가면서 그리는 알고리즘을 사용한다.
드래곤 곡선 위를 그리는 알고리즘
왼쪽으로 45 도 회전한다.
드래곤 곡선의 윗부분의 루틴을 호출한다.
오른쪽으로 90도 회전한다.
드래곤 곡선을 아랫부분의 루틴을 호출한다.
왼쪽으로 45 도 회전한다.
드래곤 곡선 아래를 그리는 알고리즘
오른쪽으로 45 도 회전한다.
드래곤 곡선의 윗부분의 루틴을 호출한다.
왼쪽으로 90 도 회전한다.
드래곤 곡선의 아랫부분의 루틴을 호출한다.
오른쪽으로 45 도 회전한다.
아래는 위의 알고리즘을 코드로 표현한 것이다.
드래곤 곡선은 양방향 재귀성이다. DragonCurve_up() 내에서 DragonCurve_down() 을 부르고, DragonCurve_up() 도 재귀적으로 돌고 DragonCurve_down() 도 재귀적으로 돈다. 아래는 드래곤 곡선을 구현한 프로그램 결과와 전체 코드이다. 색상이 들어가 있는 그림은 거북이가 이동한 점을 표시해 본 것이다.