공학분야 모델링 프로그램 특성 및 기술개발동향
2019-11-08
org.kosen.entty.User@4cbc011
전창훈(cjun0828)
1. 머리말
본 보고서는 해당분야 전문가를 위한 학술논문이 아니며, 모델링의 전분야에 관한 이해를 돕기 위해 작성된 보고서이다. 기본 원리와 특성 그리고 동향에 관한 지식전달 및 개인의견을 다양한 참고자료와 함께 분석하여 작성된 보고서이다.
1.1. 모델링
1.1.1. 기본개념
전통적 컴퓨터 프로그램은 논리를 바탕으로 어떤 계산을 하여 숫자 데이터를 결과물로 도출하는 것이다. 예를 들면, 1부터 100까지의 소수들(Prime Numbers)을 구하고 그것들을 전부 더하는 프로그램을 작성한다고 해보자. 프로그램 작성자는 데이터로 1부터 100까지의 숫자를 공급한다. 알고리즘은 1부터 100까지 하나씩 숫자를 증가시켜가며, 그 숫자들이 자기 자신보다 적은 숫자들 중 어느 하나로 나눌 때 나머지가 제로가 되는 지를 먼저 계산한다. 만약 나머지가 제로라면 탈락시키고 모든 숫자로 나누어봐도 나머지가 남는다면 그것을 다른 저장장소로 보내서 차곡차곡 쌓아두었다가 분류가 끝나면 한꺼번에 더하거나, 분류와 동시에 그때그때 더하는 방식으로 합을 만든다. 소수를 미리 찾아 둔 프로그램이 있거나 명령어가 있다면, 굳이 새로운 프로그램을 작성할 필요없이 그 기능을 간단한 명령어로 대신할 수 있다. 기능이 복잡한 프로그램이라도 기존의 명령어(또는 기존에 만들어진 별도의 소형 프로그램들)와 자신이 만든 프로그램을 조합하여 좀 더 손쉽게 대형 프로그램을 만들어 결과를 얻을 수 있다. 이렇게 범용으로 사용가능한 프로그램을 가능하면 많이 조합할 수 있게 코딩하는 방식을 우리는 목적지향형 (Object Oriented) 또는 객체지향형 프로그램이라고 한다. 기존에 이미 만들어진 프로그램이나 명령어는 마치 우리가 기계를 만들 때, 모든 부품을 직접 만드는 것이 아니라 시장에 나와 있는 볼트나 너트 등은 구입해다 그대로 사용하는 것과 유사하다.
프로그램은 인간이 읽기 어려운 수많은 문장들과 숫자들로 구성되어 있으며, 결과물 역시 숫자들로 구성된 데이터다. 그 데이터를 인간의 눈으로 좀 더 직관적으로 읽기 쉽게 그래프로 만들 수 있지만, 그래프는 숫자를 이해하기 위한 보조 커뮤니케이션 방식일뿐이다.
반면 모델링이란, 이런 프로그램 후에 결과물이 숫자 데이터가 아닌, 형태 데이터로 나온다는 것이다. 즉, 모니터에 나타난 3차원 모양이 모델링 프로그램의 결과물이다. 모델을 구현하는 배경 데이터는 물론 숫자이지만, 벡터화하여 데이터 숫자를 줄이고 있기 때문에, 우리의 눈에 익은 데이터와는 거리가 있다. 컴퓨터 화면에서 보이는 그래픽은 3차원의 2차원 프로파일인데, 회전시켜 보면 뒷모습도 가지고 있는 3차원적 물체다. 3차원 물체가 만들어진 다음에는 실체감을 더하기 위해 자연채광처럼 광원을 주어 명암을 조절하기도 하고, 표면의 질감을 실재료에 가깝게 바꾸거나 부드럽게 연결해주는 렌더링(Rendering)을 거쳐 최종완성된다.
이론적으로는 각점의 위치와 점간의 연결정보를 주면 선이 만들어지고 선과 선을 묶으면 면이 되고 면들을 적절하게 조합하면 입체가 되기 때문에 입력파일을 프로그래머가 만들어서 공급할 수 있지만, 작업의 속성상 데이터를 일괄처리(batch) 하는 경우는 드물고 컴퓨터와 상호대화(Interactive)하며 데이터를 하나씩 공급하고 상태를 점검하며 모델을 만들어가는 방식으로 이루어진다. 3D 모델링 프로그램 자체도 개인이 컴퓨터 언어로 작성가능하지만, 시각적 효과를 위해 색체농도조절, 원근감 등의 많은 보조장치들이 필요하기 때문에 개인이 개발하기에는 어려워서, 통상 상업용으로 개발된 프로그램들을 사용한다. 상용 프로그램은, 앞서 언급된 객체 지향형 프로그램처럼, 많은 기하학적 기본 형체 (Primitives) 를 제공하며, 물체를 만드는 작업은 이런 기본 형체를 변형시키거나 또는 2차원 스케치를 3차원으로 확장시켜 형체를 만든다.
1.1.2. 역사
3차원 모델링은 컴퓨터가 상용화된 초기부터 나왔지만, 주로 광고용으로만 사용되었고 실제 제조현장에 투입되ㅇ거나 살계 같은 엔지니어링 분야로는 도입되지 않고 있었다. 제조현장은 여전히 치수와 공차를 판단하기 쉬운 2차원 도면을 사용하고 있었는데, 1960대부터 자동차 공장을 중심으로 한 CAD/CAM 의 개발, 그리고 항공기 산업을 중심으로 한 복잡한 곡면형상 이용으로 본격적으로 산업에 사용되었으며, 1970년대부터 애니메이션 산업에 많이 이용되기 시작했으며, 1990년대 이후에는 영화산업과 긴밀하게 한짝을 이루었다. 2000년대 3차원 인쇄기술이 본격화되면서 3차원 인쇄의 데이터로 사용되는 3차원 모델링은 더욱 주목을 받고 있다. 얼마전까지 제조업 현장에서는 3차원 모델을 프로젝트 초기에만 개념설계용으로만 사용되었고 제작과 품질관리는 2차원 도면을 기준으로 했지만, 현재 거의 모든 제조업에서는 먼저 3차원 모델을 만든 후 2차원으로 프로젝션하여 도면을 만들어 현장에 적용하는 방식으로 전환되고 있다. (주: CAD/CAM은 제조공정에서 작업자가 기계를 작동시켜 가공하는 것이 아니라, 작성된 프로그램에 따라 수치제어가능한 기계가 자동으로 가공하는 무인생산방식을 말한다.)
2. 3차원 모델링의 적용산업
적용산업은 크게 두가지 분야로 구별가능하다. 하나는 모델링을 보다 현실감 있게 만드는, 즉 질적으로 향상시키려는 분야다. 과거에 아주 어색해보이던 애니메이션 주인공들이 이제는 거의 인간에 가까운 느낌을 줄 정도로 발전하고 있다. 아주 디테일한 표면질감이나 얼굴표정까지 실체와 비슷하게 구사하려는 분야다. 다른 하나는 빅데이터의 일환으로 3차원 모델링을 사용하는 스마트 공장류의 접근이다. 예를 들어, 공장에서 어떤 부품 하나가 생산라인을 따라가고 있을 때, 어떤 부품을 스캐너로 찍어보면, 스캐너는 형상을 인식하여 부품번호를 알려주고 재고가 몇 개 창고에 있는지, 현재 생산라인에는 몇 개가 흐르고 있는지를 알려주는 것이다. 한 단계 더 나가면 이 부품과 관련된 협력업체에서의 제조나 구매현황까지 알려줄 수 있다. 즉, 모든 생산관리를 통합하여 일괄처리가능하게 해주는 곳에 3차원 모델링이 기본 데이터 역할을 하게 된다.
2.1. 3차원 프린팅
3차원 프린팅은, 특수한 액체를 레이저빔의 열을 이용하여 그부분만 순간적으로 응고시키는 방법또는 일반기계가공처럼 통재료를 깎아내어 원하는 제품을 만드는 방식도 있지만, 원하는 제품을 얇은 두께만큼씩 계속 쌓아가며 적층시키는 방식을 주로 사용한다. 어떤 방식이든, 3차원 프린팅의 데이터는 컴퓨터가 3차원 모델을 읽어서 공급해주는 것이다. 즉 눈으로 보이기만 하는 컴퓨터 속 가상의 3차원 모델이 3차원 프린팅을 통해서 손으로 만져지는 실체가 되는 것이다. 이것은 마치 여러겹으로 포게진 인쇄를 하는 과정이라고 생각할 수도 있으며 잉크 두께만큼씩 높이가 쌓여가는 제조방식이라고 이해할 수도 있다. 그러므로 제작속도는 느리지만, 물체가 복잡한 형태를 가졌어도 먼저 가상으로 컴퓨터 내에서 자유롭게 만들면 되기 때문에 다양한 물체를 별도의 형틀이나 금형 없이도 만들 수 있다. 아직은 대량생산용 제조공정에는 이르지 못했으며, 적층경계가 매끄럽지 않기 때문에 프로토타입(시작품)을 만들거나 크기가 작은 물체를 만드는데 유리하다.
2.2. 건축 및 패션산업
건축분야에는 3차원 모델링이 이미 상당히 활발하게 적용된 반면, 패션산업에서는 현재까지 3차원 모델링이 많이 도입되어 있지 않다. 옷이라는 재질이 얇고 유연하여 컴퓨터로 3차원적 실체를 자연스럽게 구현하기에 기술적 어려움이 있을 것이다. 하지만 상대적으로 딱딱한 악세서리나 안경 등은 구현이 쉬우며, 만약 각자 개인이 자신의 발을 표현한 3차원 형상을 컴퓨터 데이터로 가지고 있다면, 그리고 판매하는 인터넷 판매자가 자신들 신발상품의 3차원 데이터를 가지고 있다면 아주 쉽게 맞춰볼 수 있을 것이다. 심지어 신발 아래에 구매자의 체중에 해당하는 압력을 주는 프로그램을 이용하여 조깅할 때 자신들의 신발이 얼마나 편한지를 광고할 수 있을 것이다. 그래서 인터넷 쇼핑이 망설여지는 신발구매는 반품 위험이 현저히 줄어들어 인터넷 쇼핑이 활발해 질 것이다. 발 데이터가 몸 전신 데이터로 확대되고, 신발뿐 아니라 옷까지 3차원 모델링이 이루어진다면, 거리의 오프라인 가게들은 현저하게 줄어들 것이다. 옛날에 양복을 맞출 때 옷이 완성되기 전에 양복점을 방문하여 입어보던 ‘가봉’을 집에서 컴퓨터로 하는 모습을 상상할 수 있다.
2.3. 바이오산업
건강과 직결되는 신체 관련 의료산업에서도 3차원 모델링은 더욱 확대될 것이다. 각개인의 신체모델이 외모, 신체윤곽, 오장육부까지 다 포함한 모델로 만들어지고 그 모델이 건강진단용이나 치료용으로 사용되는 정도가 점점 늘어날 것이다. 예를 들면, 임플란트를 할 때는 그냥 컴퓨터 스캐닝으로 데이터를 읽고 의치를 만드는 것으로 바뀌고 있으므로 조만간 치아를 본뜨는 일은 없어질 것이다. 의료산업에서의 3차원 모델링은 아마도 우리가 현재 상상할 수 있는 이상으로까지 발전될 확률이 크다. 그리고 종국에는 사람마다 자기 신체와 동일한 치수를 가진 3차원 클론모델을 가지게 될 것이다. 다이어트 전과 후의 몸이 3차원 모델링 결과로 비교되고 체지방의 위치와 골밀도의 분포가 뼈마다 채도가 다른 색깔로 보여지는 상품이 곧 출현될 것이다. 문제는 하나의 기술이 급속하게 발전하면 지나치게 신기술에 의존하는 현상이 발생한다는 것이다. 마치 현시대의 문명국 인류가 휴대전화를 지나치게 의존하여 등이 굽고 자라목이 되어가는 것과 유사한 현상들이 발생할 것이다. 이런 과잉 의존이 어떤 부작용을 낳을 지 미리 연구하고 합의할 필요가 있다. 경제적 이익을 추구하는 기술을 발전시키는 것은 오히려 쉬운 일이지만, 현행 법제도가 통제할 수 있게 적정한 속도로 기술의 발전과 적용을 제어하는 것은 발전보다 훨씬 어려운 일이다.
3. 3차원 모델링의 장점과 한계
3.1. 장점
3차원 모델은 3차원 사진과는 다르게 모델을 쉽게 수정하거나 편집이 가능하며, 컴퓨터 파일처럼 복사, 전송, 보관이 자유롭다. 앞에 예로 든 신발을 주문할 경우, 미리 3차원 신발모델을 이메일로 받아서 자기 발 3차원 형상에 맞춰보고 실주문을 하면 된다. 자신의 치열을 재현한 3차원 모델 파일을 사용하면 치과에 여러번 가는 일도 줄일 수 있다. 실거주를 목적으로 신규 아파트 분양에 참여할 경우, 건축후의 품질이나 주변 환경이 과연 선전과 유사할 것인지 아니면 과잉광고일지 모른다. 이런 경우에는 3차원 모델을 통해 마치 거주하는 것같은 가상체험이 현재 가능하며, 자재나 창문 등 모든 건축물 내장들의 모델을 디테일하게 만들어 그 부분을 클릭하면 제조사와 품질등급이 나오게 하면, 이런 모델은 계약서의 일부분으로 사용될 수도 있다. 그러므로 3차원 모델의 궁극적 장점은 실체를 구현하기 전에 가장 적합한 형태를 미리 찾아내고, 구매자와 공급자 간에 합의를 위한 유용한 수단이 될 수 있다는 것이다. 이것은 모든 시뮬레이션의 목적과 동일하게, 프로토타입을 직접 만들어보는 실험을 대체하여 경비와 시간을 현저하게 줄여준다.
3.2. 한계
모델링의 한계는, 고객들은 눈에 보이는 것을 중시하므로 점점 시각적 효과에 집중하여 정밀성이나 호환성, 확장성을 염두에 두지 않는 방식으로 진행된다는 점이다. 그리고 프로그래머들의 평균 공학적 교육수준이 높은 편도 아니어서 역학적으로 불가능한 형태가 미리 점검, 수정되지 않고 완성되는 경우도 흔하다. 물론 이 문제는 모델링 자체의 문제는 아니며, 모델링 산업환경 문제일 뿐이지만, 최종제품인 모델링과 긴밀한 관계를 가지기 때문에 아주 중요하다. 예를 들어, 문화재 보존의 일환으로 어떤 복잡한 건물을 3차원 모델링 했는데, 화재로 유실된 후 복원하려고 모델을 분석해보았더니 겉으로 보기에는 그럴듯 하지만 내부의 상세함이 수준에 훨씬 못미치거나 아예 엉터리여서 데이터로써 가치를 못가지는 경우가 있을 수 있다. 방대한 데이터를 하나하나 확인하기도 쉽지 않고, 숫자 데이터를 결과물로 내어놓는 일반 프로그램과 다르게 완성도를 정확하게 평가하기 어렵고 시간도 많이 걸린다.
또 다른 한계를 살펴보면, 모델링은 방대한 양의 메모리를 사용하기 때문에 성능이 좋은 컴퓨터를 사용해도 파일을 열어서 로딩시키는 데에만도 시간이 한참 걸린다. 컴퓨터 성능이 좋아질수록 렌더링 같은 기술도 고도화되어, 요구되는 메모리 확대 대비 컴퓨터 성능향상 비율은 몇십년째 여전히 일정하여 큰 모델 작업을 할 경우 기다리는 시간이 너무 길다. 일반서류와 다르게 출력한 하드카피만으로 소통이 어려워 언제나 컴퓨터를 앞에 두고 관계자와 소통해야 하기 때문에 중요한 부분이다. 모델에서 디테일을 생략한 간단한 형태의 원시모델을 자동으로 생성해주는 프로그램 방식이 이 문제의 해답이 될 수 있다. 디테일 없이 고객과 공급자가 프로젝트 전체의 방향성을 점검하거나 큰 규모의 검사 등의 작업을 효율적으로 할 수 있을 것이다. 결론적으로 3차원 모델은 ‘나타냄’이지 존재 자체가 아니기 때문에, 언제나 쉽게 집어들 수 있는 책상 위의 연필과는 차원이 다른 ‘환영(Illusion)’이라는 것을 제작자나 사용자는 언제나 명심해야 한다.
4. 3차원 모델링의 기술개발동향
4.1. 개요
본 보고서의 원제목 ‘프로그램별 특성’을 ‘프로그램 특성’으로 바꿨다. 제목을 바꾼 이유는 공학분야에서는 현재 상당히 많은 3차원 프로그램들이 시장을 나누고 있지만, 점점 시간이 지나면서 뚜렷한 차이가 줄어들고 기본철학이 하나로 수렴되고 있기 때문이다. 기본철학이란 모든 프로그램들이 점차 마이크로 소프트의 워드방식 메뉴처럼 진화하고 있다는 것이다. 즉 주요메뉴가 상단에 배치되고 보조메뉴가 왼쪽과 오른쪽에, 그리고 현황을 알려주는 부분은 아래쪽에 위치한다. 많은 데이터를 입력하기보다는 메뉴를 클릭하는 방식인데, 마이크로 소프트 오피스에 익숙한 일반 사용자들이 가장 편하게 접급할 수 있는 구성이기 때문일 것이다. 3차원 기본형태를 깎아내거나 2차원 스케치를 잡아늘려서 모델을 만들어가는 과정도 프로그램마다 비슷하다. 가장 큰 차이는 얼마 정도 사이즈의 데이터 베이스와 인터페이스를 염두에 둔 프로젝트를 하느냐는 것이다. 예를 들면, 동일한 프랑스 닷소(Dassault)사 제품인 CATIA와 SolidWorks는 현재 세계시장을 점점 주도하고 있는데, 앞의 카티아 프로그램은 전체 항공기 설계를 위한 프로그램이라면, 뒤의 솔리드웍스는 단품 위주로 디자인하는 공학용 프로그램이다. 부품 하나를 바꾸었다면 다른 부품과의 호환성이 체크되어야 하며, 여기저기에서 동시다발적으로 작업중인 현상황이나 데이터 베이스에 업데이트된 정보가 곧바로 전달되어야 하는 문제를 해결하는 것은 이론상 쉬워보이지만, 실제 프로젝트에서는 엄청난 노력과 위험부담을 가진다. 특히 프로젝트의 규모가 크고 시차와 언어가 다른 여러 나라의 엔지니어들이 다른 위치에서 동시에 일할 경우에는 정확한 프로토콜(정보교환을 위한 공식적 사전 약속)이 중요하다.
현재 출시된 많은 프로그램들은 서로가 서로를 조금씩 카피하면서 점점 비슷해지고 있으며, 프로그램 간에 합병도 활발하게 일어날 것이다. 그러므로 전문 프로그래머들은 프로그램별 차이에 주목하기 보다는 수학적 기본원리에 충실하면서 각기 다른 메뉴에 감각을 잃지 않는 정도로 2, 3가지 프로그램에 익숙해야 할 것이다. 과거에는 프로그램별로 만들어진 모델의 호환성이 없어서 사용자들에게 큰 부담이었지만, 현재 프로그램간의 모델 호환성은 현저하게 향상되어, 완벽하지는 않지만 하나의 프로그램에서 만들어진 중간모델이 다른 프로그램으로 옮겨와 작업하는 일이 가능하게 되었다. 또한 3차원 모델이 최종 결과물이 아니라 그 모델을 대상으로 시뮬레이션을 수행하는 프로그램들이 어느 프로그램을 선호하느냐 또는 어느 프로그램과의 호환성에 중점을 두느냐도 향후 3차원 모델링 프로그램 간의 합병이나 생존에 많은 영향을 미칠 것이다.
4.2. 기술개발동향
3차원 모델링은 크게 두가지로 나누면, 시각효과를 중점으로 하는 분야와 하드웨어 제작과 연결된 분야로 나눌 수 있다. 시각효과를 중점으로 하는 분야는 애니메이션이나 광고, 패션, 건축 같은 예술분야이고 제작과 연동되는 분야는 3차원 프린팅, CAD/CAM, Simulation 분야다. 그래서 3차원 모델링은 예술과 기술이 직접 만날 수 있는 전문분야다. 예술과 공학분야에서 공히 급격하게 발전할 분야는 스캐닝이다. 예를 들면 노틀담 성당 화재후, 벨기에 국적으로 2018년에 요절한 미국 Vassar 대학의 미술사 교수 Andrew Tallon은 레이저 스캔을 이용하여 무려 10억개에 이르는 노틀담 성당 입체 이미지 파일을 만들어두었다는 사실이 밝혀졌다. 이 입체스캔자료가 그대로 3차원 모델링 자료로 변경될 수 있다면 재건축을 위해서나 애니메이션 영화 속의 배경으로나 모두 유용하게 사용가능하다. 스캔을 모델링으로 바뀌고나면, 확대나 축소 등 어떤 작업도 쉽게 가능하기 때문에 노틀담 성당의 재건축은 재창작으로까지 발전할 수 있다.
다른 부분은 최근 무한대의 가치를 가진 것으로 평가되는 3차원 프린팅 부분이다. 모델링은 이미 완전한 데이터를 제공할 수 있기 때문에 문제는 없으나, 3차원 프린팅을 위한 보다 효과적인 재료가 개발된다면 3차원 모델링도 마치 마이크로 소프트 오피스 프로그램처럼 사용이 급격하게 확대될 것이다.
마지막으로 우리가 3차원 모델링을 활발하게 이용해야 하는 부분은 의료와 교육분야다. 의료분야는 이미 약간 언급한 바 있으니, 교욱분야를 논해보자. 물체 내의 화학결합 모양이나 천체의 움직임을 3차원 모델로 표현한 자료들이 이미 교육시장에 많이 등장했다. 하지만 3차원 모델링이 완성도 높은 가상 현실로까지 발전한 것들은 흔치 않다. 만약 우리가 외국어 회화 공부를 한다면, 레이저 빔으로 입체를 만든 움직이는 가상 외국인을 직접 만나서 악수하면서 자기 소개를 하는 가상현실을 구현할 수 있다. 가상현실 부분은 드론과 결합하여 전쟁용으로도 사용될 것이다. 예를 들면, 드론을 띄워 스캔한 데이터로 함락하려고 하는 적의 본거지나 도시를 가상으로 만들고, 전투원들은 실제환경에 가까운 상황에서 훈련하는 것이다. 언제나 그러하듯, 기술은 편리한 방향으로 그리고 돈을 많이 벌고 명성을 얻을 수 있는 방향으로 변화할 뿐, ‘옮은 방향’으로 변화하지는 않으며, 옮고 그름의 가치도 기술과 더불어 변해왔다. 그래서 우리는 재래식 기술을 사용하는 사람들을 자연스럽게 미개하다고 판단하고, 첨단기술을 사용하는 사람들을 문명인이라고 생각하는 경지에 이른 것이다. 마지막으로, 3차원 모델분야에서 유의해야 할 부분은 막연하게 엄청난 데이터만 생산해내는 것이 아니라, 필요한 데이터를 가장 간결하게 구현하고 보관, 수정, 전송하는 시스템을 갖추어야 한다는 점이다. 인터넷 시대에 정보가 너무 많아서 오히려 독서량이 줄어드는 것같이, 너무 복잡해진 3차원 모델은 현장에서 효율을 저하시키고 실무작업자들의 저항감을 불러올 수도 있다. 3차원 모델링이 예술 분야가 아니라 공학분야에서 사용되는 것이라면, ‘모델링을 위한 모델링’이 아니라, 생산과 계산을 도와주는 효율적이고도 유용한 도구가 될 수 있게 모델링 전문가들이 고객들의 필요를 적절하게 분석하여 부응하는 능력이 중요할 것이다.
References
본 보고서는 해당분야 전문가를 위한 학술논문이 아니며, 모델링의 전분야에 관한 이해를 돕기 위해 작성된 보고서이다. 기본 원리와 특성 그리고 동향에 관한 지식전달 및 개인의견을 다양한 참고자료와 함께 분석하여 작성된 보고서이다.
1.1. 모델링
1.1.1. 기본개념
전통적 컴퓨터 프로그램은 논리를 바탕으로 어떤 계산을 하여 숫자 데이터를 결과물로 도출하는 것이다. 예를 들면, 1부터 100까지의 소수들(Prime Numbers)을 구하고 그것들을 전부 더하는 프로그램을 작성한다고 해보자. 프로그램 작성자는 데이터로 1부터 100까지의 숫자를 공급한다. 알고리즘은 1부터 100까지 하나씩 숫자를 증가시켜가며, 그 숫자들이 자기 자신보다 적은 숫자들 중 어느 하나로 나눌 때 나머지가 제로가 되는 지를 먼저 계산한다. 만약 나머지가 제로라면 탈락시키고 모든 숫자로 나누어봐도 나머지가 남는다면 그것을 다른 저장장소로 보내서 차곡차곡 쌓아두었다가 분류가 끝나면 한꺼번에 더하거나, 분류와 동시에 그때그때 더하는 방식으로 합을 만든다. 소수를 미리 찾아 둔 프로그램이 있거나 명령어가 있다면, 굳이 새로운 프로그램을 작성할 필요없이 그 기능을 간단한 명령어로 대신할 수 있다. 기능이 복잡한 프로그램이라도 기존의 명령어(또는 기존에 만들어진 별도의 소형 프로그램들)와 자신이 만든 프로그램을 조합하여 좀 더 손쉽게 대형 프로그램을 만들어 결과를 얻을 수 있다. 이렇게 범용으로 사용가능한 프로그램을 가능하면 많이 조합할 수 있게 코딩하는 방식을 우리는 목적지향형 (Object Oriented) 또는 객체지향형 프로그램이라고 한다. 기존에 이미 만들어진 프로그램이나 명령어는 마치 우리가 기계를 만들 때, 모든 부품을 직접 만드는 것이 아니라 시장에 나와 있는 볼트나 너트 등은 구입해다 그대로 사용하는 것과 유사하다.
프로그램은 인간이 읽기 어려운 수많은 문장들과 숫자들로 구성되어 있으며, 결과물 역시 숫자들로 구성된 데이터다. 그 데이터를 인간의 눈으로 좀 더 직관적으로 읽기 쉽게 그래프로 만들 수 있지만, 그래프는 숫자를 이해하기 위한 보조 커뮤니케이션 방식일뿐이다.
반면 모델링이란, 이런 프로그램 후에 결과물이 숫자 데이터가 아닌, 형태 데이터로 나온다는 것이다. 즉, 모니터에 나타난 3차원 모양이 모델링 프로그램의 결과물이다. 모델을 구현하는 배경 데이터는 물론 숫자이지만, 벡터화하여 데이터 숫자를 줄이고 있기 때문에, 우리의 눈에 익은 데이터와는 거리가 있다. 컴퓨터 화면에서 보이는 그래픽은 3차원의 2차원 프로파일인데, 회전시켜 보면 뒷모습도 가지고 있는 3차원적 물체다. 3차원 물체가 만들어진 다음에는 실체감을 더하기 위해 자연채광처럼 광원을 주어 명암을 조절하기도 하고, 표면의 질감을 실재료에 가깝게 바꾸거나 부드럽게 연결해주는 렌더링(Rendering)을 거쳐 최종완성된다.
이론적으로는 각점의 위치와 점간의 연결정보를 주면 선이 만들어지고 선과 선을 묶으면 면이 되고 면들을 적절하게 조합하면 입체가 되기 때문에 입력파일을 프로그래머가 만들어서 공급할 수 있지만, 작업의 속성상 데이터를 일괄처리(batch) 하는 경우는 드물고 컴퓨터와 상호대화(Interactive)하며 데이터를 하나씩 공급하고 상태를 점검하며 모델을 만들어가는 방식으로 이루어진다. 3D 모델링 프로그램 자체도 개인이 컴퓨터 언어로 작성가능하지만, 시각적 효과를 위해 색체농도조절, 원근감 등의 많은 보조장치들이 필요하기 때문에 개인이 개발하기에는 어려워서, 통상 상업용으로 개발된 프로그램들을 사용한다. 상용 프로그램은, 앞서 언급된 객체 지향형 프로그램처럼, 많은 기하학적 기본 형체 (Primitives) 를 제공하며, 물체를 만드는 작업은 이런 기본 형체를 변형시키거나 또는 2차원 스케치를 3차원으로 확장시켜 형체를 만든다.
1.1.2. 역사
3차원 모델링은 컴퓨터가 상용화된 초기부터 나왔지만, 주로 광고용으로만 사용되었고 실제 제조현장에 투입되ㅇ거나 살계 같은 엔지니어링 분야로는 도입되지 않고 있었다. 제조현장은 여전히 치수와 공차를 판단하기 쉬운 2차원 도면을 사용하고 있었는데, 1960대부터 자동차 공장을 중심으로 한 CAD/CAM 의 개발, 그리고 항공기 산업을 중심으로 한 복잡한 곡면형상 이용으로 본격적으로 산업에 사용되었으며, 1970년대부터 애니메이션 산업에 많이 이용되기 시작했으며, 1990년대 이후에는 영화산업과 긴밀하게 한짝을 이루었다. 2000년대 3차원 인쇄기술이 본격화되면서 3차원 인쇄의 데이터로 사용되는 3차원 모델링은 더욱 주목을 받고 있다. 얼마전까지 제조업 현장에서는 3차원 모델을 프로젝트 초기에만 개념설계용으로만 사용되었고 제작과 품질관리는 2차원 도면을 기준으로 했지만, 현재 거의 모든 제조업에서는 먼저 3차원 모델을 만든 후 2차원으로 프로젝션하여 도면을 만들어 현장에 적용하는 방식으로 전환되고 있다. (주: CAD/CAM은 제조공정에서 작업자가 기계를 작동시켜 가공하는 것이 아니라, 작성된 프로그램에 따라 수치제어가능한 기계가 자동으로 가공하는 무인생산방식을 말한다.)
2. 3차원 모델링의 적용산업
적용산업은 크게 두가지 분야로 구별가능하다. 하나는 모델링을 보다 현실감 있게 만드는, 즉 질적으로 향상시키려는 분야다. 과거에 아주 어색해보이던 애니메이션 주인공들이 이제는 거의 인간에 가까운 느낌을 줄 정도로 발전하고 있다. 아주 디테일한 표면질감이나 얼굴표정까지 실체와 비슷하게 구사하려는 분야다. 다른 하나는 빅데이터의 일환으로 3차원 모델링을 사용하는 스마트 공장류의 접근이다. 예를 들어, 공장에서 어떤 부품 하나가 생산라인을 따라가고 있을 때, 어떤 부품을 스캐너로 찍어보면, 스캐너는 형상을 인식하여 부품번호를 알려주고 재고가 몇 개 창고에 있는지, 현재 생산라인에는 몇 개가 흐르고 있는지를 알려주는 것이다. 한 단계 더 나가면 이 부품과 관련된 협력업체에서의 제조나 구매현황까지 알려줄 수 있다. 즉, 모든 생산관리를 통합하여 일괄처리가능하게 해주는 곳에 3차원 모델링이 기본 데이터 역할을 하게 된다.
2.1. 3차원 프린팅
3차원 프린팅은, 특수한 액체를 레이저빔의 열을 이용하여 그부분만 순간적으로 응고시키는 방법또는 일반기계가공처럼 통재료를 깎아내어 원하는 제품을 만드는 방식도 있지만, 원하는 제품을 얇은 두께만큼씩 계속 쌓아가며 적층시키는 방식을 주로 사용한다. 어떤 방식이든, 3차원 프린팅의 데이터는 컴퓨터가 3차원 모델을 읽어서 공급해주는 것이다. 즉 눈으로 보이기만 하는 컴퓨터 속 가상의 3차원 모델이 3차원 프린팅을 통해서 손으로 만져지는 실체가 되는 것이다. 이것은 마치 여러겹으로 포게진 인쇄를 하는 과정이라고 생각할 수도 있으며 잉크 두께만큼씩 높이가 쌓여가는 제조방식이라고 이해할 수도 있다. 그러므로 제작속도는 느리지만, 물체가 복잡한 형태를 가졌어도 먼저 가상으로 컴퓨터 내에서 자유롭게 만들면 되기 때문에 다양한 물체를 별도의 형틀이나 금형 없이도 만들 수 있다. 아직은 대량생산용 제조공정에는 이르지 못했으며, 적층경계가 매끄럽지 않기 때문에 프로토타입(시작품)을 만들거나 크기가 작은 물체를 만드는데 유리하다.
2.2. 건축 및 패션산업
건축분야에는 3차원 모델링이 이미 상당히 활발하게 적용된 반면, 패션산업에서는 현재까지 3차원 모델링이 많이 도입되어 있지 않다. 옷이라는 재질이 얇고 유연하여 컴퓨터로 3차원적 실체를 자연스럽게 구현하기에 기술적 어려움이 있을 것이다. 하지만 상대적으로 딱딱한 악세서리나 안경 등은 구현이 쉬우며, 만약 각자 개인이 자신의 발을 표현한 3차원 형상을 컴퓨터 데이터로 가지고 있다면, 그리고 판매하는 인터넷 판매자가 자신들 신발상품의 3차원 데이터를 가지고 있다면 아주 쉽게 맞춰볼 수 있을 것이다. 심지어 신발 아래에 구매자의 체중에 해당하는 압력을 주는 프로그램을 이용하여 조깅할 때 자신들의 신발이 얼마나 편한지를 광고할 수 있을 것이다. 그래서 인터넷 쇼핑이 망설여지는 신발구매는 반품 위험이 현저히 줄어들어 인터넷 쇼핑이 활발해 질 것이다. 발 데이터가 몸 전신 데이터로 확대되고, 신발뿐 아니라 옷까지 3차원 모델링이 이루어진다면, 거리의 오프라인 가게들은 현저하게 줄어들 것이다. 옛날에 양복을 맞출 때 옷이 완성되기 전에 양복점을 방문하여 입어보던 ‘가봉’을 집에서 컴퓨터로 하는 모습을 상상할 수 있다.
2.3. 바이오산업
건강과 직결되는 신체 관련 의료산업에서도 3차원 모델링은 더욱 확대될 것이다. 각개인의 신체모델이 외모, 신체윤곽, 오장육부까지 다 포함한 모델로 만들어지고 그 모델이 건강진단용이나 치료용으로 사용되는 정도가 점점 늘어날 것이다. 예를 들면, 임플란트를 할 때는 그냥 컴퓨터 스캐닝으로 데이터를 읽고 의치를 만드는 것으로 바뀌고 있으므로 조만간 치아를 본뜨는 일은 없어질 것이다. 의료산업에서의 3차원 모델링은 아마도 우리가 현재 상상할 수 있는 이상으로까지 발전될 확률이 크다. 그리고 종국에는 사람마다 자기 신체와 동일한 치수를 가진 3차원 클론모델을 가지게 될 것이다. 다이어트 전과 후의 몸이 3차원 모델링 결과로 비교되고 체지방의 위치와 골밀도의 분포가 뼈마다 채도가 다른 색깔로 보여지는 상품이 곧 출현될 것이다. 문제는 하나의 기술이 급속하게 발전하면 지나치게 신기술에 의존하는 현상이 발생한다는 것이다. 마치 현시대의 문명국 인류가 휴대전화를 지나치게 의존하여 등이 굽고 자라목이 되어가는 것과 유사한 현상들이 발생할 것이다. 이런 과잉 의존이 어떤 부작용을 낳을 지 미리 연구하고 합의할 필요가 있다. 경제적 이익을 추구하는 기술을 발전시키는 것은 오히려 쉬운 일이지만, 현행 법제도가 통제할 수 있게 적정한 속도로 기술의 발전과 적용을 제어하는 것은 발전보다 훨씬 어려운 일이다.
3. 3차원 모델링의 장점과 한계
3.1. 장점
3차원 모델은 3차원 사진과는 다르게 모델을 쉽게 수정하거나 편집이 가능하며, 컴퓨터 파일처럼 복사, 전송, 보관이 자유롭다. 앞에 예로 든 신발을 주문할 경우, 미리 3차원 신발모델을 이메일로 받아서 자기 발 3차원 형상에 맞춰보고 실주문을 하면 된다. 자신의 치열을 재현한 3차원 모델 파일을 사용하면 치과에 여러번 가는 일도 줄일 수 있다. 실거주를 목적으로 신규 아파트 분양에 참여할 경우, 건축후의 품질이나 주변 환경이 과연 선전과 유사할 것인지 아니면 과잉광고일지 모른다. 이런 경우에는 3차원 모델을 통해 마치 거주하는 것같은 가상체험이 현재 가능하며, 자재나 창문 등 모든 건축물 내장들의 모델을 디테일하게 만들어 그 부분을 클릭하면 제조사와 품질등급이 나오게 하면, 이런 모델은 계약서의 일부분으로 사용될 수도 있다. 그러므로 3차원 모델의 궁극적 장점은 실체를 구현하기 전에 가장 적합한 형태를 미리 찾아내고, 구매자와 공급자 간에 합의를 위한 유용한 수단이 될 수 있다는 것이다. 이것은 모든 시뮬레이션의 목적과 동일하게, 프로토타입을 직접 만들어보는 실험을 대체하여 경비와 시간을 현저하게 줄여준다.
3.2. 한계
모델링의 한계는, 고객들은 눈에 보이는 것을 중시하므로 점점 시각적 효과에 집중하여 정밀성이나 호환성, 확장성을 염두에 두지 않는 방식으로 진행된다는 점이다. 그리고 프로그래머들의 평균 공학적 교육수준이 높은 편도 아니어서 역학적으로 불가능한 형태가 미리 점검, 수정되지 않고 완성되는 경우도 흔하다. 물론 이 문제는 모델링 자체의 문제는 아니며, 모델링 산업환경 문제일 뿐이지만, 최종제품인 모델링과 긴밀한 관계를 가지기 때문에 아주 중요하다. 예를 들어, 문화재 보존의 일환으로 어떤 복잡한 건물을 3차원 모델링 했는데, 화재로 유실된 후 복원하려고 모델을 분석해보았더니 겉으로 보기에는 그럴듯 하지만 내부의 상세함이 수준에 훨씬 못미치거나 아예 엉터리여서 데이터로써 가치를 못가지는 경우가 있을 수 있다. 방대한 데이터를 하나하나 확인하기도 쉽지 않고, 숫자 데이터를 결과물로 내어놓는 일반 프로그램과 다르게 완성도를 정확하게 평가하기 어렵고 시간도 많이 걸린다.
또 다른 한계를 살펴보면, 모델링은 방대한 양의 메모리를 사용하기 때문에 성능이 좋은 컴퓨터를 사용해도 파일을 열어서 로딩시키는 데에만도 시간이 한참 걸린다. 컴퓨터 성능이 좋아질수록 렌더링 같은 기술도 고도화되어, 요구되는 메모리 확대 대비 컴퓨터 성능향상 비율은 몇십년째 여전히 일정하여 큰 모델 작업을 할 경우 기다리는 시간이 너무 길다. 일반서류와 다르게 출력한 하드카피만으로 소통이 어려워 언제나 컴퓨터를 앞에 두고 관계자와 소통해야 하기 때문에 중요한 부분이다. 모델에서 디테일을 생략한 간단한 형태의 원시모델을 자동으로 생성해주는 프로그램 방식이 이 문제의 해답이 될 수 있다. 디테일 없이 고객과 공급자가 프로젝트 전체의 방향성을 점검하거나 큰 규모의 검사 등의 작업을 효율적으로 할 수 있을 것이다. 결론적으로 3차원 모델은 ‘나타냄’이지 존재 자체가 아니기 때문에, 언제나 쉽게 집어들 수 있는 책상 위의 연필과는 차원이 다른 ‘환영(Illusion)’이라는 것을 제작자나 사용자는 언제나 명심해야 한다.
4. 3차원 모델링의 기술개발동향
4.1. 개요
본 보고서의 원제목 ‘프로그램별 특성’을 ‘프로그램 특성’으로 바꿨다. 제목을 바꾼 이유는 공학분야에서는 현재 상당히 많은 3차원 프로그램들이 시장을 나누고 있지만, 점점 시간이 지나면서 뚜렷한 차이가 줄어들고 기본철학이 하나로 수렴되고 있기 때문이다. 기본철학이란 모든 프로그램들이 점차 마이크로 소프트의 워드방식 메뉴처럼 진화하고 있다는 것이다. 즉 주요메뉴가 상단에 배치되고 보조메뉴가 왼쪽과 오른쪽에, 그리고 현황을 알려주는 부분은 아래쪽에 위치한다. 많은 데이터를 입력하기보다는 메뉴를 클릭하는 방식인데, 마이크로 소프트 오피스에 익숙한 일반 사용자들이 가장 편하게 접급할 수 있는 구성이기 때문일 것이다. 3차원 기본형태를 깎아내거나 2차원 스케치를 잡아늘려서 모델을 만들어가는 과정도 프로그램마다 비슷하다. 가장 큰 차이는 얼마 정도 사이즈의 데이터 베이스와 인터페이스를 염두에 둔 프로젝트를 하느냐는 것이다. 예를 들면, 동일한 프랑스 닷소(Dassault)사 제품인 CATIA와 SolidWorks는 현재 세계시장을 점점 주도하고 있는데, 앞의 카티아 프로그램은 전체 항공기 설계를 위한 프로그램이라면, 뒤의 솔리드웍스는 단품 위주로 디자인하는 공학용 프로그램이다. 부품 하나를 바꾸었다면 다른 부품과의 호환성이 체크되어야 하며, 여기저기에서 동시다발적으로 작업중인 현상황이나 데이터 베이스에 업데이트된 정보가 곧바로 전달되어야 하는 문제를 해결하는 것은 이론상 쉬워보이지만, 실제 프로젝트에서는 엄청난 노력과 위험부담을 가진다. 특히 프로젝트의 규모가 크고 시차와 언어가 다른 여러 나라의 엔지니어들이 다른 위치에서 동시에 일할 경우에는 정확한 프로토콜(정보교환을 위한 공식적 사전 약속)이 중요하다.
현재 출시된 많은 프로그램들은 서로가 서로를 조금씩 카피하면서 점점 비슷해지고 있으며, 프로그램 간에 합병도 활발하게 일어날 것이다. 그러므로 전문 프로그래머들은 프로그램별 차이에 주목하기 보다는 수학적 기본원리에 충실하면서 각기 다른 메뉴에 감각을 잃지 않는 정도로 2, 3가지 프로그램에 익숙해야 할 것이다. 과거에는 프로그램별로 만들어진 모델의 호환성이 없어서 사용자들에게 큰 부담이었지만, 현재 프로그램간의 모델 호환성은 현저하게 향상되어, 완벽하지는 않지만 하나의 프로그램에서 만들어진 중간모델이 다른 프로그램으로 옮겨와 작업하는 일이 가능하게 되었다. 또한 3차원 모델이 최종 결과물이 아니라 그 모델을 대상으로 시뮬레이션을 수행하는 프로그램들이 어느 프로그램을 선호하느냐 또는 어느 프로그램과의 호환성에 중점을 두느냐도 향후 3차원 모델링 프로그램 간의 합병이나 생존에 많은 영향을 미칠 것이다.
4.2. 기술개발동향
3차원 모델링은 크게 두가지로 나누면, 시각효과를 중점으로 하는 분야와 하드웨어 제작과 연결된 분야로 나눌 수 있다. 시각효과를 중점으로 하는 분야는 애니메이션이나 광고, 패션, 건축 같은 예술분야이고 제작과 연동되는 분야는 3차원 프린팅, CAD/CAM, Simulation 분야다. 그래서 3차원 모델링은 예술과 기술이 직접 만날 수 있는 전문분야다. 예술과 공학분야에서 공히 급격하게 발전할 분야는 스캐닝이다. 예를 들면 노틀담 성당 화재후, 벨기에 국적으로 2018년에 요절한 미국 Vassar 대학의 미술사 교수 Andrew Tallon은 레이저 스캔을 이용하여 무려 10억개에 이르는 노틀담 성당 입체 이미지 파일을 만들어두었다는 사실이 밝혀졌다. 이 입체스캔자료가 그대로 3차원 모델링 자료로 변경될 수 있다면 재건축을 위해서나 애니메이션 영화 속의 배경으로나 모두 유용하게 사용가능하다. 스캔을 모델링으로 바뀌고나면, 확대나 축소 등 어떤 작업도 쉽게 가능하기 때문에 노틀담 성당의 재건축은 재창작으로까지 발전할 수 있다.
다른 부분은 최근 무한대의 가치를 가진 것으로 평가되는 3차원 프린팅 부분이다. 모델링은 이미 완전한 데이터를 제공할 수 있기 때문에 문제는 없으나, 3차원 프린팅을 위한 보다 효과적인 재료가 개발된다면 3차원 모델링도 마치 마이크로 소프트 오피스 프로그램처럼 사용이 급격하게 확대될 것이다.
마지막으로 우리가 3차원 모델링을 활발하게 이용해야 하는 부분은 의료와 교육분야다. 의료분야는 이미 약간 언급한 바 있으니, 교욱분야를 논해보자. 물체 내의 화학결합 모양이나 천체의 움직임을 3차원 모델로 표현한 자료들이 이미 교육시장에 많이 등장했다. 하지만 3차원 모델링이 완성도 높은 가상 현실로까지 발전한 것들은 흔치 않다. 만약 우리가 외국어 회화 공부를 한다면, 레이저 빔으로 입체를 만든 움직이는 가상 외국인을 직접 만나서 악수하면서 자기 소개를 하는 가상현실을 구현할 수 있다. 가상현실 부분은 드론과 결합하여 전쟁용으로도 사용될 것이다. 예를 들면, 드론을 띄워 스캔한 데이터로 함락하려고 하는 적의 본거지나 도시를 가상으로 만들고, 전투원들은 실제환경에 가까운 상황에서 훈련하는 것이다. 언제나 그러하듯, 기술은 편리한 방향으로 그리고 돈을 많이 벌고 명성을 얻을 수 있는 방향으로 변화할 뿐, ‘옮은 방향’으로 변화하지는 않으며, 옮고 그름의 가치도 기술과 더불어 변해왔다. 그래서 우리는 재래식 기술을 사용하는 사람들을 자연스럽게 미개하다고 판단하고, 첨단기술을 사용하는 사람들을 문명인이라고 생각하는 경지에 이른 것이다. 마지막으로, 3차원 모델분야에서 유의해야 할 부분은 막연하게 엄청난 데이터만 생산해내는 것이 아니라, 필요한 데이터를 가장 간결하게 구현하고 보관, 수정, 전송하는 시스템을 갖추어야 한다는 점이다. 인터넷 시대에 정보가 너무 많아서 오히려 독서량이 줄어드는 것같이, 너무 복잡해진 3차원 모델은 현장에서 효율을 저하시키고 실무작업자들의 저항감을 불러올 수도 있다. 3차원 모델링이 예술 분야가 아니라 공학분야에서 사용되는 것이라면, ‘모델링을 위한 모델링’이 아니라, 생산과 계산을 도와주는 효율적이고도 유용한 도구가 될 수 있게 모델링 전문가들이 고객들의 필요를 적절하게 분석하여 부응하는 능력이 중요할 것이다.
References
- Savini, A., & Savini, G. G. et al, A Short History of 3D Printing, a Technological Revolution just Started. 2015 ICOHTEC/IEEE International History of High-Technologies and their Socio-Cultural Contexts Conference (HISTELCON), Tel-Aviv, Israel, August 2015.
- Nguyen, V. S., & Tran, M. H. et al, A Research on 3D Model Construction from 2D DICOM, 2016 International Conference on Advanced Computing and Applications, 2016.
- Kong, X., & Qiu, Y., et al, Research and Implementation of CATIA Tool Integration Technology Based on CAA, PRZEGL?D ELEKTROTECHNICZNY (Electrical Review), ISSN 0033-2097, R. 88 NR 7b/2012.
- Dubovska, R., & Jamber, J., et al, Implementation of CAD/CAM System CATIA v5 in Simulation of CNC Machining Process, Journal of Procedia Engineering, 2014.