Creative Coding 독학
-
Creative Coding 독학 제012일 2024년04년06일(토)
오늘은 어제 본 동영상 강의의 코드들을 하나씩 구현해 보고 있습니다. 푹 자고 일어나서 낮에 일찍 포스팅을 시작하니 상쾌한 느낌이 듭니다. 오늘 기분이 상쾌한 또 하나의 이유는, 바로, 두둥~, mover.js 라는 별도의 파일에 Class Mover를 정의하고, index.html 파일에 관련 script를 덧붙였는데, 작동이 잘 되고 있기 때문입니다! “작동 축~하한다!” 네, 함께 기뻐해 주셔서 감사합니다^^*. 아래 동영상을 클릭하시면,…
-
Creative Coding 독학 제011일 2024년04월05일(금)
오늘은 가속도에 관하여 공부하고 있습니다. 네, 오늘도 저녁에 일단 포스팅을 해 놓고 남은 공부내용을 밤에 덧붙이려고 합니다. 밤 12시 마법이 풀리기 전 포스팅을 먼저 해 놓겠습니다^^*. position을 변화시키는 것은 velocity이고 velocity를 변화시키는 것은 acceleration입니다. 작용 순서는 거꾸로입니다. (1) acceleration이 velocity를 변화시키고 (2) 변화된 velocity가 position을 변화시킵니다. 이 작용 순서를 < Motion 101 Algorithm>이라고 합니다. 이를…
-
Creative Coding 독학 제010일 2024년04월04일(목)
오늘은 어제에 이어 길이 1을 가진 단위 벡터에 관하여 계속 공부하였습니다. 하나. normalize() 함수를 사용하면, 어떤 길이의 벡터도, 방향은 그대로 유지한 채 길이만 1로 변환하여 단위 벡터로 만들 수 있습니다. 둘. 벡터의 길이값을 mag() 함수를 사용하여 구한 뒤, div(길이값) 을 사용하여 벡터의 x , y 값을 이 길이값으로 나누어 길이 1의 단위 벡터를 만들 수…
-
Creative Coding 독학 제009일 2024년04월03일(수)
오늘은 벡터 뺄셈을 시작으로 하여 다양한 크기의 벡터를 unit 벡터( 단위 벡터)로 변환하는 함수에 대해 배우고 있습니다. 이 글을 작성하다가 잠시 멈추어야 해서 현재진행형이 되었습니다. 아래 동영상의 도입부분에 벡터 뺄셈에 대한 내용이 나옵니다. 영상을 보시고 노트를 참조하셔도 좋을 것 같습니다. 자정 넘어 밤 늦게 내용을 보충하기로 하고 일단 오늘은 여기까지 기록합니다. 다 공부하고 올려도 되는데,…
-
Creative Coding 독학 제008일 2024년04월02일(화)
오늘은 instance method와 static method에 대하여 공부하였습니다. 하나. method란 Class 안에 포함되어 있는 function을 의미합니다. 둘. instance method란 특정 object에만 적용되는 함수입니다. 셋. static method는 Class 전체에 적용되는 함수입니다. 아래 동영상을 보시고, 정리 노트를 읽어 보셔도 좋을 것 같습니다. 코드로 정리해 보면 위와 같습니다. 오늘 특정 object 안에서만 작동되는 함수인 instance method 와 Class 전체에…
-
Creative Coding 독학 제007일 2024년03월31일(일)
오늘은 캔버스의 왼편 위쪽 모서리에 위치한 원점(0,0)을 특정 좌표로 옮기는 함수 translate(x,y)와 단위 1 길이와 무작위 방향을 가진 벡터를 생성하는 함수 random2D(), 그리고 벡터에 scalar 값을 곱하여 벡터의 길이를 늘이는 함수 mult()를 공부하였습니다. 아래 동영상을 클릭하여 강의를 보신 후 노트 정리 내용을 참고해 보셔도 좋을 것 같습니다. 하나. 원점을 캔버스 정중앙으로 옮긴 후 새로운 원점과…
-
Creative Coding 독학 제006일 2024년03월30일(토)
오늘은 처음 위치 벡터에 위치 이동 변화 벡터를 더해서 다음 위치 벡터를 구하여 위치 이동을 표현하는 프로그램을 공부하였습니다. 벡터 더하기와 빼기의 수리적 원리와 이를 이용한 벡터 덧셈 함수에 대해 배웠습니다. 벡터 덧셈 함수 add()는 변화량 벡터 이름이나 x, y, z 축의 변화량을 나타낸 숫자나 수열을 파라미터로 가집니다. 아래의 동영상을 클릭하면 관련 강의를 보실 수 있습니다.…
-
Creative Coding 독학 제005일 2024년03월29일(금)
오늘은 Class를 사용한 무작위 이동 프로그램을 공부하였습니다. 아래 동영상을 보시면 관련 내용부터 강의가 시작됩니다. p5.js는 객체지향 프로그래밍을 지원합니다. 객체는 구성 요소와 하는 일 즉, data와 function을 Class 안에 함께 담은 것입니다. 객체를 따로 정의해 놓으면, 메인 프로그램의 작성도 간결해지고, 경우에 따라 Class 의 내용만을 수정하여 프로그램에 변화를 가져올 수도 있습니다. Walker라는 Class 안에 vector 구성…
-
Creative Coding 독학 제004일 2024년03월28일(목)
오늘은 vector 오브젝트를 생성하는 프로그램을 공부하였습니다. 아래 동영상을 클릭하시면 관련 내용부터 강의가 시작됩니다. createVector() 를 사용하여 랜덤 워크를 구현하였습니다. 가로세로 400 픽셀 크기의 캔버스를 만듭니다. 캔버스 정중앙을 출발점으로 삼는 pos라는 벡터를 만듭니다. 캔버스 색은 검은색입니다. 벡터 pos의 x, y 좌표를 흰 점으로 나타냅니다. -1에서 1 사이의 무작위 값을 기존 좌표값에 더하여 좌표값을 변화시킵니다. draw()는 프로그램…
-
Creative Coding 독학 제003일 2024년03월27일(수)
정방형 그리드 지형 기반의 Classic Perlin Noise의 거친 표현력을 개선한 Simplex Noise에 대해 배웠습니다. 삼각형 타일의 연속체 지형을 기반으로 하며 directional artifact가 더 적게 생성되어 매우 부드러운 움직임을 만들어 내는 Simplex Noise 알고리즘이 특허를 받은 것도 신기하고, 이 알고리즘을 사용한 OpenSimplex Noise()를 p5.js에서 자유롭게 사용할 수 있다고 하니 그것도 신기했습니다. Switch 구문을 활용하여 4방 무작위…