Monte Carlo Walker (ref. Nature Of Code)

2022. 2. 25. 04:29·활동/개인 프로젝트
728x90

Monte Carlo Walker

몬테 카를로(Monte Carlo) 방식은 무작위로 추출된 난수를 이용하여 함수의 값을 계산하는 통계학의 방법이라고 한다.

 

위 이미지의 코드와 같은 경우에는 다음과 같이 이용되었다. (여기서의 난수라 함은 0~1 사이의 값을 얘기한다.)

 

1. 난수 값을 r1에 저장한다.

2. r1이 난수일 확률 probability를 계산한다. (probability = r1 으로 둔다.)

3. 또 다른 난수 r2를 저장한다.

4-1. r2가 probability 보다 크다면, 작은 보폭을 선호.

4-2. r2가 probability 보다 작다면, 큰 보폭을 선호.

5. 두가지 경우 중, 원하지 않는 결과라면 1로 돌아가고 원하는 결과면 r1을 return 한다.

 

그리고 Math.random을 사용하는 과정에서 최소값, 최댓값의 범위를 정해주기 위해 다음과 같은 방법을 썻다.

let xStepSize = (Math.random() * (stepSize * 2)) - stepSize;
// (Math.random() * (최댓값 - 최소값)) + 최소값

 

예전에 Random Walker를 만들때, Walker가 화면 밖으로 넘어가면 볼 수 없다는 아쉬움이 조금 있었다.

물론 새로고침을 하면 되긴 했지만 이 아쉬움을 해소하고 싶어서 이번에는 다음과 같은 코드를 적용하였다.

Walker.prototype.clear = function () {
    if (this.x < 0 || this.x > WIDTH || this.y < 0 || this.y > HEIGHT) {
        window.location.reload(true);
    }
}

Walker의 this 값을 가져오기 위해 prototype으로 넣어주었고 핵심 문장은 window.location.reload(true) 이다.

이로써 Walker가 화면 테두리에 닿으면 자동으로 새로고침이 되게끔 하였다.

 


 

Monte Carlo Walker

 

jeongwoo903.github.io

 

[HTML] [JavaScript] .reload()의 사용 , 페이지 다시 읽기 , 새로고침 , 리프레시

** HTML 페이지 다시 읽기 reload(true) 사용법과 의미 - 자바스크립트(JavaScript) ' window.locati...

blog.naver.com

 

저작자표시 (새창열림)

'활동 > 개인 프로젝트' 카테고리의 다른 글

빠른 개발을 위한 React Form 구성 템플릿  (0) 2024.12.07
네이버 특정 블로그에서 가장 많이 사용한 단어 알아보기!  (0) 2023.08.20
Gaussian line (ref. Nature Of Code)  (0) 2022.02.20
맥주 음미 노트 (개발X / 디자인X / Figma)  (0) 2021.11.29
Random Walker  (0) 2021.11.03
'활동/개인 프로젝트' 카테고리의 다른 글
  • 빠른 개발을 위한 React Form 구성 템플릿
  • 네이버 특정 블로그에서 가장 많이 사용한 단어 알아보기!
  • Gaussian line (ref. Nature Of Code)
  • 맥주 음미 노트 (개발X / 디자인X / Figma)
기짜낭
기짜낭
생각이 많지만, 지금 내가 해야할 것을 하자.
  • 기짜낭
    So tired
    기짜낭
    • 분류 전체보기 (199)
      • 개발 (11)
        • Javascript (19)
        • Typescript (5)
        • Canvas (8)
        • React (13)
        • C (3)
      • 활동 (63)
        • 개인 프로젝트 (33)
        • 나눔 서포터즈 3기 (9)
        • 멋쟁이 사자처럼 (7)
        • 0&1 C++ 자료구조 스터디 (0)
        • 제 9회 창업 아이디어톤 (3)
        • Poom (ZeroWasteShop) (3)
        • 해커톤 (2)
        • 우테코 프리코스 7기 (6)
      • 알고리즘 (27)
        • 알고리즘 정리 (5)
        • 백준 (18)
        • 프로그래머스 (4)
      • 강연 (7)
      • 독서 (18)
      • 회고 & 생각 (16)
        • 연간회고 (4)
      • 기타 (5)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

    • ※ 예전 블로그
  • 인기 글

  • 태그

    독후감
    프로그래밍
    3기
    디자인
    타입스크립트
    Javascript
    백준
    react
    개발
    개발자
    1주 1권
    HTML5
    ES6
    TypeScript
    프론트엔드
    HTML
    CSS
    프로젝트
    대학
    독서
    알고리즘
    tutorial
    에리카
    Erica
    우테코
    군대
    한양대학교
    개념
    1주에 1권씩
    canvas
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
기짜낭
Monte Carlo Walker (ref. Nature Of Code)
상단으로

티스토리툴바