엔트리 기체 분자 운동 시뮬레이션 코딩

엔트리로 기체 분자  운동 시뮬레이션을 만들어 봅니다.

1. 아래와 같이 코딩하면 선택한 오브젝트가 10 개의 기체 분자가 되어 기체 분자 운동을 합니다.
엔트리 기체분자운동 시뮬레이션 코딩
코딩 결과는 아래와 같습니다. 클릭해서 실행시켜 보세요.

아래 소스 코드는 기체 분자가 외벽에 충돌하여 반사되는 것까지만 구현한 것입니다.

소스 코드(일부) http://naver.me/xyjF72in

2. 피스톤을 추가하여 기체의 부피를 한정시킬 수 있습니다.
피스톤은 위에서 아래 방향으로 기체를 내리누르는 역할을 합니다. 피스톤으로 사용할 오브젝트는 여백없이 꽉 찬 네모난 모양이면 됩니다.
엔트리 기체분자운동 시뮬레이션 코딩

3. 오브젝트들의 이름을 알기 쉽도록 바꿔 줍니다.
엔트리 기체분자운동 시뮬레이션 코딩

4. 피스톤이 좌우측 벽에 맞닿도록 가로폭을 확장합니다. 기체 분자(원본)는 약간 아래로 옮깁니다. 그리고 피스톤의 중심점(●)을 피스톤의 아래 부분으로 옮겨 놓습니다.
엔트리 기체분자운동 시뮬레이션 코딩

5. 충돌 알고리즘을 처리하기 위해 ‘충돌’이라는 이름의 신호를 만듭니다.
엔트리 기체분자운동 시뮬레이션 코딩

6. 기체 분자가 피스톤에 충돌한 경우, 신호를 보내는 코드를 추가합니
엔트리 기체분자운동 시뮬레이션 코딩

7. 이제 피스톤 오브젝트에 코딩을 합니다. 평상시 피스톤은 아래로 내려가려 합니다. 하지만 기체 분자와 충돌한 경우 피스톤은 위로 튀어 올라갑니다.
이렇게 하면 피스톤이 누르는 압력과 기체의 압력이 평형을 이루는 선에서 기체의 부피가 결정됩니다.
엔트리 기체분자운동 시뮬레이션 코딩

8. 기체 부피 계산 기능을 포함한 전체 소스 코드를 제공합니다.

전체 소스 코드 http://naver.me/FzmV3x2c

피스톤의 압력을 낮추면 어떻게 될까요?

원본
피스톤의 압력을 1/2로

기체분자의 운동 에너지를 2배로 하면?

원본
기체분자의 운동 에너지를 2배로