Silverback9

#야생으로

Creative Coding 독학 제237일 2024년11월19일(화)

오늘은 드디어 Dragon Curve를 펼쳐 보이는 날입니다~~^^*

우왕~~^^* 떨리는데요~~^^*

콩~닥콩~닥^^* 딱콩~딱콩~^^*

Dragon Curve를 두 번째 펼쳐 보려고 하면~^^* 회전의 축이 되는 Origin이 바뀌어야 할 것 같아요.

첫번쨰 회전에서는 b가 Origin 역할을 했었는데요~^^*

두번째 회전부터는 마지막 깃털 끝자락이 Origin 역할을 할 것 같아요~^^*

그리고, 생성된 새로운 깃털이 이전의 깃털들과 함께 더해져야 할 것 같아요.

그렇게 해야~ 이전의 깃털들과 새 깃털이 한 몸이 되어 회전을 할 수 있을 것 같아요.

음…일단 손그림을 그리며 이해해 볼까요~^^*

네~^^* 그럼, endpoint부터 설정해 볼게요~^^*

첫 번째 회전에서는 태초의 선 segments[0]의 b가 endpoint가 되어야 하고, 두 번째 회전부터는 태초의 선 sepgments[0]의 a가 endpoint가 되어야 할 것 같아요.

그리고 이 endpoint를 origin으로 지정하여 함수 rotate()를 호출하면 어떨까요?

이번엔~^^* 새 깃털들을 예전의 깃털들과 이어주는 작업을 살펴 볼까요?^^*

네^^* Concatenate하다라는 것은 앞의 배열과 뒤의 배열을 합치는데, 앞의 배열에 뒤의 배열을 이어서 합치는 작업을 의미하는 것 같아요~^^*

그러면~~^^* 태초의 선 segments[0]는 새로운 깃털과 concatenate되었을 때도 배열의 순서가 항상 맨앞 segments[0]이겠네요?

네^^* 엑셀에서처럼 p5.js도 concatenate 작용을 하는 함수가 있다고 합니다~^^* 바로 함 concat()이예요~~^^*

그럼 우리 이제, 깃털 이어서 회전하기 기능을 코드로 표현해 볼까요~~^^*

음…근데요….

뭔가 프로그램 에러가 나는데요…

이미 만들어 두었던 우리들의 클래스 Segment 내의 함수 add()에서 문제가 새롭게 생긴 것 같아요…

근데요…

제가 이제 다른 일정이 있어서요…

오후에 오류를 찾아보고 밤 늦게 수정해 보도록 할게요~^^*

오늘 저와 함께 회전의 origin과 이전 깃털과 새 깃털을 잇는 방법에 대해 함께 고민해 주셔서 감사합니다~^^*

밤 늦게 다시 만나요~^^* 아니면 푹 주무시고 내일 아침 확인해 보셔도 좋을 것 같아요~^^*

맑고 청아한 목소리로 좋아하는 노래를 읖조리며 점심 맛있게 드시고요!

저는 밤에 다시 와서 문제를 해결해 보도록 할게요~!

오늘도 멋진 하루 보내셔요!

네~!! 꿈은 이루어 집니다~!!!

댓글 남기기