KR20010002209A - 실시간 처리가 가능한 타원해석 볼륨렌더링 방법 - Google Patents

실시간 처리가 가능한 타원해석 볼륨렌더링 방법 Download PDF

Info

Publication number
KR20010002209A
KR20010002209A KR1019990021898A KR19990021898A KR20010002209A KR 20010002209 A KR20010002209 A KR 20010002209A KR 1019990021898 A KR1019990021898 A KR 1019990021898A KR 19990021898 A KR19990021898 A KR 19990021898A KR 20010002209 A KR20010002209 A KR 20010002209A
Authority
KR
South Korea
Prior art keywords
ellipse
image
elliptic
rendering
voxel
Prior art date
Application number
KR1019990021898A
Other languages
English (en)
Other versions
KR100298814B1 (ko
Inventor
장희동
Original Assignee
장희동
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 장희동 filed Critical 장희동
Priority to KR1019990021898A priority Critical patent/KR100298814B1/ko
Publication of KR20010002209A publication Critical patent/KR20010002209A/ko
Application granted granted Critical
Publication of KR100298814B1 publication Critical patent/KR100298814B1/ko

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B66HOISTING; LIFTING; HAULING
    • B66CCRANES; LOAD-ENGAGING ELEMENTS OR DEVICES FOR CRANES, CAPSTANS, WINCHES, OR TACKLES
    • B66C11/00Trolleys or crabs, e.g. operating above runways
    • B66C11/14Trolleys or crabs, e.g. operating above runways adapted to operate on crane or bridge structure of particular configuration, e.g. on reinforced concrete girders of rectangular cross-section
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B66HOISTING; LIFTING; HAULING
    • B66CCRANES; LOAD-ENGAGING ELEMENTS OR DEVICES FOR CRANES, CAPSTANS, WINCHES, OR TACKLES
    • B66C2700/00Cranes
    • B66C2700/01General aspects of mobile cranes, overhead travelling cranes, gantry cranes, loading bridges, cranes for building ships on slipways, cranes for foundries or cranes for public works

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Image Generation (AREA)

Abstract

본 발명은 타원 해석 볼륨 렌더링 방법에 관한 것으로, 컴퓨터 게임을 위한 3차원 스프라이트(sprite), 전자상거래를 위한 3차원 제품안내, 사이버인간 등 복잡하고 사실성이 요구되는 물체에 대해 효율적으로 모델링할 수 있고 PC에서 실시간으로 렌더링할 수 있는 새로운 방법을 제공하기 위한 것이다.
본 발명에서는 물체 모델링방법은 복잡하고 사실성이 요구되는 물체를 효과적으로 모델링하기 위해 볼륨 그래픽스 방식을 사용했고, 렌더링방법은 PC에서 실시간 렌더링이 가능하면서도 투영시 이미지 홀이 생기지 않는 영역대영역 매핑방식을 사용한 새로운 방법으로서, 원근투영방식의 아이디어는 구의 원근투영 이미지는 항상 타원이된다는 것과 타원은 수학적 해석이 쉽다는 사실을 이용하는 것이다. 제안하는 방법은 각 복셀영역을 구(sphere)로 가정하여 먼저 원근투영된 타원의 수학적 방정식을 구한다. 그리고 타원방정식을 이용하여 타원의 영역과 만나는 픽셀들에게 그 복셀의 영상정보를 타원 해석에 의한 영역 대 영역 매핑방법으로 매핑시키는 것이다.

Description

실시간 처리가 가능한 타원해석 볼륨렌더링 방법{Real-Time Implementable Volume Rendering method by Analyzing Ellipse}
본 발명은 타원 해석 볼륨 렌더링 방법에 관한 것으로, 특히 컴퓨터 게임을 위한 3차원 스프라이트(sprite), 전자 상거래를 위한 3차원 제품안내, 사이버 인간등 복잡하고 사실성이 요구되는 물체에 대해 효율적으로 모델링 할 수 있고 PC에서 실시간으로 랜더링 할 수 있는 정확하고 실시간 처리가 가능한 타원해석 볼륨렌더링 방법에 관한 것이다.
3차원 컴퓨터 그래픽스 기술은 특히 컴퓨터 게임, 전자상거래, 그리고 사이버인간(avata) 분야에서 필수적인 핵심 기술로 부각되고 있는데, 3차원 컴퓨터 그래픽스는 물체 모델링 방식에 따라 크게 표면 그래픽스(suface graphics)와 볼륨 그래픽스(volume graphics)로 나눌수 있다.
표면 그래픽스는 3차원 물체 표면를 점, 선, 다각면, 메시(mesh) 혹은, 수학적 함수들을 사용하여, 표면 모양을 기하학적으로 모델링하고 표면이 가지는 재질을 수학적 함수나 텍스춰(texture) 이미지로 모델링한다.
또한 물체를 가시화하기 위해 Z-버퍼, 광선추적기법(Ray Tracing), 혹은 래디오시티(Radiocity)와 같은 렌더링방법을 사용한다. 표면 그래픽스는 3차원 컴퓨터 그래픽스분야의 출발점이었기 때문에 현재 다양한 응용 분야에서 널리 사용되고 있다.
볼륨 그래픽스는 의료영상분야에서 주로 사용되며, 3차원 물체의 표면뿐만 아니라 내부까지 모델링할 수 있다. 이는 의사가 인체의 내부를 수술하지 않고 관찰할 수 있게 하기 위함이다. 볼륨 그래픽스는 자기공명(MRI:Magnetic Resonance Imaging)장치, 단층촬영(CT:Computed Tomography) 혹은 초음파 장치를 통해 물체를 일정한 간격으로 찍은 2차원 단면영상들을 모아서 보간(interpolation)과 영역분할(segmentation)을 하여, 동일한 간격을 갖는 3차원 격자 위치에서의 물체 영상정보(예:색깔, 투명도)들을 샘플링함으로, 물체를 모델링한다. 따라서 볼륨 그래픽스의 물체 모델은 일정한 간격의 3차원 격자 위치에서샘플링된 물체 영상정보들의 데이타이다. 샘플링된 한개의 영상정보를 복셀(voxel)이라 하며 보통 격자 간격 크기의 정육면체(cubic) 영역이 활당된다.
도 1의 (a)는 볼륨 렌더링의 원리도로서 이에 도시된 바와 같이, 볼륨 그래픽스에서의 렌더링은, 각 복셀을 이미지 평면의 픽셀(pixel)로 원근투영(perspective projection)하는 것이다.
복셀 투영방법은 크게 3가지 방식으로 분류할 수 있다. 그중 한가지는 복셀의 중심점과 픽셀의 중심점 사이를 대응시키는 점대점 매핑 방식(point-to-point mapping), 또 다른 것은 복셀영역과 픽셀 중심점사이를 대응시키는 영역대점 매핑방식(region-to-point mapping), 그리고 나머지는 복셀영역을 이미지영역으로 대응시키는 영역대영역 매핑방식(region-to-region mapping)이다. 점대점 매핑 방식의 예는 Z-버퍼링이다. 즉 각 복셀의 중심점에서 카메라 위치로 연결되는 직선과 마주치는 픽셀에 대응하는 Z-버퍼에다 복셀위치의 z좌표값이나 카메라 위치까지의 거리값을 저장하고 비교하여 가장 가까운 복셀의 영상정보를 그 픽셀에 대응시킨다. 영역대점 매핑방식의 예는 레이 캐스팅(ray casting)이다. 카메라 위치에서 각 픽셀의 중심점으로 연결되는 직선이 카메라 위치에서 가장 가까운 복셀영역을 만나면 그 복셀의 영상정보를 대응하는 픽셀로 연결시키는 방법이다. 영역대영역 매핑방식은 복셀의 이미지가 일반적인 다각형이기 때문에 해석하는 것이 매우 어렵고 계산시간이 많이 소요되어 아직 사용되고 있는 방법은 없다.
이론적으로 투영의 정확도는 영역대영역 매핑방식이 가장 높고 그 다음은 영역대점 매핑방식, 그 다음은 점대점 매핑방식이다. 반대로 렌더링 속도는 점대점 대응방식이 가장 빠르고 그 다음은 영역대점 매핑방식, 그리고 그 다음은 영역대영역 매핑방식이다. 점대점 매핑방식과 영역대점 매핑방식은 투영 오차가 존재하기 때문에 렌더링 이미지에 홀(hole)이 생기는 문제가 발생한다. 즉, 도 1의 (b)는 복셀들의 이미지상에 나타난 홀을 보인 예시로서 이에 도시된 바와 같이 투영오차로 인한 홀이 발생된다.
따라서, 기존의 볼륨그래픽스에서 사용된 렌더링방법에서 발생하는 투영 오차인 홀(홀)을 제거하기 위해 추가적인 모델 데이터에 대한 슈퍼샘플링(supersampling) 혹은 필터링(filtering)을 하거나, 홀(hole)이 생기지 않을 만큼 충분히 샘플링된 복셀데이터를 사용하고 있다.
본 발명의 목적은 컴퓨터 게임을 위한 3차원 스프라이트(sprite), 전자상거래를 위한 3차원 제품안내, 사이버인간 등 복잡하고 사실성이 요구되는 물체에 대해 효율적으로 모델링할 수 있고 PC에서 실시간으로 렌더링할 수 있는 새로운 방법을 제공하기 위한 것이다.
본 발명에서는 물체 모델링방법은 복잡하고 사실성이 요구되는 물체를 효과적으로 모델링하기 위해 볼륨 그래픽스 방식을 사용했고, 렌더링방법은 PC에서 실시간 렌더링이 가능하면서도 투영시 이미지 홀이 생기지 않는 영역대영역 매핑방식을 사용한 새로운 방법을 제시한다.
원근투영방식의 아이디어는 구의 원근투영 이미지는 항상 타원이된다는 것과 타원은 수학적 해석이 쉽다는 사실을 이용하는 것이다. 제안하는 방법은 각 복셀영역을 구(sphere)로 가정하여 먼저 원근투영된 타원의 수학적 방정식을 구한다. 그리고 타원방정식을 이용하여 타원의 영역과 만나는 픽셀들에게 그 복셀의 영상정보를 도 1의 (c)에 도시된 타원 해석에 의한 영역 대 영역 매핑 예시도와 같이 매핑시키는 것이다.
도 1의 (a)는 볼륨 렌더링의 원리도.
도 1의 (b)는 복셀들의 이미지상에 나타난 홀을 보인 예시도.
도 1의 (c)는 타원 해석에 의한 영역 대 영역 매핑 설명도.
도 2는 세계좌표계, 객체좌표계, 카메라좌표계를 보인 설명도.
도 3의 (a)는 정육면체형 복셀과 구형 복셀을 보인 예시도.
도 3의 (b)는 카메라 좌표계 원점, 타원, 구에 의해 결정되는 원추를 보인 설명도.
도 4의 (a)는 타원과 수직선의 교차 설명도.
도 4의 (b)는 타원과 수평선의 교차 설명도.
도 5는 타원의 외접 직사각형(bounding rectangle) 설명도.
도 6은 본 발명에 의한 각 복셀의 타원형 이미지 해석 볼륨 렌더링 처리 절차도.
도 7은 본 발명에 의한 타원이미지, 외접 직사각형, 픽셀과의 영역 관계를 보인 것으로,
(a) 타원이미지가 한 픽셀안에 있는 경우 (b) 타원이미지가 한 픽셀안에 있지 않는 경우를 보인 것이다.
도 8은 본 발명을 설명하기 위한 픽셀의 4개 경계선이 있는 예시도
도 9는 본 발명의 실험에서 사용된 볼륨 그래픽스 모델 예시도로서,
(a)는 정육면체(cubic) 모델, (b)는 구(sphere) 모델, (c)는 원추(cone) 모델, (d)는 3차원 직선들(lines)을 나타낸다.
도 10은 정육면체에 대한 볼륨 렌더링 이미지 예시도로서,
(a)는 Z-버퍼링(Z-buffering), (b)는 래이 캐스팅(ray casting), (c)는 타원해석 렌더링을 나타낸다.
도 11은 구에 대한 대한 볼륨 렌더링 이미지 예시도로서,
(a)는 Z-버퍼링 (b)는 래이 캐스팅 (c)는 타원해석 렌더링을 나타낸다.
도 12는 원추에 대한 볼륨 렌더링 이미지 예시도로서,
(a)는 Z-버퍼링 (b)는 래이 캐스팅 (c)는 타원해석 렌더링을 나타낸다.
도 13은 3차원 직선들에 대한 볼륨 렌더링 이미지 예시도로서,
(a)는 Z-버퍼링 (b)는 래이 캐스팅 (c)는 타원해석 렌더링을 나타낸다.
도 14는 정육면체에 대한 타원 해석 볼륨 렌더링 결과를 보인 모델 크기별 렌더링 시간을 특성도.
도 15는 구에 대한 타원 해석 볼륨 렌더링 결과를 보인 모델 크기별 렌더링 시간 특성도.
도 16은 원추에 대한 타원 해석 볼륨 렌더링 결과를 보인 모델 크기별 렌더링 시간 특성도.
도 17은 3차원 직선들에 대한 타원 해석 볼륨 렌더링 결과를 보인 모델 크기별 렌더링 시간 특성도.
이하, 본 발명의 실시예를 첨부된 도면을 참조해서 상세히 설명하면 다음과 같다. 본 발명을 설명함에 있어서, 첫째 구의 이미지인 타원의 방정식과, 타원과 수평 혹은 수직선과의 교차 판별식 및 교점, 그리고 타원의 외접 직사각형(bounding rectangle)에 대한 클로즈드-폼(closed-form) 수학적 해(solution)를 구하는 방법을 설명한다. 이러한 해들은 타원해석을 실시간으로 가능하게 해준다.
둘째, 수학적 해를 사용하여 새로운 영역대영역 매핑방식인 타원해석에 의한 복셀 원근투영을 기반으로 한 렌더링 방법에 대해서 설명한다.
그리고, 세째, 제안한 렌더링 방법에 대한 성능 분석 실험으로 점대점 매핑 방식인 Z-버퍼링(buffering), 그리고 영역대점 매핑방식인 레이 캐스팅(ray casting) 방법을 사용하여 렌더링 이미지 홀(hole)의 발생에 대해 비교분석을 하였고 제안한 렌더링방법에 대한 처리시간을 측정하여 그 결과를 분석하였다.
먼저, 타원 해석을 위한 수학적 결과를 구하는 방법에 대해 설명한다.
구의 방정식으로부터 유도하여 구의 이미지인 타원의 방정식을 구하고, 타원을 둘러싸는 바운딩 박스(bounding box)의 4개 꼭지점의 좌표와 타원과 수평/수직선이 만나는 조건식 및 교점을 구한다.
1. 세계 좌표계, 객체 좌표계, 카메라 좌표계
본 발명에서 기술된 수학적 결과를 얻기위해 사용된 좌표계의 종류는 세계 좌표계, 객체 좌표계, 카메라 좌표계이며, 도 2에 도시된 세계좌표계, 객체좌표계, 카메라 좌표계를 보인 설명도와 같이, 모두 오른손 직교좌표계이다. 세계 좌표계는 카메라와 물체들의 3차원 위치(position) 및 방향(orientation) 좌표들의 기준이 되는 좌표계이며 고정되어 있다. 카메라 좌표계는 카메라의 3차원 위치 및 방향 좌표들의 기준이 되는 좌표계이다.
세계 좌표계의 기준으로 객체 좌표계의 위치 및 방향을 지정함으로 물체의 위치 및 방향을 결정할 수 있고 물체의 움직임도 표현할 수 있다. 마찬가지고 카메라 좌표계의 위치 및 방향을 지정함으로 카메라의 3차원 위치 및 방향이 결정되어 진다.
2. 구의 원근투영 이미지 방정식
불륨그래픽스에서의 물체 모델은 복셀 집합으로 표현되고 복셀은 일정한 간격의 격자 영역의 영상정보를 갖고 있는 정육면체(cubic)으로 가정하고 샘플링된다. 하지만 이런 경우 한 복셀의 이미지는 여러 모양의 다각형으로 나타나기 때문에 이미지 영역의 해석이 매우 어렵다.
따라서 본 발명에서는 구의 이미지는 항상 타원인 성질을 사용하기 위해 복셀의 영역을 구로 가정한다. 예를 들면 한 변의 길이가 1인 복셀 영역을 반지름이인 구로 도 3의 (a)에 도시된 정육면체형 복셀과 구형 복셀을 보인 예시도와 같이 가정한다.
복셀의 이미지 영역이 타원이 경우 그 방정식이 2변수 2차 함수이기 때문에 수학적으로 핵석하기 용이하다.
객체 좌표계기준으로 반지름 길이가 r이고 위치 좌표가인 구의 방정식은이다. 이러한 구 중심점의 카메라 좌표계 기준의 위치 좌표는 좌표변환(coordinate transformation)을 통해 얻을 수 있고, 객체 좌표계와 카메라 좌표계의 단위가 동일한 경우, 구의 방정식은이 된다.
카메라 촛점길이(focal length)는 카메라 좌표계의 원점에서 이미지 평면의 원점까지의 거리를 의미하며, 카메라 좌표계의 좌표로 표현된 복셀 구의 방정식에 대해 원근투영된 타원 이미지의 방정식은 〈정리1〉과 같이 구할 수 있다.
〈정리1〉 카메라 좌표계 기준의 구 방정식이
이고
카메라의 촛점길이(focal length)가 f인, 구의 이미지인 타원 방정식은
이다.
〈증명〉
카메라 좌표계의 원점에서 구의 이미지인 타원을 지나 구에 도달하는 모든 직선들의 모임은 도 3의 (b)에 도시된 카메라 좌표계 원점, 타원, 구에 의해 결정되는 원추를 보인 설명도와 같이, 원추(cone)가 된다.
이 원추의 방정식은 다음과 같다.
구의 이미지인 타원도 이 원추 표면에 있기 때문에 원추 방정식을 만족하고 또 이미지 평면에 있기 때문에, z'=-f를 동시에 만족한다. 따라서 z'=-f를 대입하여 원추 방정식을 정리하면 타원 방정식을 얻을 수 있다.
3. 타원과 수평 혹은 수직선의 교차 판별식 및 교점
복셀 구의 이미지인 타원과 이미지 평면상의 수직선과의 교차를 판별할 수 있는 수식을 〈정리1〉의 결과로부터 다음과 같이 구할 수 있다.
〈정리 2〉 타원의 방정식이
이고 수직선이면,
(1) 타원과 수직선이 2점으로 교차할 필요충분 조건은
이고
이때 두 교점의 y'좌표는
이다.
(2) 타원과 수직선이 1점으로 교차할 필요충분 조건은
이고
교점의 y'좌표는이다.
(3) 타원과 수직선이 교차하지 않을 필요충분 조건은
이다.
여기서, 이다.
〈증명〉
타원과 수직선의 교차는 도 4의 (a)에 도시된 타원과 수직선의 교차 설명도와 같이, 2점 혹은 1점으로 교차하거나 전혀 만나지 않는 경우로 나누어 진다.
타원과 수직선의 교점들은 타원방정식과 수직선 방정식을 동시에 만족하는 해이다. 따라서 이 연립방정식은로 간략히 된다. 이는y'에 대한 2차방정식이므로 y'의 해의 갯수가 바로 교점의 갯수와 동일하다. 그러므로 교점의 개수에 대한 필요충분조건의 판별은근의 판별식을 통해 할 수 있다. 또한 교점의 y'좌표는 f(y')=0의 해이므로 이차방정식의 근의 공식에 의해 구할 수 있다.
마찬가지로 복셀 구의 이미지인 타원과 이미지 평면상의 수평선과의 교차를 판별할 수 있는 수식을 〈정리1〉의 결과로부터 〈정리 3〉과 같이 구할 수 있다.
〈정리 3〉 타원의 방정식이
이고 수평선 y'=c 이면,
(1) 타원과 수평선이 2점으로 교차할 필요충분 조건은
이고,
두 교점의 x'좌표는이다.
(2) 타원과 수평선이 1점으로 교차할 필요충분 조건은
이고,
교점의 x'좌표는이다.
(3) 타원과 수평선이 교차하지 않을 필요충분 조건은
이다.
여기서, 이다.
〈증명〉
타원과 수평선의 교차는 도 4의 (b)에 도시된 타원과 수평선의 교차 설명도와 같이, 2점 혹은 1점으로 교차하거나 전혀 만나지 않는 경우로 나누어 진다.
타원과 수평선의 교점들은 타원방정식과 수직선 방정식을 동시에 만족하는 해이다. 따라서 이 연립방정식은로 간략히 된다. 이는 x'에 대한 2차방정식이므로 x'의 해의 갯수가 바로 교점의 갯수와 동일하다. 그러므로 교점의 개수에 대한 필요충분조건의 판별은의 근의 판별식 (c4-c3c)2-c1(c2c2+2c5c+c6)을 통해 할 수 있다. 또한 교점의 x'좌표는 f(x')=0의 해이므로 이차방정식의 근의 공식에 의해 구할 수 있다.
4. 구의 원근투영 이미지인 타원의 외접 직사각형
타원의 외접 직사각형(bounding rectangle)은 도 5와 같이,,,,를 구함으로 결정되어진다. 이들의 수학적 해는 〈정리4〉와 같다. 도 5는 타원의 외접 직사각형(bounding rectangle) 설명도이다.
〈정리4〉 타원의 방정식이
이면,
타원의 외접 직사각형은 다음과 같다.
여기서, 이다.
〈증명〉
타원의 방정식 F(x',y')=0은 2변수 2차함수이기 때문에, y'를 임의의 상수로 고정하면 x'에 관한 2차 방정식이 된다. 이 2차 방정식의 근의 판별식 f(y')은 y'에 관한 2차 방정식이다. 한편 우리가 구하고자 하는,는 x'가 중근을 가질 때의 f(y')=0 방정식 해이므로 2차방정식 근의 공식을 사용하여,를 구한다.
같은 방법으로, 타원의 방정식에 대해 x'를 임의의 상수로 고정시켜 근의 판별식 방정식을 사용하여 나머지,를 구한다.
따라서 상기에서 상세히 설명한 바와 같은, 타원의 수학적 해를 구하는 방법을 이용하여 타원 해석 볼륨 렌더링 방법을 설명하면 다음과 같다.
타원해석 볼륨렌더링
타원형 이미지 해석 볼륨렌더링은 각 구형 복셀을 이미지 평면에 원근투영시켜 나타나는 타원영역을 해석하여 이 영역과 만나는 픽셀에 대하여 Z-버퍼링(buffering)을 하는 것이다. 본 발명에서는 제안된 볼륨렌더링에 대한 알고리즘은 다음과 같다.
도 6은 본 발명에 의한 각 복셀의 타원형 이미지 해석 볼륨 렌더링 처리 절차도이다.
1. 알고리즘
타원형 이미지 해석 볼륨렌더링은 물체 모델의 각 복셀에 대해, 도 6에 도시된 바와 같이, 7단계의 처리 과정을 수행함으로 이루어진다.
제 1단계는 복셀의 중심점 위치좌표가 객체좌표계 기준이기 때문에, 좌표계변환행렬을 사용하여, 카메라좌표계의 위치좌표로 변환한다. 제 2단계는 복셀 중심점을 원근투영행렬을 사용하여 이미지 평면으로 원근투영 한다. 제 3단계는 원근투영된 복셀 중심점의 이미지 위치가 이미지 평면 바깥에 위치하면 렌더링 과정을 끝내고 이미지 평면 안쪽에 위치하면 렌더링 과정의 제 4단계로 넘어간다. 이러한 작업을 이미지 평면에 대한 클리핑(clipping)이라 한다. 제 4단계에서는 복셀 구의 방정식을 사용하여, 〈정리1〉을 통해, 이미지 타원 방정식을 구한다. 제 5단계에서는, 〈정리4〉를 사용하여, 타원의 외접 직사각형(bounding rectangle)을 결정한다. 제 6단계에서는 외접 직사각형 영역에 있는 각 픽셀과 타원과의 교차성을, 〈정리2,3〉의 판별식을 사용하여 판정한다. 자세한 내용은 다음에 기술한다. 끝으로 제 7단계에서는 타원과 교차하는 픽셀에 대응하는 Z-버퍼의 거리값과 복셀 중심점의 거리값과 비교하여 Z-버퍼의 거리값이 크면 그 Z-버퍼에다 복셀 중심점의 거리값으로 갱신하고 그 복셀의 영상정보를 픽셀에 저장한다. 이러한 과정을 Z-버퍼링이라 한다.
여기서, 상기 좌표계변환행렬과 원근투영행렬에 대해서는 이미 잘 알려진 내용으로 Foley, vanDam, Feiner and Hughes, "Computer Grapfics: Principles and Practice," Second Edition, Addision-Wesley Publishing Compony, 1990.의 내용을 참조하였다.
2. 타원 이미지와 픽셀의 교차성 판별
상기 제 6단계의 타원 이미지와 픽셀의 교차성의 판별은 두가지 경우, 즉 타원 이미지가 한개의 픽셀안에 있는 경우와 그렇지 않는 경우로 나누어서 이루어 진다. 도 7은 본 발명에 의한 타원이미지, 외접 직사각형, 픽셀과의 영역 관계를 보인 것으로, (a)는 타원이미지가 한 픽셀안에 있는 경우 (b)는 타원이미지가 한 픽셀안에 있지 않는 경우를 보인 것이다.
이 두가지 경우는 타원의 외접 직사각형에 의해 결정된다. 외접 직사각형이 한 픽셀에 들어가면 타원 이미지가 한 픽셀안에 있는 경우이고 그렇지 않으면 타원 이미지가 한 픽셀안에 있지 않는 경우이다.
타원이미지가 그 픽셀안에 있으면 그 픽셀은 타원과 교차한다고 판정한다. 만약 타원이미지가 그 픽셀안에 있지 않으면, 도 8과 같이, 픽셀의 4개 경계선인 2개의 수평선과 2개의 수직선을 〈정리3〉의 판별식과 교점을 사용하여 판별하여 4개 경계선중 하나가 타원과 2개의 교점을 가지면 그 픽셀은 타원과 교차한다고 판정하고 그렇지 않으면 그 픽셀은 타원과 만나지 않는다고 판정한다. 도 8은 본 발명을 설명하기 위한 픽셀의 4개 경계선이 있는 예시도이다.
상기와 같은 7단계를 수행하여 타원해석 볼륨 렌더링 방법의 실험 분석 결과를 설명한다.
볼륨렌더링 실험
본 발명에서 제안된 타원해석 볼륨렌더링에 대한 렌더링 실험분석 결과에 대하여 기술하였다. 렌더링 실험은 제안한 타원해석 볼륨렌더링에 대한 이미지 홀의 발생정도와 모델의 복셀수에 대한 렌더링 처리시간에 대한 분석이다.
1. 실험 개요
본 발명에서는 3차원 볼륨 그래픽스 모델을 Z-버퍼링, 레이 캐스팅, 그리고 타원해석 볼륨렌더링을 사용하여 디스플레이하는 윈도우 프로그램을 도 9와 같은 모델들을 구현하였다. 구현된 윈도우 프로그램은 볼륨그래픽스 모델 데이터 파일 열기, 렌더링방법 선택의 메뉴를 지원하고 마우스로 카메라의 3차원 위치 및 방향을 조절할 수 있게 하였다. 또한 각 렌더링처리 시간은 밀리세컨드(millisecond) 단위로 측정되어 렌더링 결과와 함께 화면에 출력된다. 그리고 사용된 컴퓨터는 펜티엄 II-234 MHZ, 64메가바이트 메모리를 가진 윈도우95 시스템이다.
본 실험에서는, 편의상, 세계좌표계, 객체좌표계, 그리고 카메라좌표계의 길이 단위를 픽셀로 통일하였고 사용된 볼륨 그래픽스 모델은 표면만을 나타내는 복셀들로 구성되어 있으며 이 모델의 데이터 파일은 다음과 같은 순서대로 모델 정보가 저장되어 있다.
① 복셀의 scale 값
② 모델의 넓이(x"축 방향), 높이(y"축 방향), 깊이(z"축 방향)
③ 객체 좌표계의 원점에 대한 세계좌표계 기준의 3차원 위치 좌표
④ 객체 좌표계에 대한 세계좌표계 기준의 3차원 방향 좌표
⑤ 각 좌표 (x", y")에 대해 동일한 좌표값들을 갖는 복셀들(z"좌표값만 다름)의 개수 그리고 이러한 각 복셀에 대한 z"좌표값, RGB 칼라값
본 렌더링 실험 목적은 제안한 타원해석 볼륨렌더링방법에 대한 성능분석, 즉, 렌더링 이미지의 홀 발생정도와 렌더링 처리시간에 대한 분석이다. 본 실험에서 사용된 모델은 도 9와 같이, (a)정육면체(cubic), (b)구(sphere), (c)원추(cone) 그리고 (d)3차원 직선(line)들이다. 이들은 3차원 기본도형으로 각 도형이 표면 곡률(curvature)에 대한 고유한 특징을 가지고 있기 때문이다.
실험내용은 렌더링 이미지의 홀 발생정도를 분석하기 위해 넓이, 높이, 깊이가 각각 150픽셀인 정육면체, 구, 원추, 직선에 대하여 다양한 카메라의 위치와 방향에서 Z-버퍼링, 레이 캐스팅(ray casting), 타원해석 볼륨렌더링을 각 각 실행하여 이미지 홀(hole)의 발생정도를 비교 관찰하였다. 그리고 모델의 크기변화, 즉, 복셀 수의 변화에 대한 타원해석 볼륨렌더링 처리시간을 분석하기 위해, 제안한 4가지 도형의 크기와 카메라의 위치 및 방향을 변화하여 렌더링 시간을 측정하였다.
2. 렌더링 이미지 홀발생에 대한 분석실험
본 실험은 넓이, 높이, 깊이가 각각 150픽셀인 정육면체, 구, 원추, 직선들에 대하여 다양한 카메라의 위치와 방향에서 Z-버퍼링, 레이 캐스팅, 타원해석 볼륨렌더링을 각각 실행하여 이미지 홀의 발생정도를 비교관찰하였다.
실험 모델이 정육면체인 경우 레이 캐스팅과 타원해석 렌더링에서는 이미지 홀이 발생하지 않았지만 Z-버퍼링에서는 도형이미지가 카메라 이미지평면의 주변에 위치했을 때, 도 10과 같이, 홀이 발생하였다. 도 10은 정육면체에 대한 볼륨렌더링 이미지를 나타낸 것으로, (a) Z-버퍼링, (b) 레이 캐스팅, (c) 타원해석 렌더링을 보인 것이다.
실험 모델이 구인 경우 타원해석 렌더링에서는 홀이 발생하지 않았지만 Z-버퍼링과 레이 케스팅에서는 도형이미지가 카메라 이미지평면의 주변에 위치했을 때, 도 11과 같이, 홀들이 발생하였다. 특히 Z-버퍼렌더링에서는 이미지 홀들이 많이 발생하였고 레이 캐스팅 렌더링은 10개이하의 홀들이 발생하였다. 도 11은 구에 대한 볼륨렌더링 이미지를 나타낸 것으로, (a) Z-버퍼링, (b) 레이 캐스팅, (c) 타원해석 렌더링을 보인 것이다.
실험 모델이 원추인 경우 타원해석 렌더링에서는 홀이 발생하지 않았지만 Z-버퍼링과 레이 캐스팅에서는 자주, 도 12와 같이, 홀들이 많이 발생하였다. 도 12는 원추에 대한 볼륨 렌더링 이미지를 보인 것으로, (a) Z-버퍼링, (b) 레이 캐스팅, (c) 타원해석 렌더링을 보인 것이다.
실험 모델이 3차원 직선들인 경우 Z-버퍼링과 레이 캐스팅에서는, 도 13과 같이, 카메라의 위치와 방향에 관계없이 홀들이 발생하여 직선의 일부에서 연결성을 잃어버리고 점선들이 나타났다. 타원해석 렌더링에서는 홀이 발생되지 않았고 직선의 원근감이 잘 나타났다. 도 13은 3차원 직선들에 대한 볼륨렌더링 이미지를 보인 것으로, (a) Z-버퍼링, (b) 레이 캐스팅, (c) 타원해석 렌더링을 보인 것이다.
상기의 실험결과들을 종합하면, 타원해석 렌더링방법은 모든 도형에서 이미지 홀이 발생되지 않는 반면 레이 캐스팅은 구, 원추, 직선에서, 그리고 Z-버퍼링은 모든 도형에서 홀들이 발생하였다. 또한 대부분 경우에서 Z-버퍼링이 레이 캐스팅보다 홀들이 많이 발생하였다.
3. 타원해석 볼륨렌더링에 대한 처리속도 분석실험
실험을 위해 구현된 볼륨렌더링 소프트웨어는 초기 버전이기 때문에, 제안한 렌더링 알고리즘을 정확히 구현하는데 초점이 맞추어져 있어, shading과 처리속도의 최적화는 아직 구현되지 못하였다. 따라서 본 실험에서는 제안한 알고리즘의 실시간 처리 가능성과 모델의 크기에 대한 처리시간 변화에 대해 분석하는데 초점을 맞추었다.
사용된 실험모델은 넓이, 높이, 깊이값들이 같은 정육면체, 구, 원추, 직선들이고 실험은 모델의 크기(넓이, 높이, 혹은 깊이)를 50, 100, 150, 200, 250픽셀로 변화하면서 12가지의 서로 다른 카메라의 위치와 방향에서 타원해석 볼륨렌더링을 실행하여 각 처리시간을 밀리세컨드(millisecond)단위로 측정하였다.
정육면체인 경우, 모델의 크기가 50픽셀인 경우 모델의 복셀수는 14,400개이고, 모델의 크기가 100픽셀인 경우는 58,808개, 모델 크기가 150픽셀인 경우는 133,208개, 모델의 크기가 200픽셀인 경우 237,608개, 그리고 모델의 크기가 250픽셀인 경우 복셀수는 372,008개이다. 각 모델의 크기에 대하여 12가지의 렌더링 처리에 대한 최소시간, 최대시간, 그리고 평균시간에 대한 실험결과는 도 14와과 같다. 도 14는 정육면체에 대한 타원해석 볼륨렌더링 실험결과를 보인 것이다.
실험결과에 의하면 모델의 복셀수의 증가에 대하여 렌더링시간도 비례하여 증가했다. 또한 모델의 크기가 150픽셀이상부터는 렌더링의 최소시간과 최대시간의 간격이 비례하여 증가하고 있는데 이는 복셀의 이미지인 타원의 크기가 한픽셀보다 큰 경우의 복셀 수가 증가하여 계산량이 많아졌기 때문이다.
실험모델인 구인 경우, 모델의 크기가 50픽셀인 경우 모델의 복셀수는 3,902개이고, 모델의 크기가 100픽셀인 경우는 15,670개, 모델 크기가 150픽셀인 경우는 35,310개, 모델의 크기가 200픽셀인 경우 62,814개, 그리고 모델의 크기가 250픽셀인 경우 복셀수는 98,126개이다. 정육면체에 마찬가지 방법으로 구에 대한 실험결과는 도 15와 같다. 도 15는 구에 대한 타원해석 볼륨렌더링 실험결과를 보인 것이다.
실험결과에 의하면 모델의 복셀수의 증가에 대하여, 정육면체의 실험결과와 마찬가지로, 렌더링시간이 비례하여 증가했다. 하지만 정육면체만큼 모델 크기에 따라 렌더링시간이 급격히 증가하지는 않았다. 또한 모델의 크기가 150픽셀이상부터는 렌더링의 최소시간과 최대시간의 간격이 마찬가지로 비례하여 증가하였다.
실험모델인 원추인 경우, 모델의 크기가 50픽셀인 경우 모델의 복셀수는 1,961개이고, 모델의 크기가 100픽셀인 경우는 7,845개, 모델 크기가 150픽셀인 경우는 17,665개, 모델의 크기가 200픽셀인 경우 31,417개, 그리고 모델의 크기가 250픽셀인 경우 복셀수는 49,077개이다. 원추에 대한 실험결과는 도 16과 같다. 도 16은 원추에 대한 타원 해석 볼륨 렌더링 실험 결과를 보인 것이다.
실험결과에 의하면 모델의 복셀수의 증가에 대하여, 구의 실험결과와 마찬가지로, 렌더링시간이 비례하여 증가했다. 또한 모델의 크기가 150픽셀이상부터는 마찬가지로 렌더링의 최소시간과 최대시간의 간격이 비례하여 증가하였다.
실험모델이 직선이 경우, 모델의 크기가 50픽셀인 경우 모델의 복셀수는 198개이고, 모델의 크기가 100픽셀인 경우는 398개, 모델 크기가 150픽셀인 경우는 598개, 모델의 크기가 200픽셀인 경우 798개, 그리고 모델의 크기가 250픽셀인 경우 복셀수는 998개이다. 직선에 대한 실험결과는 도 17과 같다. 도 17은 3차원 직선들에 대한 타원 해석 볼륨 렌더링 실험 결과를 보인 것이다.
직선모델에 대한 실험결과에 의하면 모델의 복셀수의 증가에 대하여, 평균시간만 비례하여 증가하였지만 최소시간과 최대시간은 일정하였는데 이는 모델의 복셀수가 1000개 미만으로 작았기 때문이다.
타원해석 볼륨렌더링의 처리시간 분석에 대한 실험결과를 종합하면, 제안한 알고리즘은, 볼륨랜더링방법의 일반적인 특징인, 모델의 복셀수에 비례하여 렌더링시간이 증가하였고 또한 모델의 복셀수가 약 1만개 이상부터 렌더링의 최대시간과 최소시간의 간격이 복셀수에 비례하여 증가하였다. 이는 타원해석을 위한 계산량의 증가에 따른 것으로 판단되었다. 제안한 렌더링방법은 최대 렌더링시간을 기준으로 약 250,000개이하의 복셀을 가진 모델은 2.5초 이내로 렌더링을 처리하였다.
따라서, 본 발명에서는 기존의 볼륨렌더링방법에서 나타나는 이미지 홀의 발생문제를 해결할 수 있고 실시간 처리가 가능한, 새로운 볼륨렌더링방법인 타원해석 렌더링 방법을 구현할 수 있게 된다. 즉 타원해석을 위한 여러 가지 closed-form 수학적 해들을 구하였고, 이러한 수학적 해들을 사용하여 새로운 볼륨 렌더링 알고리즘을 제공하고, 그 알고리즘은 정육면체의 복셀을 구로 가정하여 구의 이미지인 타원을 만나는 픽셀을 수학적인 방법으로 결정하여 Z-버퍼링하는 방법이다.
이상에서 상세히 설명한 바와 같이 본 발명에 의하면, 본 발명에서는 기존의 볼륨렌더링방법에서 나타나는 이미지 홀의 발생문제를 해결할 수 있고 실시간 처리가 가능한, 새로운 볼륨렌더링 방법인 타원해석 렌더링 방법을 제공할 수 있는 효과가 있다.
또, 렌더링 실험을 통해 이미지 홀의 발생정도를 기존의 방법과 비교 분석한 결과에 의하면 본 발명의 렌더링방법은 이미지 홀이 발생하지 않음을 알 수 있었고 모든 실험의 경우에서 기존방법보다 렌더링 품질이 우수한 효과가 있다.
또, 본 발명에 의한 렌더링 방법의 렌더링시간은 약 250,000개이하의 복셀을 가진 모델은 2.5초 이내로 렌더링되므로, 이러한 결과는 초당 90,000,000개의 texel들을 처리할 수 있는 하드웨어 Z-버퍼를 사용한다면 2,000,000개이하의 복셀 모델을 30프레임율 이상으로 렌더링할 것으로 예상되어 실시간 처리가 충분한 효과가 있다.
또한, 본 발명을 토대로 첫째 PC 그래픽 가속기의 하드웨어 Z-버퍼 사용방법 개발과 알고리즘의 최적화 작업, 둘째 렌더링시 LOD(level of detail) 기능을 추가, 셋째는 보다 다양한 클리핑 기능을 구현하는 기술 개발에 렌더링 속도의 최적화에 대한 기술의 개발이 기대된다.

Claims (5)

  1. 3차원 컴퓨터 그래픽스에서 3차원 물체에 대한 볼륨 렌더링 방법에 있어서,
    복셀의 중심점 위치좌표를 좌표계변환행렬을 사용하여 객체좌표계에서 카메라좌표계의 위치좌표로 변환하는 제1단계와;
    복셀 중심점을 원근투영행렬을 사용하여 이미지 평면으로 원근투영 하는 제2단계와;
    원근투영된 복셀 중심점의 이미지 위치가 이미지 평면 바깥에 위치하면 렌더링 과정을 끝내고 이미지 평면 안쪽에 위치하면 렌더링 과정의 제4단계로 넘어가도록 이미지 평면에 대한 클리핑(clipping) 하는 제3단계와;
    구의 이미지가 타원인 성질을 이용하기 위하여 복셀의 영역을 구로 가정하고 그 복셀 구의 방정식을 사용하여, 이미지 타원 방정식을 구하는 제4단계와;
    상기 제4단계에서 구해진 타원의 외접 직사각형(bounding rectangle)을 결정하는 제5단계와;
    외접 직사각형 영역에 있는 각 픽셀과 타원과의 교차성을 판정하는 제6단계와;
    타원과 교차하는 픽셀에 대응하는 Z-버퍼의 거리값과 복셀 중심점의 거리값과 비교하여 Z-버퍼의 거리값이 크면 그 Z-버퍼에다 복셀 중심점의 거리값으로 갱신하고 그 복셀의 영상정보를 픽셀에 저장하는 제7단계를 수행하는 것을 특징으로 하는 실시간 처리가 가능한 타원해석 볼륨렌더링 방법.
  2. 제 1 항에 있어서, 상기 이미지 타원 방정식을 구하는 제4단계는,
    카메라 좌표계 기준의 구 방정식이이고
    카메라의 촛점길이(focal length)가 f인 경우,
    구의 이미지인 타원 방정식이
    인 조건에 의해 구하는 것을 특징으로 하는 실시간 처리가 가능한 타원해석 볼륨렌더링 방법.
  3. 제 1 항에 있어서, 상기 타원의 외접 직사각형을 구하는 제5단계는,
    타원의 방정식이
    인 경우,
    타원의 외접 직사각형은
    (여기서, 임)
    인 조건을 이용하여 타원의 외접 사각형을 구하는 것을 특징으로 하는 실시간 처리가 가능한 타원해석 볼륨렌더링 방법.
  4. 제 1 항에 있어서, 상기 픽셀과 타원과의 교차성 판별을 하는 제6단계는,
    타원의 방정식이
    이고 수직선 x'=c 이면,
    (1) 타원과 수직선이 2점으로 교차할 필요충분 조건은
    이고
    두 교점의 y'좌표는이며,
    (2) 타원과 수직선이 1점으로 교차할 필요충분 조건은
    이고
    교점의 y'좌표는이며,
    (3) 타원과 수직선이 교차하지 않을 필요충분 조건은
    이고,
    (여기서, 이다.)
    타원의 방정식이
    이고 수평선 y'=c이면,
    (1) 타원과 수평선이 2점으로 교차할 필요충분 조건은
    이고,
    교점의 x'좌표는이며,
    (2) 타원과 수평선이 1점으로 교차할 필요충분 조건은
    이고,
    교점의 x'좌표는이며,
    (3) 타원과 수평선이 교차하지 않을 필요충분 조건은
    (여기서, 이다.)
    인 조건의 수식을 이용하여 타원과 수직선 및 수평선의 교차하는지를 판별하는 것을 특징으로 하는 실시간 처리가 가능한 타원해석 볼륨렌더링 방법.
  5. 제 1 항에 있어서, 상기 타원 해석 볼륨 렌더링을 위한 모델의 데이터 파일은,
    ① 복셀의 scale 값
    ② 모델의 넓이(x"축 방향), 높이(y"축 방향), 깊이(z"축 방향)
    ③ 객체 좌표계의 원점에 대한 세계좌표계 기준의 3차원 위치 좌표
    ④ 객체 좌표계에 대한 세계좌표계 기준의 3차원 방향 좌표
    ⑤ 각 좌표 (x", y")에 대해 동일한 좌표값들을 갖는 복셀들(z"좌표값만 다름)의 개수 그리고 이러한 각 복셀에 대한 z"좌표값, RGB 칼라값
    의 순서로 모델 정보를 저장하여 두고, 그 모델 정보를 이용하여 타원해석 볼륨 렌더링을 실행하는 것을 특징으로 하는 실시간 처리가 가능한 타원해석 볼륨렌더링 방법.
KR1019990021898A 1999-06-12 1999-06-12 실시간 처리가 가능한 타원해석 볼륨렌더링 방법 KR100298814B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990021898A KR100298814B1 (ko) 1999-06-12 1999-06-12 실시간 처리가 가능한 타원해석 볼륨렌더링 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990021898A KR100298814B1 (ko) 1999-06-12 1999-06-12 실시간 처리가 가능한 타원해석 볼륨렌더링 방법

Publications (2)

Publication Number Publication Date
KR20010002209A true KR20010002209A (ko) 2001-01-05
KR100298814B1 KR100298814B1 (ko) 2001-11-01

Family

ID=19591874

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990021898A KR100298814B1 (ko) 1999-06-12 1999-06-12 실시간 처리가 가능한 타원해석 볼륨렌더링 방법

Country Status (1)

Country Link
KR (1) KR100298814B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100781239B1 (ko) * 2006-06-06 2007-11-30 재단법인서울대학교산학협력재단 박테리아 유영경로 추적방법
KR101480767B1 (ko) * 2008-12-19 2015-01-13 재단법인 포항산업과학연구원 레이저 광원을 이용하는 적설계

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190032169A (ko) 2018-05-30 2019-03-27 대한민국(중부지방산림청장) 산불 진화용 동력펌프

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100781239B1 (ko) * 2006-06-06 2007-11-30 재단법인서울대학교산학협력재단 박테리아 유영경로 추적방법
KR101480767B1 (ko) * 2008-12-19 2015-01-13 재단법인 포항산업과학연구원 레이저 광원을 이용하는 적설계

Also Published As

Publication number Publication date
KR100298814B1 (ko) 2001-11-01

Similar Documents

Publication Publication Date Title
JP4643271B2 (ja) 区間解析を使用するコンピュータ・グラフィックスの際の可視面決定システムおよび方法
JP3483929B2 (ja) 3次元画像生成方法
CN104794758B (zh) 一种三维图像的裁剪方法
EP0531157B1 (en) Three dimensional graphics processing
JP4204670B2 (ja) ボリュームデータ表現システム
US5600763A (en) Error-bounded antialiased rendering of complex scenes
US7586489B2 (en) Method of generating surface defined by boundary of three-dimensional point cloud
US5594844A (en) Three dimensional view using ray tracing through voxels subdivided numerically using object based parameters
US6262738B1 (en) Method for estimating volumetric distance maps from 2D depth images
EP1024457B1 (en) Method for rendering graphical objects represented as surface elements
US6342886B1 (en) Method for interactively modeling graphical objects with linked and unlinked surface elements
WO2002045025A9 (en) Multiple processor visibility search system and method
Grevera et al. An order of magnitude faster isosurface rendering in software on a PC than using dedicated, general purpose rendering hardware
EP1024460A2 (en) Graphical objects represented as surface elements
EP1026638A2 (en) Method for modeling graphical objects represented as surface elements
US6914601B2 (en) Method, apparatus, and computer program for generating three-dimensional shape data or volume data
CN111009033A (zh) 一种基于OpenGL的病灶区域的可视化方法和系统
KR100298814B1 (ko) 실시간 처리가 가능한 타원해석 볼륨렌더링 방법
EP1330785B1 (en) Dynamic depth-of-field emulation based on eye-tracking
US5821942A (en) Ray tracing through an ordered array
i Bartrolı et al. Visualization techniques for virtual endoscopy
KR930003811B1 (ko) 3차원도형 처리방법 및 그 장치
Hong et al. Interactive visualization of mixed scalar and vector fields
US20110074777A1 (en) Method For Displaying Intersections And Expansions of Three Dimensional Volumes
JPH07271847A (ja) 造成地形のモデリング方法及び装置

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20050607

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee