POSTECHIAN 기사 보기

[2021 겨울호] 2-아미노산 적정

  • 박정은
  • 2022-04-08 07:00:48

2021 WINTER 지식더하기

아미노산 적정

Amino Acid Titration

포스테키안 구독자 여러분! 여러분은 산과 염기의 적정에 대해 알고 있을 것 같은데요.
우리에게 친숙한 물질인 아미노산을 적정에 이용하면 어떤 것들을 알 수 있을까요?
아미노산의 특징부터 이를 이용한 적정까지 함께 알아봅시다!


아미노산은 우리가 흔히 알고 있는 것처럼 우리 몸의 3대 영앙소 중 하나인 단백질의 기본 단위로, 중합 반응을 통해 단백질을 합성하고 합성된 단백질은 종류에 따라 각기 다른 기능을 수행합니다. 아미노산의 구조는 그림 1과 같은데, 중앙에 있는 탄소를 중심으로 수소 원자($\mathrm{H}$), 아미노기($\mathrm{-NH_2}$), 카복시기($\mathrm{-COOH}$), 곁사슬($\mathrm{R}$)로 이루어져 있습니다. 이때, 곁사슬인 $\mathrm{R}$로 어떤 것이 오느냐에 따라 아미노산의 종류가 결정됩니다. 아미노산의 대표적인 특징은 양쪽성 물질 Amphoteric Substances로 한 분자 안에 산성을 띠는 카복시기와 염기성을 띠는 아미노기가 동시에 존재한다는 것입니다. 이에 따라 아미노산은 자신이 존재하는 용액의 pH에 따라 구조를 변형시키먼서 산성 또는 염기성, 혹은 중성으로도 작용한답니다.

양쪽성 물질이 더 궁금하다면?
양쪽성의 정의

그림 1. 아미노산의 구조

적정이란 모르는 물질의 농도를 이미 알고 있는 물질의 반응량을 측정하여 앙적 분석을 통해 알아내는 실험 기법입니다 여러분은 중화 반응을 이용한 산염기 적정을 통해 적정의 개념을 어느 정도 알고 있을 것입니다. 적정에는 앞서 설명드린 양쪽성 물질인 아미노산 또한 이용됩니다. 아미노산 적정을 이해하기 위해서는 우선 $\mathrm{pK_a}$에 대해 알아야 합니다. $\mathrm{pK_a}$란 산의 세기를 나타내기 위한 평형상수인 $\mathrm{K_a}$를 변형한 것으로, $\mathrm{K_a}$는 아래의 식으로부터 알 수 있듯이 물질로부터 수소 이온 $\mathrm{H^+}$이 얼마나 잘 떨어지는지를 나타내는 값입니다.

$$\mathrm{HA} + \mathrm{H_2O} \leftrightharpoons \mathrm{A^-} + \mathrm{H_3O^+}$$ $$\mathrm{K_a} = \frac{[\mathrm{H_3O^+}][\mathrm{A^-}]}{[\mathrm{HA}]}$$


식을 보면 산의 세기를 뜻하는 $\mathrm{[H_3O^+]}$가 클수록 물질은 큰 $\mathrm{K_a}$값을 가집니다. 여기서 $\mathrm{K_a}$의 경우 단위가 커지면 사용할 때에 불편하기 때문에 편의를 위해 만든 것이 바로 $\mathrm{pK_a}$입니다. 산의 세기가 큰 물질일수록 작은 $\mathrm{pK_a}$값을 가지며, 이 관계를 수식화하면 $\mathrm{pK_a = -logK_a}$입니다.

그림 2. 글라이신의 아미노산 적정 곡선

위의 그림은 염산을 이용하여 산성을 띠게 한 글라이신 수용액에 수산화 나트륨을 조금씩 가하면서 $\mathrm{pH}$를 측정한 아미노산 적정 곡선인데요. 여기서 우리는 염기인 수산화 나트륨을 추가해도 $\mathrm{pH}$가 잘 변하지 않는 완충 구간들을 확인할 수 있습니다. 먼저 $\mathrm{pK_1}$ 구간은 산성을 띠는 카복시기에서 수소 이온이 떨어지는 과정이 일어나는 완충 구간으로, $\mathrm{pK_1}$의 값은 카복시기의 $\mathrm{pK_a}$값에 해당합니다. 그리고 $\mathrm{pK_2}$ 완충 구간에서는 염기성을 띠는 아미노기에서 수소 이온이 떨어지는데, $\mathrm{pK_2}$의 값은 염기성을 띠는 아미노기의 $\mathrm{pK_a}$값을 나타냅니다. 또한 두 구간에서는 $\mathrm{pH}$값과 $\mathrm{pK_a}$값이 동일한데, $\mathrm{pH}$$\mathrm{pK_a}$의 관계는 아래의 헨더슨-하셀바흐 식을 통해 알 수 있습니다.

$$\mathrm{pH} = \mathrm{pK_a} + \mathrm{log\frac{[짝염기]}{[짝산]}}$$


그림 3. 성질에 따른 아미노산의 구조 변형

성질에 따라 아미노산의 구조가 변하는 양상은 그림 3과 같고, 왼쪽부터 각각 양이온, 중성, 음이온 상태의 구조입니다. $\mathrm{pH}$$\mathrm{pK_a}$와 동일하기 위해서는 헨더슨-하셀바흐 식에 따라 우변의 두 번째 항이 0이 돼야 하기 때문에 짝산과 짝염기가 같은 농도로 존재해야 합니다. 이에 따라 $\mathrm{pK_1}$지점에서는 제일 왼쪽 구조와 가운데 구조가 1:1의 비율로 존재하여 물질의 알짜 전하가 0.5이고, $\mathrm{pK_2}$지점에서는 가운데 구조와 제일 오른쪽 구조가 1:1의 비율로 존재하여 물질의 알짜 전하가 –0.5임을 알 수 있습니다. 이때, 적정 곡선에서 확인할 수 있는 변곡점 중 가운데에 해당하는 지점이 분자의 알짜 전하가 0인 등전점이라 합니다. 등전점에서의 $\mathrm{pH}$는 아미노산의 종류에 따라 다르게 나타나기도 합니다.

지금까지 아미노산의 특징을 활용한 적정 과정을 분석해 보았는데요. 이번 글이 재미있었다면, 혹은 더 나아가 심화 내용이 궁금하다면, 생화학이나 세포생물학의 다른 부분도 공부해보는 것은 어떨까요?

[1]  김준, 『생화학 분자생물학 실험서』, 범문에듀케이션, 2019.
[2] CH 3 아미노산과 펩타이드(Amino Acid and Peptides), https://cccforone.tistory.com/13


ALIMI 26기 컴퓨터공학과 박정은

포스텍이 궁금하다면! 포스테키안 구독, 알리미 페이스북 페이지 좋아요, 알리미 인스타그램 팔로우까지❤️

기사 모아 보기
공유하기
목록

POSTECHIAN 기사 보기

[2021 겨울호] 덱스터 스튜디오 R&D실

  • 박정은
  • 2022-03-11 07:00:19

2021 WINTER 알턴십

덱스터 스튜디오 R&D실
국내 최대 VFX 기업이자 국내 유일 원스톱 콘텐츠 제작 스튜디오
2021년 겨울호, 올해 봄호부터 시작된 알턴십도 어느덧 4회차를 맞이했습니다.

학교를 벗어나 국립백두대간수목원 시드뱅크를 찾았던 가을호에 이어
겨울호에는 국내뿐만 아니라 세계적으로 주목받는 기업에 다녀왔는데요.
바로 국내 최대 VFX 기업이자 국내 유일 원스톱 콘텐츠 제작 스튜디오인 덱스터 스튜디오입니다!
컴퓨터공학과에 재학중인 저와 컴퓨터공학과를 지망하는 김현준 알리미 모두
컴퓨터 그래픽스와 컴퓨터 비전 분야에 관심이 있어 촬영 내내 감탄과 웃음이 끊이질 않았습니다.

그럼 덱스터 스튜디오 R&D실의 일일 인턴이 된 현장, 함께 보러 가시죠.

26기 박정은
27기 김현준
 

# 덱스터 스튜디오 R&D실

덱스터 스튜디오는 아시아 최고의 기술력과 규모를 갖춘 VFX 부문을 중심으로 콘텐츠의 기획부터 촬영, 제작, 후반 작업까지 제작 전반을 담당하는 기업입니다. 많은 포스테키안 구독자분들이 VFX라는 단어에 대해 생소하실 것 같아요. VFX시각 효과Visual Effects의 줄임말로, 포괄적으로 동영상에 사용되는 모든 특수 효과를 의미합니다. 흔히 알고 있는 컴퓨터로 만들고 가공한 2D, 3D 그래픽 영상인 CGComputer Graphics 또한 VFX에 포함되는 개념입니다. 덱스터 스튜디오는 최근 기업의 주력 분야인 VFX뿐만 아니라 가상 현실VR, 증강 현실AR, 확장 현실XR 등 실감 미디어 분야까지 콘텐츠 제작 분야를 확장하며 메타버스 산업을 선도하는 글로벌 콘텐츠 기업으로 거듭나고 있습니다.

덱스터 스튜디오 내에는 VFX본부, 실감콘텐츠본부, 기술지원본부 등 여러 본부가 있습니다. 그중, 이번에 알턴십을 진행한 곳은 바로 기술지원본부에 속해 있는 R&D실입니다. 기업부설연구소이기도 한 R&D실은 국내 VFX 업계 최대 규모이며, 덱스터 스튜디오에서 제작하는 콘텐츠에 이용되는 기술들을 개발합니다. 한국의 컴퓨터 그래픽스 관련 기업으로는 유일하게 DigiPro, SIGGRAPH, SIGGRAPH Asia의 경쟁 부문에 출품하여 발표를 하는 등 우수한 기술력을 갖추고 있으며, 이러한 기술들은 VFX를 넘어 여러 실감 콘텐츠 분야에도 활용되고 있습니다. R&D실에서 개발한 대표적인 기술에는 동물의 털을 구현하는 프로그램 ‘Zelos’[링크] Zelos 시연 영상, 그리고 Zelos를 발전시켜 디지털 환경을 만들 수 있도록 한 프로그램 ‘ZENN’[링크] ZENN 시연 영상, 유체 시뮬레이션을 용이하게 해주는 ‘Zarvis’[링크] Zarvis 시연 영상 등이 있습니다.


덱스터 스튜디오는 국내 최대 VFX 기업으로 아시아 최고의 기술력과 규모를 갖추고 있으며,
국내 유일 원스톱 콘텐츠 제작 스튜디오입니다.
덱스터 스튜디오 홈페이지 덱스터 스튜디오 Youtube

# 볼륨메트릭 캡처 장비 체험

R&D실에서는 사람들이 VFX 뿐만 아니라 홀로그램과 같은 실감 콘텐츠를 더욱 현실처럼 느끼게 하기 위해 다양한 장비를 이용하여 기술을 개발합니다. 저희는 그중에서도 볼륨메트릭 캡처 장비를 체험해볼 수 있었습니다. 이 장비는 60여 대의 모듈로 이루어져 있는데, 하나의 모듈은 카메라와 이를 구동하기 위한 프로그램이 장착된 컴퓨터와 스탠드로 구성됩니다. 스탠드 내부에는 신호선이나 전기선, 데이터가 오갈 수 있는 USB 케이블이 연결되어 있다고 합니다. 60여 대의 모듈은 반원을 그리며 위치해 있어 피사체를 동시에 여러 시점에서 촬영할 수 있고 이렇게 얻은 사진 데이터를 합쳐 3차원 디지털 데이터를 복원해 내는 것이 이 장비의 작동 원리입니다.

볼륨메트릭 장비의 자세한 작동 원리가 궁금하다면?
볼륨메트릭 장비 더 알아보기


김현준 알리미가 피사체가 되어 촬영을 진행하고, 얻은 사진 데이터를 컴퓨터로 옮긴 뒤 제가 직접 프로그램을 구동해보았는데요. 특별한 종류의 데이터가 아닌 우리가 흔히 접할 수 있는 사진 데이터인데, 피사체를 다시점으로 동시에 촬영하여 프로그램에 넣으면 3D 모델을 얻을 수 있다는 점과 데이터를 처리하는 과정이 30여 초밖에 걸리지 않았다는 점이 신기했습니다. 저희가 만든 3D 데이터에서 불필요한 부분을 지우는 가공 과정을 거친 뒤 다른 시간의 3D 모델 영상과 연결하여 재생하면, 움직이는 3D 동영상을 제작할 수 있다고 합니다. 이렇게 실제로 덱스터 스튜디오에서 사용하는 장비를 체험해 보고 엔진을 사용해 보니 VFX 개발자가 된 것 같아 설렜고, 동시에 하나의 동영상을 만드는 데에 엄청난 노력과 시간이 필요하다는 것이 느껴져 개발자분들에 대한 존경심이 깊어졌습니다.

# 이사님과의 인터뷰

R&D실에서 장비를 체험한 뒤 로비에서 최완호 이사님과 인터뷰를 진행하는 시간을 가졌습니다. 이사님께서는 현재 덱스터 스튜디오의 CTO이자 R&D supervisor, 기술지원본부장, 기업부설연구소장으로, R&D와 IT 관련 부분을 총괄하고 계십니다. 이사님께 드린 다양한 질문 중 R&D실에서 개발된 기술을 이용하여 제작된 흥행작들을 볼 때의 소감에 대해 말씀해주신 것이 가장 인상 깊었습니다. <미스터 고>에서의 털 이슈[링크] <미스터고> showreel, <신과 함께>에서의 환경 이슈[링크] <신과 함께> showreel, <해적: 바다로 간 산적>에서의 바다 이슈[링크] <해적> showreel 등 영화를 할 때마다 새로운 문제가 발생했는데, 이것들이 한국 영화에서는 이전에 시도해보지 않았던 주제들이라 조언을 구할 곳이 거의 없어 작업을 할 때에는 정말 힘드셨다고 합니다. 고생 끝에 완성된 영화를 극장에서 보면 뿌듯하기도 하고 영화 마지막에 크레딧이 올라갈 때 이름이 포함된 걸 보면 세상에 흔적을 하나 남겼다는 생각이 든다고 말씀하시는 모습이 정말 행복해 보이셨습니다. 실제로 덱스터 스튜디오의 <미스터 고>에서 고릴라 ‘링링’을 만들기 위해 제작한 동물의 털을 구현하는 프로그램 ‘Zelos’는 아시아에서 최초로 개발한 프로그램입니다. 이렇게 새로운 것에 도전하고 노력해서 성공해내시는 모습을 보며 자극을 많이 받았습니다. 이사님과의 인터뷰 내용은 향후 공개될 영상에서 자세히 만나보실 수 있습니다!

# 덱스터 스튜디오 R&D실 알턴십을 마치며

덱스터 스튜디오는 홈페이지에 적혀있는 문구처럼 ‘상상이 현실이 되는 곳’이었습니다. 평소 컴퓨터 그래픽스와 컴퓨터 비전에 관심을 갖고 있었는데, 이번 기회를 통해 실제로 VFX에 사용되는 장비를 사용해 보고 데이터를 핸들링해 보는 것까지 직접 해볼 수 있어 뜻깊은 하루였습니다. 이뿐만 아니라 덱스터 스튜디오 내부를 구경하며 눈에 띄게 발전한 우리나라의 VFX 기술을 실감할 수 있었으며 컴퓨터공학의 길을 밟으신 이사님의 유익한 말씀 덕에 많은 것들을 배울 수 있었습니다. 이번 알턴십이 원활히 진행될 수 있도록 협조해 주신 모든 덱스터 스튜디오 관계자분들께 감사드리며 이만 글을 마무리하도록 하겠습니다. 덱스터 스튜디오에서의 생생한 알턴십 현장이 궁금하시다면 향후 포스텍 입학팀 유튜브 채널에 공개될 겨울호 알턴십 영상을 기대해 주세요!

덱스터 스튜디오 유튜브 채널에는 정기적으로 본부별 브이로그가 업로드되고 있습니다.
R&D실이 속해 있는 기술지원본부에 대해 더 알고싶으시거나 다른 본부가 궁금하시다면 아래의 버튼을 클릭하세요!
기술지원본부 브이로그

ALIMI 26기 컴퓨터공학과 박정은

포스텍이 궁금하다면! 포스테키안 구독, 알리미 페이스북 페이지 좋아요, 알리미 인스타그램 팔로우까지❤️

기사 모아 보기
공유하기
목록

POSTECHIAN 기사 보기

[2021 가을호] 1-가상 세계 구축을 위한 도구, 게임 엔진

  • 박정은
  • 2021-10-29 07:00:36

2021 AUTUMN 기획특집 1

가상 세계 구축을 위한 도구, 게임 엔진

Metaverse, New Paradigm of the Virtual World


코로나19의 확산으로 인해 많은 대면 행사가 취소되고 있는 지금, 바이러스로부터 자유로운 공간이 있다는 것 알고 계신가요?
바로 ‘메타버스’입니다.
최근 사람들은 메타버스에서 사회적 거리두기 걱정 없이 사회 · 경제 · 문화 활동을 하고 있습니다.
메타버스(Metaverse)는 초월이라는 뜻을 가진 ‘메타(Meta)'와 세계를 의미하는 ‘유니버스(Universe)’의 합성어로, 현실과 연결된 가상 공간을 뜻합니다.
다양한 기술의 융합체인 메타버스가 사람들의 일상에 더 깊숙이 파고들기 위해서는
생생한 가상 공간을 구현하는 게임 엔진 기술, 고용량 데이터를 빠르게 전송할 수 있는 네트워크 기술,
현실과 가상의 구분이 불가능하게 만드는 인터페이스 기술이 발전되어야 하는데요.
이번 기획특집에는 이러한 메타버스를 위한 기술들에 대한 내용을 담았습니다!



메타버스, 가상 세계의 새로운 패러다임
여러분은 네이버의 자회사인 SNOW에서 출시한 3D 아바타 플랫폼, 제페토(ZEPETO)[링크-제페토 스튜디오 홈페이지]를 들어보았나요?
제페토는 메타버스를 효과적으로 활용하는 플랫폼으로, 사람들은 제페토를 통해 자신의 아바타를 만들고,
마치 현실처럼 구현된 가상 공간에서 시공간의 제약 없이 다양한 활동을 할 수 있습니다.
명품 브랜드들이 가상 공간에 입점하여 신제품을 공개할 뿐만 아니라 코로나19로 인해 불가능했던 유명 K-POP 가수들의 팬 미팅, 콘서트가 가상 공간에서 이루어지는 등[링크-제페토에 입점한 명품 브랜드], 현실에서만 이루어지던 일들이 메타버스로 확장되어 나가고 있습니다.
이렇게 사람들이 메타버스에 몰입하는 것을 돕는 그래픽을 구현하는 데에는 ‘게임 엔진’이 이용되는데요.
그럼 게임 엔진이 무엇인지, 게임 엔진 중에서도 어떤 요소가 중요한 역할을 하는지 함께 알아볼까요?

게임 엔진이란?

게임 엔진은 그래픽 엔진, 오디오 엔진, 물리 엔진, UI 시스템 등 게임을 개발하는 데에 필요한 기능을 구현하는 요소를 모아 놓은 소프트웨어입니다. 이름에서 알 수 있듯이 게임 엔진은 원래 게임 개발을 목적으로 만들어졌지만 최근에는 게임 분야뿐만 아니라 건축, 자동차 등 다양한 산업에서 활용되고 있습니다. 이는 게임 엔진을 통해 가상 공간을 만들고 현실에서 일어나는 일을 그곳에서 구현할 수 있다는 점 때문입니다. 게임 엔진은 아래의 도식과 같이 게임 시작, 게임 루프, 게임 종료의 과정으로 작동하는데, 이때 게임 루프가 핵심 역할을 수행합니다.


게임 엔진의 작동 과정


게임 엔진의 역사와 종류가 궁금하다면 아래의 버튼을 클릭하세요!

게임 엔진 더 알아보기


게임 루프는 게임을 실행하는 동안 계속해서 돌아가며 게임의 상태를 갱신Update한 뒤 갱신된 정보를 화면에 표현Render하고, 게임을 이용하는 사람의 입력이 있다면 이를 처리하는 과정입니다. 게임 루프는 더 세분화 될 수 있는데, 갱신과 표현 과정 사이에 게임 속 물체에 물리 법칙을 적용하는 과정을 거치면 물체의 움직임을 더욱 사실적으로 표현할 수 있습니다. 이때, 정보를 화면에 표현하는 역할을 렌더링 엔진Rendering Engine이 수행하고, 물리 법칙을 적용하고 이에 따라 물체들이 충돌하는지를 확인하는 역할을 물리 엔진Physics Engine이 수행합니다.


세분된 게임 루프 과정

그럼 렌더링 엔진과 물리 엔진에 대해 더 자세히 살펴봅시다!

입체적인 그래픽을 만드는 렌더링 엔진

먼저 렌더링 엔진은 그래픽 엔진이라고도 불리는데, 이는 3D 그래픽을 2D 화면에 구현합니다. 쉽게 말해, 사람들이 2차원인 평면에 나타낸 이미지를 3차원처럼 인식하게끔 하는 것입니다. 이러한 렌더링 엔진은 크게 적용Application, 기하Geometry, 래스터화Rasterization의 3단계로 이루어집니다.


렌더링 엔진의 작동 과정

첫 단계인 적용의 단계에서 평면에 나타낼 3D 모델을 로딩하는데, 이때 3차원 물체의 정점Vertex을 읽어 옵니다. 여기서 정점이란 3D 그래픽스에서 공간상의 위치를 나타내는 점으로, 정점을 이용하여 점, 선, 삼각형 등과 같은 기본 도형을 이룹니다. 그리고 두 번째인 기하 과정을 통해서는 3차원에 나타나 있는 물체를 2차원으로 옮깁니다. 이 과정에서 정점 쉐이더Vertex Shader를 이용해 3D 모델을 구성하는 정점을 화면상 좌표로 나타내는 정점 쉐이딩Vertex Shading, 물체를 바라보는 시각을 정한 뒤 이에 따라 원근감이 드러나도록 물체의 모습을 나타내는 투영Projection, 시각을 설정함에 따라 화면에 보이지 않게 되는 정보를 잘라내는 클리핑Clipping, 물체에 색이나 물체의 재질을 입히는 맵핑Mapping이 이루어집니다. 마지막으로 래스터화는 2차원 이미지를 보여주는 단계로, 기하의 단계에서 얻은 픽셀 좌표를 이미지로 변환하여 사람들이 결과물을 볼 수 있도록 합니다.

이러한 렌더링이 이루어지는 방법에는 두 가지가 있는데요. 바로 비실시간 렌더링Offline Rendering실시간 렌더링Real-Time Rendering입니다. 먼저 비실시간 렌더링의 경우에는 필요한 모든 연산을 미리 수행하기 때문에 사용자의 입력을 실시간으로 반영할 수는 없지만, 현실과 구분이 불가능할 정도로 높은 퀄리티의 그래픽을 구현할 수 있습니다. 이는 디즈니나 픽사에서 제작하는 3D 애니메이션과 같은 고품질 영상을 만드는 데에 주로 이용되죠. 이와 달리 실시간 렌더링은 비실시간 렌더링에 비해 다소 품질이 낮은 영상을 빠르게 생성함으로써 사용자와 계속해서 상호 작용을 할 수 있도록 하는 방법입니다. 사용자가 입력을 수정하는 즉시 그래픽을 확인할 수 있다는 장점 덕분에 최근 개발되는 메타버스 플랫폼에 활발하게 활용되고 있습니다. 동영상은 렌더링을 통해 얻은 여러 개의 연속된 장면들, 즉 여러 개의 프레임이 빠르게 넘어가는 과정을 통해 화면에 보이는데요. 실시간 렌더링과 비실시간 렌더링은 동영상을 구성하는 프레임 하나하나를 사실감 넘치게 만들기 위해 얼마나 공을 들이는지에 차이가 있다고 할 수 있습니다. 최근에는 그래픽 카드와 렌더링 엔진으로 사실적인 그래픽을 빠르게 구현하는 기술이 날이 갈수록 발전하면서 두 렌더링 방법 간의 경계가 점점 희미해지고 있습니다.

사실적인 움직임을 구현하는 물리 엔진

렌더링 엔진을 통해 2차원 화면에서 3차원적 영상을 볼 수 있게 됨에 따라 사람들은 더 높은 몰입도를 위해 화면 속 물체의 움직임 또한 실제처럼 이루어지기를 원했습니다. 이에 따라 현실 세계에서 일어나는 물리적 상호 작용을 게임 내에서 표현하기 위해 개발된 소프트웨어가 바로 물리 엔진입니다. 물체의 종류에는 강체Rigid Body, 연체Soft Body, 유체Fluid가 있는데, 각각을 구현하는 시뮬레이션은 연산을 진행하는 수식의 종류와 복잡도에 차이가 있습니다. 그중 물리 엔진에서 대표적으로 구현되는 강체 시뮬레이션에 대해 알아봅시다!

강체 시뮬레이션은 관절체나 포탄 등 형태가 변하지 않는 물체의 운동을 주로 구현합니다. 강체는 외력, 또는 다른 물체와의 충돌에 의해 움직일 수 있습니다. 먼저, 외력에 의해 움직이는 경우를 생각해 봅시다. 외력에 의해서는 물체가 병진 운동Translational Motion회전 운동Rotational Motion을 하게 됩니다. 병진 운동의 경우에는 강체의 모든 부분이 평행하게 한 방향으로 움직이기 때문에 시간에 따라 물체의 위치가 달라집니다. 이때, 물체의 위치($\vec{x}$)를 시간($t$)에 대해 미분하면 속도($\vec{v}$)를 얻을 수 있고, 이를 다시 미분하면 가속도($\vec{a}$)를 얻을 수 있는데, 뉴턴 운동 법칙 중 제 2법칙인 가속도 법칙($\vec{F}=m\vec{a}$)을 이용하면 물체에 가해지는 힘에 따른 가속도를 알 수 있습니다. 따라서 외력의 세기를 알면 물체의 가속도를 알 수 있고 이에 따라 물체의 이동 거리를 계산하여 나타낼 수 있습니다. 이 과정에서 사용되는 식들은 아래와 같이 나타낼 수 있습니다.

$$\vec{v}=\lim_{\Delta t\to 0}\frac{\Delta \vec{x}}{\Delta t}=\frac{d\vec{x}}{dt}$$ $$\vec{a}=\lim_{\Delta t\to 0}\frac{\Delta \vec{v}}{\Delta t} =\frac{d\vec{v}}{dt}$$ $$\vec{F}=\frac{d}{dt}m\vec{v}=m\frac{d\vec{v}}{dt}=m\vec{a}$$

또한, 회전 운동은 물체의 특정 부분을 축으로 삼고 도는 것인데, 이를 통해서는 시간에 따라 물체의 각도가 변하게 됩니다. 변하는 각도($\vec{\theta}$)를 시간($t$)에 대해 미분하면 각속도($\vec{\omega}$)를 얻을 수 있고, 이를 다시 미분하면 각가속도($\vec{\alpha}$)를 얻을 수 있습니다. 물체를 회전시키는 힘인 돌림힘($\vec{\tau}$)과 물체가 회전을 지속하려고 하는 정도를 나타내는 관성 모멘트($I$)를 이용하면 각가속도를 알 수 있고, 이를 통해 물체가 얼마나 회전했는지 알 수 있습니다. 이 과정에서 사용되는 식들은 아래와 같습니다.

$$\vec{\omega}=\lim_{\Delta t\to 0}\frac{\Delta \vec{\theta}}{\Delta t}=\frac{d\vec{\theta}}{dt}$$ $$\vec{\alpha}=\lim_{\Delta t\to 0}\frac{\Delta \vec{\omega}}{\Delta t} =\frac{d\vec{\omega}}{dt}$$ $$\vec{\tau_{ext}}=\vec{F}\vec{r},     \sum \vec{\tau_z}=I_{cm}\vec{\alpha_z}$$

다음으로 충돌에 의한 움직임을 구현하는 방법에 대해 알아봅시다.
이는 전체적으로 충돌 감지Collision Detection, 충돌 반응Collision Response의 과정으로 이루어집니다. 먼저 충돌 감지 과정에서는, 물체가 충돌했는지의 여부를 조사한 뒤 충돌했다면 충돌한 지점과 그 지점에서의 법선 벡터, 그리고 물체가 서로 얼마나 관통했는지를 구합니다. 이때 얻은 세 가지 정보를 통합하여 충돌에 대한 반응을 구현하는 과정이 충돌 반응입니다. 이 과정에서 운동량 보존 법칙($m_A\vec{v_A}+m_B\vec{v_B}=m_A\vec{v'_A}+m_B\vec{v'_B}$)과 운동량의 변화량인 충격량이 이용됩니다. 단위 충격량에 따라 강체의 속도가 얼마나 변하는지를 계산하면, 반발 계수($e=\frac{v_2-v_1}{v_1-v_2}$)를 이용하여 충돌 후 속도가 얼마나 변하는지 알아낼 수 있습니다. 이렇게 구한 속도의 변화량을 토대로 충격량을 계산하여 물체에 적용하면 움직임을 구현할 수 있습니다


강체의 충돌을 구현하는 과정


앞서 설명한 식들을 바탕으로 물리 엔진을 어떻게 구현하는지가 궁금하다면?

물리 엔진의 구현 방법 알아보기



지금까지 현실과 흡사한 가상 공간을 구축하는 데에 게임 엔진이 어떻게 기여하는지에 대해 알아보았는데요.
이렇게 구축된 메타버스와 현실 세계가 실시간으로 상호작용하기 위해서는 막대한 양의 데이터를 고품질로 빠르게 전송하는 기술이 필요합니다.
비대면 상황의 도래와 더불어 메타버스가 다시 주목받기 시작한 또 다른 이유 중 하나인 네트워크의 발전에 대해서 알아봅시다!


[참고문헌]
1. Peter Shirley, Steve Marschner, 『Fundamentals of Computer Graphics(3rd Edition)』, A. K. Peters/CRC Press, 2009.
2. 이안 밀링턴, 김도균 옮김, 진석준 옮김, 박종규 옮김, 『게임 물리 엔진 개발』, 지&선, 2016.


기획특집 ② - 데이터 처리를 위한 네트워크 기술의 발전, Edge Computing 편으로 이어집니다.

기획특집 ② 보기

ALIMI 26기 컴퓨터공학과 박정은

포스텍이 궁금하다면! 포스테키안 구독, 알리미 페이스북 페이지 좋아요, 알리미 인스타그램 팔로우까지❤️

기사 모아 보기
공유하기
목록

POSTECHIAN 기사 보기

[2021 여름호] 2- 최소 신장 트리

  • 박정은
  • 2021-10-08 07:02:59

2021 SUMMER 지식더하기

최소 신장 트리

Minimal Spanning Tree

여러분, 여러 도시가 있을 때 최소의 비용으로 모든 도시가 연결되도록 하려면 어떻게 해야 할까요?
물론 도시 사이에 도로를 모두 설치하면 도시들이 모두 연결되겠지만, 한정된 예산 안에서 도로를 설치하기 위해서는 최적의 방안을 생각해내야 합니다. 이때 이용하는 것이 바로 ‘최소 신장 트리 Minimal Spanning Tree’입니다.
다소 낯선 이름의 최소 신장 트리, 기초적인 것부터 하나하나 함께 알아볼까요?

최소 신장 트리


우선, 신장 트리가 무엇인지부터 알아봅시다.
그래프는 점과 선으로 구성되는데, 이때 점을 노드, 선을 간선이라 합니다. 신장 트리는 모든 노드, 즉 그래프의 모든 점이 연결된 연결 그래프에서 몇 개의 간선을 제거함으로써 간선을 최소한으로 가지면서, 동시에 모든 노드가 적어도 한 간선에 연결되어 있도록 한 그래프입니다. 이때, 그래프에 사이클이 만들어져서는 안 되며, 노드가 n개일 때 (n - 1)개의 간선을 갖습니다. 신장 트리 중에서 사용된 간선의 가중치의 합이 최소인 트리를 최소 신장 트리라고 합니다. 여기서 가중치란, 간선을 지날 때 드는 거리, 시간 등 비용을 뜻합니다. 아래의 그림을 보면, 왼쪽이 연결 그래프, 오른쪽이 최소 신장 트리입니다.
연결 그래프와 최소 신장 트리

최소 신장 트리를 만드는 알고리즘에는 여러 개가 있는데 그중 가장 대표적인 크루스칼 Kruskal 알고리즘프림 Prim 알고리즘을 이해해 봅시다.

크루스칼 알고리즘


노드가 n개인 그래프에서 크루스칼 알고리즘의 작동 과정은 아래와 같습니다.
1. 간선들을 가중치에 따라 오름차순으로 정렬한다.
2. 가장 가중치가 낮은 간선을 선택해 최소 신장 트리의 집합에 포함한다.
3. 집합에 포함된 간선의 개수가 (n - 1)개가 될 때까지 정렬된 순서에 따라 간선을 선택하여 해당 간선이 사이클을 형성하지 않을 경우 최소 신장 트리의 집합에 포함한다.
글만으로는 이해가 어려울 수 있으니 예시를 통해 작동 과정을 확인해 봅시다.

아래 사진의 윗 부분은 그래프이며 아랫 부분은 그래프의 노드를 가중치를 기준으로 정렬한 것입니다.

크루스칼 알고리즘의 원리

먼저, 가장 가중치가 낮은 a - b 간선을 최소 신장 트리의 집합에 포함합니다. 그리고 다음으로 가중치가 낮은 a - d 간선을 보면, 집합에 포함된 간선과 사이클을 형성하지 않기 때문에 최소 신장 트리의 집합에 포함합니다. 다음으로 b - d 간선은 집합에 포함된 a - b, a - d 간선과 사이클을 형성하기 때문에 집합에 포함하지 않고, b - c 간선은 집합에 포함합니다.
그래프의 노드가 총 4개고, 현재 집합에 포함된 간선이 3개이므로 동작을 종료합니다.
결과적으로 네 개의 노드와 이를 잇는 간선 a - b, a - d, b - c로 이루어진 최소 신장 트리를 얻을 수 있습니다.

프림 알고리즘


프림 알고리즘은 한 정점에서 시작하여 최소 신장 트리 집합을 단계적으로 확장해 나가는 방법으로, 노드가 n개인 그래프에서 프림 알고리즘의 작동 과정은 아래와 같습니다.
1. 임의로 시작 노드를 잡고 이를 최소 신장 트리 집합에 포함한다.
2. 최소 신장 트리 집합과 인접한 노드 중 가중치가 가장 작은 간선으로 연결된 노드와 이를 잇는 간선이 최소 신장 트리 집합에 포함한다.
3. 트리가 (n - 1)개의 간선을 가질 때까지 2번 과정을 반복한다.
이것 역시 예시를 통해 이해해 봅시다.

아래와 같은 그래프가 있고 시작 노드를 a로 잡았다고 가정합시다.

프림 알고리즘의 원리

먼저, a 노드와 가중치가 가장 작은 간선으로 연결된 노드는 f 이므로 이를 최소 신장 트리 집합에 포함합니다. 그래프가 7개의 노드를 가지므로, 6개의 간선을 가질 때까지 이 과정을 반복합니다.
순서대로 27의 가중치를 갖는 간선과 e, 22의 가중치를 갖는 간선과 d, 12의 가중치를 갖는 간선과 c, 16의 가중치를 갖는 간선과 b, 15의 가중치를 갖는 간선과 g가 집합에 포함되어 최소 신장 트리를 얻을 수 있습니다.

이렇게 최소 신장 트리에 대해 알아봤는데요.
최소 신장 트리는 우리에게 최적의 해답을 제시하는 것으로, 도로 건설, 네트워크 구축, 이미지 프로세싱 등 다양한 분야에서 활발히 활용되고 있어 관심이 있는 친구들은 이와 관련하여 더 공부해 보는 것을 추천드려요 :)

[1] Catherine B. Klein et al. DNA methylation, heterochromatin and epigenetic carcinogens, Mutation Research 386 (1997) pp.163~180
[2] 후성유전체와 전사 조절 https://blog.daum.net/claus/8931893
[3] DNA METHYLATION과 CPG ISLAND https://2wordspm.com/2020/03/12/dna-methylation과-cpgisland/
[4] 후성유전학(epigenetics), 유전자 조절에서 DNA 메틸화 https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=hyouncho2&logNo=60090909848

ALIMI 26기 컴퓨터공학과 박정은

포스텍이 궁금하다면! 포스테키안 구독, 알리미 페이스북 페이지 좋아요, 알리미 인스타그램 팔로우까지❤️

기사 모아 보기
공유하기
목록

POSTECHIAN 기사 보기

[2020 겨울호] 미니 폐 | 연신성 전자장치 플랫폼 | 자율성장 복합지능 | vLUME

  • 박정은
  • 2021-04-01 16:00:38

2020 WINTER Latest Technology
미니 폐 | 연신성 전자장치 플랫폼 | 자율성장 복합지능 | vLUME

[호흡기 질환 연구의 돌파구] 미니 폐



코로나19를 일으키는 SARS-CoV-2 바이러스. 지금까지는 부검을 진행해야만 이 바이러스가 폐에 어떤 영향을 미치고 어떻게 질병을 일으키는지를 알 수 있었습니다. 그런데 최근 미국 듀크 대학의 세포 생물학자 푸루쇼타마 라오 타타 박사가 이끄는 연구진이 폐 오가노이드 Organoid를 이용한 미니 폐를 개발했다고 합니다!

실제 폐의 환경과 유사하게 실험실의 환경을 조성한 뒤, 바이러스의 공격을 받은 폐의 가장 깊은 부분을 복구하는 줄기세포인 상피 2형 폐포 세포 AT2를 성장시켜 폐포를 모방했다고 하는데요. 처음에 만들어진 미니 폐에는 소의 혈청 같은 인간으로부터 유래하지 않은 성분이 포함되어 있었지만, 듀크 대학과 협력하여 순수하게 인간으로부터 유래한 성분만으로 구성된 미니 폐를 개발할 수 있었다고 합니다.

이후 연구진은 노스캐롤라이나 대학의 연구진과의 협력을 통해 미니 폐에 SARS-CoV-2를 감염시킨 뒤 유전자 활동과 화학적 신호를 관찰했습니다. 그 결과 바이러스에 감염된 미니 폐의 세포들은, 주변 세포에 감염 신호를 알리는 인터페론을 생성한 뒤 스스로 사멸한다는 것을 확인했습니다. 그뿐만 아니라 미니 폐를 이용한 연구에서 인터페론의 활성도를 조절함으로써 바이러스의 복제를 늦출 수 있다는 것도 알 수 있었다고 합니다.

미니 폐가 호흡기 바이러스 연구에 더 널리 사용된다면 코로나19를 포함한 많은 질환의 치료법을 빠르고 효과적으로 찾을 수 있을 것이라 기대합니다.



[늘어나는 배터리로 작동되는] 독립형 전자 장치의 개발



여러분, 웨어러블 전자 기기에 대해 들어보셨나요? 웨어러블 기기가 만들어지기 위해서는 늘어났다 줄어들 수 있는, 연신성 Stretchability 전자 소자의 개발이 필요합니다. 하지만 아직 연신성 배터리와 연신성 인쇄 회로 기판을 결합한 전자 장치는 아직 만들어지지 않았습니다.

그런데 최근 포스텍 신소재공학과 정운룡 교수, 통합과정 공민식 연구팀과 포스텍 화학과 박수진 교수, 송우진 박사(현. 충남대학교 유기재료공학과 교수) 연구팀이 늘어나는 배터리를 바탕으로 한 늘어나는 전자기기 플랫폼의 제작에 성공했다고 합니다! 연구팀은 연신성 배터리가 들어가는 늘어나는 전자 장치를 제안했습니다. 기판으로 연신성 배터리를 사용하고 그 위에 회로를 인쇄한 뒤, 인쇄 회로판에서 외부와 내부 회로 또는 앞면과 뒷면의 회로를 연결하는 통로인 비아 홀을 통해 연결했는데요. 이렇게 제작한 연신성 인쇄 회로 기판을 물에 넣은 채 125% 변형을 가했는데도 LED가 안정적으로 작동되었으며 방수 기능 또한 확인할 수 있었습니다.

과거에는 회로와 배터리를 연결하기 위해 각각의 전원 장치들을 분리해야 했습니다. 하지만 이번 연구가 성공적으로 이루어지면서 회로와 배터리를 모두 얇은 필름 형태로 제작한 뒤 통합할 수 있다는 것을 증명할 수 있었습니다. 이를 활용하여 어떤 전자 기기가 만들어질지 기대가 됩니다!



[스스로 성장하는] 자율성장 복합지능



기존의 인공지능은 빅데이터 기반의 방법론을 통해 지식을 학습한 뒤 사용자의 질문에 대해 응답해주는데요. 이 경우 전체를 통찰하지는 못한다는 한계가 있었습니다. 그런데 최근 한국전자통신연구원 ETRI은 인간의 기억 메커니즘을 흉내 내 스스로 지식을 절차적으로 학습할 수 있는 자율성장 복합지능 기술을 개발했습니다!

자율성장 복합지능은 언어와 영상 등 복합 지식을 절차적으로 학습하기 때문에 질문의 목적이나 대상이 애매하더라도 알아서 지식과 답을 찾아갑니다. 또한 데이터가 소량만 존재하더라도 스스로 지식을 학습하는 특징을 가지기 때문에 인간이 않은 것까지 학습하여 반영할 수 있기도 합니다. 연구진은 이 기술을 이용하여 패션 코디네이터 패션하우 Fashion HOW를 개발했습니다. 사용자가 TPO, 즉 옷을 입는 시간, 장소, 상황과 관련된 문장을 입력하면 패션하우는 사용자의 의도를 파악하여 관련 의상을 제시합니다. 이때 사용자의 추가 요청 및 피드백에 따라 다른 선택지를 제공하기도 합니다. 즉, 사용자와의 대화를 인공지능이 스스로 피드백한 뒤 이를 학습 데이터로서 반영하여 개인화가 가능하다는 것이죠. 이 점에서 다른 인공지능보다 뛰어나다고 할 수 있습니다.

ETRI는 세계 최초로 개발한 자율성장 인공지능의 개념을 널리 알리고 패션하우와 관련된 연구의 확산을 장려하고자 2020 ETRI 자율성장 인공지능 경진대회 [링크] 대회 홈페이지를 개최하였는데요. 자율성장 복합지능의 연구를 장려하여 이것이 더욱 다양한 산업에 활용되면 좋겠습니다.



[이제는 직접 세포 속으로 들어가서 연구한다] vLUME



지금까지는 세포를 관찰할 때 주로 현미경을 이용했습니다. 그런데 만약 우리가 세포 속으로 들어가서 세포를 관찰한다면 어떨까요? 영국 케임브리지대 과학자들과 3D 이미지 분석 회사인 Lume VR Ltd가 개발한 vLUME [링크] vLUME 홈페이지이라는 소프트웨어를 이용하면, 연구자들이 직접 세포 속으로 들어간 것처럼 관찰할 수 있다고 합니다!

케임브리지대 화학과 스티븐 리 박사는 생물학에서 일어나는 일이 3차원으로 발생한다는 것에 주목했는데요. 초고해상도 현미경을 통해 얻은 2차원 데이터를 가상현실을 이용해 시각화하고자 했습니다. 초고해상도 현미경에 대한 전문 지식을 가지고 있던 리 박사 팀은, 가상으로 존재하는 3D 세계인 공간 컴퓨팅과 데이터 분석 기술을 갖춘 Lume VR 팀과 협력하여 vLUME을 개발했다고 합니다! vLUME을 이용하면 가상현실 속에서 데이터를 시각화한 뒤 이용자가 실시간으로 데이터와 상호작용할 수 있어 문제에 대한 답을 찾는 시간이 줄어듭니다. 그뿐만 아니라 소프트웨어의 이미지 및 비디오 기능을 활용하면 자신이 발견한 것들을 전 세계 공동 작업자들과 쉽게 공유할 수 있다는 장점이 있습니다. 초고해상도 현미경으로부터 얻은 데이터가 복잡해서, 원래 과학자들이 이를 분석하는 데에 많은 시간을 들여야 했지만 vLUME을 이용하면 시간을 매우 단축할 수 있습니다.

vLUME을 이용하면 세포에 대한 데이터를 지금까지와는 다른 시각에서 바라볼 수 있어, 세포 내 네트워크와 관련된 새로운 아이디어를 얻을 수 있을 것이라 예상합니다.



ALIMI 26기 컴퓨터공학과 박정은

포스텍이 궁금하다면! 포스테키안 구독, 알리미 페이스북 페이지 좋아요, 알리미 인스타그램 팔로우까지❤️

기사 모아 보기
공유하기
목록