서울시립대신문
학술지식을 탐하다
물리엔진, 컴퓨터에게 물리를 알려주다
서지원 기자  |  sjw_101@uos.ac.kr
폰트키우기 폰트줄이기 프린트하기 메일보내기 신고하기
승인 2018.09.03  
트위터 페이스북 미투데이 네이버 구글

   
 
최근, 컴퓨터 회사인 NVIDIA가 RT20 그래픽카드 시리즈를 내놓았습니다. 그래픽카드는 영상처리에 사용되는 컴퓨터 하드웨어로 요즘에는 영상처리 및 인식이 필수 기술인 자율자동차 산업에서는 눈여겨보고 있기도 합니다. 영상처리는 그래픽 데이터로부터 영상을 만들어내거나 이미 존재하는 영상을 분석·처리하는 기술을 말합니다. 이때 물리 현상을 그려내기 위해선 물리엔진이라는 소프트웨어가 사용됩니다.

물리엔진이란 무엇일까?

컴퓨터 소프트웨어에서 엔진이란 주축이 되는 핵심부를 일컫습니다. 소프트웨어 개발자는 이 엔진을 이용해 마치 레고 블록을 쌓아나가듯 자신이 원하는 프로그램을 만들어나가게 되죠. 데이터를 효율적으로 찾아주는 검색 엔진, 컴퓨터 그래픽으로 만들어낸 3차원 물체를 2차원 이미지로 변환해주는 렌더링 엔진 등 다양한 엔진이 있습니다. 이 중 물리 엔진은 현실의 물리 규칙들을 이용해 계산해줍니다.

예를 들어 최초의 컴퓨터라고 불리는 에니악(ENIAC)은 물체의 움직임을 계산하기 위한 물리엔진을 탑재하고 있었습니다. 군용 목적을 위해 개발된 에니악은 포탄의 장약, 발사 각도, 풍속 등에 따라 포탄의 궤도를 계산하는 역할을 수행했습니다.

현대에 만들어진 범용 물리엔진은 보다 다양한 물리 연산이 가능합니다. 물체가 받는 힘에 따라 (가)속도를 결정하거나 두 개 이상의 물체의 충돌을 감지하는 충돌 체크, 빛 알갱이가 물체에 부딪힐 때 빛의 궤도를 계산해 반사광·그림자 등을 만들어내는 레이 트레이싱까지 말입니다. 이렇듯 물리엔진은 특정한 상황에서 어떤 연산을 수행해야 현실을 모사할 수 있는지를 컴퓨터에게 알려주는 하나의 사전이라고 볼 수 있습니다.

   
▲ DMM을 이용하면 연체를 보다 사실적으로 모사할 수 있다. 사진은 연체로 취급된 벽에 강체가 부딪히는 상황을 모사한 것이다. 왼쪽은 충돌 전 벽의 구조를, 오른쪽은 부딪힌 강체에 의해 벽의 구성요소가 흩어지는 모습을 보여준다.
물리엔진이 물체를 인식하는 방법: 강체와 연체

물리엔진은 물체를 크게 강체(Rigid body) 또는 연체(Soft body)로 인식합니다. 강체란 부피와 질량을 갖고 있지만 외부 압력에 의해 찌그러지지 않는 등 부피가 일정한 물체를 말합니다. 과학자 돌턴이 생각했다던 원자 같은 존재인 것이죠. 강체의 운동을 모사할 때는 중력처럼 지속적으로 가해질 수 있는 힘이나 강체끼리의 충돌만을 고려하면 됩니다. 단단한 쇠공 두 개가 부딪히는 것을 모사할 때는 강체 두 개를 운동시키고 서로의 부피가 겹치는 부분이 발생하는 순간 서로 반대 방향으로 힘이 가해지도록 만듦으로써 그럴듯한 현실 모사가 가능합니다.

하지만 우리가 주변에서 접하는 대부분의 물체는 부피가 줄어들기도, 모양이 변하기도 하는 연체(soft body)입니다. 그 중 연체를 가장 간단히 표현할 수 있는 방법은 용수철/질량 모델을 사용하는 것입니다. 물이 강을 따라 흐르는 것을 표현한다고 합시다. 이때 사실적인 물의 움직임을 그려내기 위해서는 물 분자가 주변의 다른 분자와 이루는 상호작용을 계산해야 합니다. 이때 분자를 주위 입자와 용수철로 연결된 하나의 점이라고 여길 수 있습니다. 멀어지면 당기고 가까워지면 밀어내는 용수철이 실제 분자들 사이에 작용하는 힘과 유사하기 때문입니다. 물보다 가벼운 공기의 움직임도 비슷한 방식으로 계산이 가능합니다.

하지만 용수철/질량 모델은 비교적 밀도가 높고 단단한 연체를 모사하는데 한계가 있습니다. 이를 극복하기 위해 DMM(Digital Molecular Matter)이라는 기술이 등장하기도 했습니다. DMM은 컴퓨터 게임 제작을 위해 개발된 기법으로 모사하려는 물체를 서로 맞닿아있는 덩어리로 나누고 덩어리마다 질량과 탄성을 부여합니다. 사실 물체의 겉보기 특성은 내부의 탄성에 크게 의존하기 때문에 DMM을 이용하면 탄성 값을 조정하는 것만으로 단단한 금속에서부터 심지어는 말랑한 젤리까지 다양한 물체를 모사할 수 있다고 합니다.

어디서 어떻게 쓰이나?

물리엔진은 모사의 대상이 되는 물체를 연체로 취급할 때 더 정확한 계산값을 내놓지만 실제로는 사용되는 곳에 따라 물체를 강체로 취급하기도, 연체로 취급하기도 합니다. 모든 것을 연체로 모사하는 것은 상당한 계산량을 요구하기 때문입니다. 자동차 회사는 차량의 설계 과정에서부터  물리엔진을 이용해 모의 충돌 실험을 진행합니다. 결과에 따라 예상되는 자동차의 안전성이 달라지기 때문에 하나의 충돌을 계산하는데 수십초가 걸리더라도 보다 정확한 모사를 하게 됩니다.

하지만 게임과 같이 계산 결과가 실시간으로 필요한 경우도 있습니다. 보통 게임 속의 물리엔진은 1초에 수십번이나 새로운 장면을 계산해야 하기 때문에 게임 속의 물체를 강체로 취급하는 경우가 많습니다. 하지만 최근에는 게임 속의 물체를 연체로 취급해 건축물의 자연스런 붕괴 모습을 그려내거나 인물의 머리카락을 찰랑이게 만드는 식으로 게임의 생생함을 더하는 경우도 많습니다.


서지원 기자 sjw_101@uos.ac.kr

 

< 저작권자 © 서울시립대신문 무단전재 및 재배포금지 >
서지원 기자의 다른기사 보기  
폰트키우기 폰트줄이기 프린트하기 메일보내기 신고하기
트위터 페이스북 미투데이 네이버 구글 뒤로가기 위로가기
이 기사에 대한 댓글 이야기 (0)
자동등록방지용 코드를 입력하세요!   
확인
- 200자까지 쓰실 수 있습니다. (현재 0 byte / 최대 400byte)
- 욕설등 인신공격성 글은 삭제 합니다. [운영원칙]
이 기사에 대한 댓글 이야기 (0)
인기기사 
1
점점 희미해지는 ‘청량리 588’의 불빛
2
아청법, 다운로드만 받아도 처벌?
3
우리가 몰랐던 길거리 환전소
4
“서울시립대에 꼭 가고 싶어요”
5
배구감독 데뷔한 서남원 동문 “첫 우승 이루겠다”
6
구성원들이 자부심 가지는 대학 만들겠다
7
인물동정
8
다양성의 깃발을 꽂다
9
범죄잡는 환경설계, 셉티드
10
우리들이 만드는 대학축제 N.U.D.E(New? Um~ Different Exit!)페스티벌
사진기사 
물때 가득 식수대, 수심 가득 시립대

물때 가득 식수대, 수심 가득 시립대

우리대학 식수대의 노즐 내부에서 이물질이 확인되는 등 위생관리가 제대로 ...
신문사소개개인정보취급방침청소년보호정책이메일무단수집거부
130-743 서울특별시 동대문구 서울시립대로 163 미디어관 3층 대학신문사
휴대전화 : 010-2726-1710(편집국장)  |  전화 : 02-6490-2494  |  FAX : 02-6490-2492
Copyright © 2013 서울시립대신문. All rights reserved. mail to press@uos.ac.kr