The Nature of Code Randomness-1

황상진·2025년 7월 20일

NatureOfCode

목록 보기
1/1

The Nature of Code

Three.js를 진행하면서 알아두면 유용한 수학적 내용이 있다.
Randomness, Particle, Fractal등
해당 내용이 The Nature of Code에 다 담겨있고
P5.js를 통해서 예제를 구현합니다.
스터디를 통해서 미루고 미루어왔던 내용을 채우기 위해서 스터디를 진행하고 이를 기록하게되었다.

Acknowledgments

우리의 세상은 우리가 인지한 기억과 일관되게 행동하기를 기억한다. 예를 들어 바위가 중력에 의해서 떨어진다.
이 책은 디지털 세계에 물리적 시스템의 움직임을 이해, 시뮬레이션, 통합하는 것에 중점을 둔다.

책의 흐름

Part 1 : Inanimate Objects

  • randomness, vector, force등을 사용해 움직이는 물체를 모델링
  • particle system을 활용해서 수많은 객체를 관리하는 방법

Part 2 : It's Alive

  • 스스로 움직이느 환경을 인지하는 autonomous agents
  • Physics 라이브러리를 활용
  • cellular automata, fractals을 활용해서 복잡한 시스템 모델링

Part 3 : Intelligence

  • autonomous agents의 행동
  • Neural Network 활용

Randomness

Random Walks

https://www.youtube.com/watch?v=H9tpBkWnyCk

https://www.youtube.com/watch?v=BVIjqd8DBGw

다음 단계가 어디로 갈지 예측할 수 없고, 오직 주사위, 동전 던지기 처럼 무작위적인 결정에 따라 움직이는 것을 의미

  • 기체 분자의 움직임: 공기 중의 분자들이 불규칙하게 충돌하며 움직이는 방식.
  • 동물의 먹이 찾기: 동물이 먹이를 찾아 이리저리 돌아다니는 행동 패턴.
  • 도박꾼의 행동: 카지노에서 도박꾼이 돈을 잃거나 따면서 잔고가 변하는 과정.
  • 주식 시장의 변동: 주가가 예측 불가능하게 오르내리는 모습.
  • 오염 물질의 확산: 오염된 입자들이 환경 속에서 퍼져나가는 방식.

Random Walks를 활용하는 이유
1. OOP 개념 복습
2. 무작귀성, 확률, ferlin noise 이해
3. 코드 구현

Traditional Random Walk

https://editor.p5js.org/natureofcode/sketches/5C69XyrlsR

Random Number Distribution

https://editor.p5js.org/natureofcode/sketches/u4vTwZuhT

참고

https://thecodingtrain.com/tracks/code-programming-with-p5-js

https://github.com/nature-of-code

profile
Web FrontEnd Developer

0개의 댓글