KR101456404B1 - 표시 처리 방법 및 장치 - Google Patents

표시 처리 방법 및 장치 Download PDF

Info

Publication number
KR101456404B1
KR101456404B1 KR1020137014117A KR20137014117A KR101456404B1 KR 101456404 B1 KR101456404 B1 KR 101456404B1 KR 1020137014117 A KR1020137014117 A KR 1020137014117A KR 20137014117 A KR20137014117 A KR 20137014117A KR 101456404 B1 KR101456404 B1 KR 101456404B1
Authority
KR
South Korea
Prior art keywords
line
sight
data
storage unit
loop
Prior art date
Application number
KR1020137014117A
Other languages
English (en)
Other versions
KR20130101106A (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=46171348&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR101456404(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 디지털 프로세스 가부시끼가이샤 filed Critical 디지털 프로세스 가부시끼가이샤
Publication of KR20130101106A publication Critical patent/KR20130101106A/ko
Application granted granted Critical
Publication of KR101456404B1 publication Critical patent/KR101456404B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures

Abstract

기저 곡면에 기초하여 생성되는 트림 면을 포함하는 물체의 형상을 표시하는 표시 처리 방법은, 기저 곡면을 삼각형 분할하는 공정과, 트림 면의 외형을 정의하기 위한 외부 루프와 물체의 형상에 따라서 외부 루프 내에 설치되는 내부 루프를 포함하는 루프에 대하여, 루프 다각형을 생성하는 공정과, 시점과 기저 곡면의 위치 관계에 기초하여, 투영면으로의 사상이 전단사라고 하는 조건을 만족하면서 삼각형을 복수 포함하는, 기저 곡면 위의 영역인 시선 1가 영역을 특정하는 공정과, 시선 1가 영역마다, 표시해야 하는지의 여부를 제어하는 화소마다의 데이터인 마스크 데이터를, 그 시선 1가 영역과 루프 다각형으로부터 생성하는 공정과, 삼각형의 각각에 대하여, 투영면 위의 화상 데이터를 생성하는 공정과, 마스크 데이터와 화상 데이터로부터 묘화 처리를 실시하는 공정을 포함한다.

Description

표시 처리 방법 및 장치{DISPLAY PROCESSING METHOD AND DEVICE}
본 기술은, 표시 장치에 물체를 표시하기 위한 표시 처리 기술에 관한 것이다.
예를 들어 CAD(Computer Aided Design)에서는, 정밀하게 물체를 표현하기 위해서, 물체는 트림 면의 집합으로서 표현되는 경우가 많다. 이 트림 면(trimmed surface)은 도 89에 도시한 바와 같이, 기저 곡면(base surface: 1001) 또는 그 확장 곡면에서, 닫힌 자기 교차하지 않는, 면상선(面上線)인 외부 루프(outer loop: 1002)로 둘러싸인 영역으로서, 그 내부의 닫힌, 면상선인 내부 루프(inner loop: 1003 및 1004)로 둘러싸인 영역을 제외함으로써 생성되는 도형이다. 단, 내부 루프(1003 및 1004)는 존재하지 않는 경우도 있다. 또한, 특수한 케이스로서 기저 곡면의 경계와 외부 루프가 일치하는 경우도 있다.
CAD 시스템의 컴퓨터에서는, 내부에 축적된 트림 면의 집합에 의해 형성되는 물체 표면의 정보와 시점이나 조명 조건 등의 표시 조건을 부여하여, 트림 면 화상의 집합으로서 물체 형상을 표시한다.
또한, 트림 면이라고 하는 용어는, 서피스 모델러가 주류이던 시기부터 사용되고 있지만, 트림 면 사이의 연결 관계를 나타내는 데이터인 위상 정보(topological information)를 유지하는지의 여부에 관계없이 사용된다. 트림 면 사이의 연결 관계를 나타내는 데이터를 갖는 솔리드 모델러(solid modeler)의 경우에는, 트림 면은 페이스(면분: face)라고 하는 용어가 대응한다.
CAD에서 생성된 트림 면은, 기저 곡면을 표현하는 곡면이나 면상선의 곡선의 형식으로는 화면 위에 표시할 수는 없다. 따라서, 도 89의 트림 면을 도 90에 도시한 바와 같은 삼각형의 집합에 근사(테셀레이션(tessellation) 또는 삼각화(triangulation)라고 함)하여, 각각 삼각형을 표시하고, 은면(隱面) 처리는 Z 버퍼를 이용함으로써 트림 면의 표시를 실현하는 종래 기술이 알려져 있다. 트림 면의 테셀레이션에서는, 기저 곡면의 파라미터 일정선과 면상선을 선 분열로 근사하는 것과, 양자의 교점을 참조하여 삼각형 분할이 이루어지는 것이 특징이며, 트림 면의 테셀레이션은 계산 시간을 크게 필요로 하는 것이 문제로 되어 있다.
이에 대하여, 이러한 트림 면을 나타내는 컴퓨터 그래픽스 시스템에는, 이하와 같은 마스크(mask)를 사용하는 종래 기술이 존재하고 있다. 즉, 종래 기술에서는 테셀레이션의 기법에 기초하여, 기저 곡면을 삼각형 분할하고, 트림 곡선이 삼각형 중 어느 것과 교차하는지를 판단한다. 그리고, 교차가 발생하는 경우에는, 그 삼각형과 트림 곡선의 교점을 계산하고, 그 교차 상황에 기초하여, 트림 면 내부가 표시되도록 하는 마스크 버퍼를 생성한다. 마스크 버퍼에는, 화소(pixel)마다, 표시 화면 위에서 그 삼각형 내의 대응하는 화소를 표시시키는 경우에는 마스크 오프의 의미로 「1」을 설정하고, 표시시키지 않는 경우에는 마스크 온의 의미로 「0」을 설정한다. 삼각형 분할로 생성된 삼각형을 표시 화면 위에 표시하는 경우에는, 삼각형 내의 모든 화소에 대하여 화소값을 산출하는데, 이 화소의 마스크의 값이 「1」이면 표시 화면 위에 표시하고, 마스크의 값이 「0」이면 표시 화면 위에 표시하지 않는다. 이 표시 처리를 모든 삼각형에 대하여 반복한다. 또한, 공개된 종래 기술에서는 부(負)논리를 채용하여 마스크 오프를 「1」, 마스크 온을 「0」으로 하였지만, 시스템 구축에서는 정논리를 채용하여 마스크 오프를 「0」, 마스크 온을 「1」로 하여도 문제없다.
이와 같은 마스크를 사용하는 종래 기술에서도, 트림 면의 테셀레이션의 기법을 이용하므로 삼각형마다 트림 곡선과의 교차를 판단하지 않을 수 없어, 삼각형의 수가 많은 경우에는, 많은 교차 계산을 행하기 때문에, 과대한 계산 시간을 필요로 한다고 하는 문제가 있다.
일본 특허 제3344597호 공보 일본 특허 공개 평4-289984호 공보
따라서, 본 기술의 목적은, 일 측면에 있어서, 트림 면을 고속으로 표시하기 위한 기술을 제공하는 것이다.
본 기술은, 일 측면에 있어서, 기저 곡면으로부터 생성되는 트림 면을 포함하는 물체의 형상을 나타내는 표시 처리 방법으로서, (A) 기저 곡면을 삼각형 분할하여, 생성된 삼각형의 데이터를 데이터 저장부에 저장하는 스텝과, (B) 트림 면의 외형을 정의하기 위한 외부 루프와 물체의 형상에 따라서 외부 루프 내에 설치되는 내부 루프를 포함하는 루프에 대하여, 루프 다각형을 생성하고, 생성된 루프 다각형의 데이터를 데이터 저장부에 저장하는 스텝과, (C) 시점과 기저 곡면의 위치 관계에 기초하여, 투영면으로의 사상(寫像)이 전단사(全單射)라고 하는 조건을 만족하는 삼각형을 복수 포함하는, 기저 곡면 위의 영역인 시선 1가 영역을 특정하고, 이 시선 1가 영역의 데이터를 데이터 저장부에 저장하는 시선 1가 영역 특정 스텝과, (D) 시선 1가 영역마다, 표시해야 하는지의 여부를 제어하는 화소마다의 데이터인 마스크 데이터를, 이 시선 1가 영역과 데이터 저장부에 저장되어 있는 루프 다각형으로부터 생성하고, 마스크 데이터 저장부에 저장하는 마스크 데이터 생성 스텝과, (E) 데이터 저장부에 저장되어 있는 삼각형의 각각에 대하여, 투영면 위의 화상 데이터를 생성하고, 데이터 저장부에 저장하는 화상 데이터 생성 스텝과, (F) 마스크 데이터 저장부에 저장되어 있는 마스크 데이터와 데이터 저장부에 저장되어 있는 화상 데이터로부터 묘화 처리를 실시하는 스텝을 포함한다.
도 1은 제1 실시 형태에 따른 표시 처리 장치의 기능 블록도이다.
도 2는 시선 1가 영역을 설명하기 위한 도면이다.
도 3은 제1 실시 형태에 따른 처리 플로우(전반)를 나타낸 도면이다.
도 4는 삼각형 분할된 기저 곡면 및 테셀레이션된 트림 면의 일례를 나타낸 도면이다.
도 5는 기저 곡면의 삼각형 분할을 설명하기 위한 도면이다.
도 6은 루프 다각형을 설명하기 위한 도면이다.
도 7은 제1 실시 형태에 따른 시선 1가 영역 생성 처리의 처리 플로우를 나타낸 도면이다.
도 8은 표리 판정 내적을 설명하기 위한 도면이다.
도 9는 표면변 연결체 및 이면변 연결체를 설명하기 위한 도면이다.
도 10은 제1 실시 형태에 따른 마스크 데이터 생성 처리의 처리 플로우를 나타낸 도면이다.
도 11은 표면변 연결체를 스크린 좌표 위에 나타낸 도면이다.
도 12는 이면변 연결체를 스크린 좌표 위에 나타낸 도면이다.
도 13은 외부 루프 집합적(集合積; intersection)을 설명하기 위한 도면이다.
도 14는 내부 루프 집합적을 설명하기 위한 도면이다.
도 15는 마스크 데이터의 생성을 설명하기 위한 도면이다.
도 16은 마스크 데이터의 생성을 설명하기 위한 도면이다.
도 17은 마스크 데이터의 생성을 설명하기 위한 도면이다.
도 18은 마스크 데이터의 생성을 설명하기 위한 도면이다.
도 19는 마스크 데이터의 생성을 설명하기 위한 도면이다.
도 20은 마스크 데이터의 생성을 설명하기 위한 도면이다.
도 21은 제1 실시 형태에 따른 처리 플로우(후반)를 나타낸 도면이다.
도 22는 쉐이딩을 설명하기 위한 도면이다.
도 23은 투영된 루프 집합적의 삼각형 분할을 설명하기 위한 도면이다.
도 24는 투영된 루프 집합적의 삼각형 분할을 설명하기 위한 도면이다.
도 25는 삼각형 분할의 일례를 나타내는 도이다.
도 26a는 화소 주사법을 설명하기 위한 도면이다.
도 26b는 화소 주사법으로 외부 루프와 내부 루프를 동시에 주사하는 경우의 처리를 설명하기 위한 도면이다.
도 27은 주름이 나타나기 때문에 시선 1가가 아닌 변 연결체를 설명하기 위한 도면이다.
도 28은 상방을 향하는 돌기를 갖기 때문에 시선 1가가 아닌 변 연결체를 설명하기 위한 도면이다.
도 29는 제2 실시 형태에 따른 표시 처리 장치의 기능 블록도이다.
도 30은 표시상 겹침이 발생하는 기저 곡면의 일례를 나타낸 도면이다.
도 31은 제2 실시 형태에 따른 처리 플로우(전반)를 나타낸 도면이다.
도 32는 제2 실시 형태에 따른 시선 1가 영역 생성 처리의 처리 플로우(전반)를 나타낸 도면이다.
도 33은 제2 실시 형태에 따른 시선 1가 영역 생성 처리의 처리 플로우(후반)를 나타낸 도면이다.
도 34는 기복이 존재하기 때문에 복수의 표면변 연결체 또는 복수의 이면변 연결체가 생성되는 예를 나타낸 도면이다.
도 35는 바커스 나우어(Backus-Naur) 기법에 의해 정의된, 중합을 고려하지 않는 변 연결체를 나타내는 데이터의 일례를 나타낸 도면.
도 36은 파라미터 공간 중에 표시된 도 27의 변 연결체를 나타낸 도면이다.
도 37은 파라미터 공간 중에 표시된 도 28의 변 연결체를 나타낸 도면이다.
도 38은 중합선을 설명하기 위한 도면이다.
도 39는 도 38의 변 연결체를 투영면 위에 표시한 도면이다.
도 40은 도 38의 변 연결체를 파라미터 평면 위에 표시한 도면이다.
도 41은 주름이 나타나는 물체의 중합선을 설명하기 위한 도면이다.
도 42는 돌기를 갖는 물체의 중합선을 설명하기 위한 도면이다.
도 43은 오목부를 갖는 물체의 중합선을 설명하기 위한 도면이다.
도 44는 바커스 나우어 기법에 의해 정의된, 중합을 고려한 변 연결체를 표시하는 데이터의 일례를 나타낸 도면이다.
도 45는 사영 중합 다각형 생성 처리의 처리 플로우를 나타낸 도면이다.
도 46은 중합점 특정 처리의 처리 플로우를 나타낸 도면이다.
도 47은 경계점 열을 단조 구간으로 분할한 일례를 나타낸 도면이다.
도 48은 단조 구간 수를 설명하기 위한 도면이다.
도 49는 투영면 위에서의 단조 구간의 교차를 설명하기 위한 도면이다.
도 50은 단조 구간의 교점을 나타낸 도면이다.
도 51은 자기 교차점에 대응하는 중합점을 설명하기 위한 도면이다.
도 52는 복비(複比)를 이용한 좌표의 산출을 설명하기 위한 도면이다.
도 53은 단조 구간의 교점을 나타낸 도면이다.
도 54는 중합점의 추가를 설명하기 위한 도면이다.
도 55는 중합점의 추가를 설명하기 위한 도면이다.
도 56은 중합점의 추가를 설명하기 위한 도면이다.
도 57은 특이점을 설명하기 위한 도면이다.
도 58은 특이점을 설명하기 위한 도면이다.
도 59a는 특이점의 특정을 설명하기 위한 도면이다.
도 59b는 특이점의 특정을 설명하기 위한 도면이다.
도 59c는 특이점의 특정을 설명하기 위한 도면이다.
도 60은 특이점을 설명하기 위한 도면이다.
도 61은 제2 실시 형태에 따른 중합 면분 특정 처리의 처리 플로우를 나타낸 도면이다.
도 62는 중합 면분 특정 처리를 설명하기 위한 도면이다.
도 63은 세그먼트 단부점의 내외 판정을 설명하기 위한 도면이다.
도 64는 교차하는 중합선의 분할을 설명하기 위한 도면이다.
도 65a는 중합선의 추가 및 면분의 분할을 설명하기 위한 도면이다.
도 65b는 중합 면분의 관계를 설명하기 위한 도면이다.
도 66은 3개의 중합 면분을 나타낸 도면이다.
도 67은 회전수를 설명하기 위한 도면이다.
도 68a는 제2 실시 형태에 따른 시선 1가 영역 확정 처리의 처리 플로우를 나타낸 도면이다.
도 68b는 제2 실시 형태에 따른 단순한 시선 1가 영역 확정 처리의 처리 플로우를 나타낸 도면이다.
도 69는 제2 실시 형태에 따른 시선 1가 영역 확정 처리를 설명하기 위한 도면이다.
도 70은 제2 실시 형태에 따른 시선 1가 영역 확정 처리를 설명하기 위한 도면이다.
도 71은 마스크 데이터 생성 처리의 처리 플로우를 나타낸 도면이다.
도 72는 마스크 데이터 생성 처리를 설명하기 위한 도면이다.
도 73은 제2 실시 형태에 따른 처리 플로우(후반)를 나타낸 도면이다.
도 74는 묘화 처리를 설명하기 위한 도면이다.
도 75는 시선 1가 확정 볼륨이 존재하지 않는 기저 곡면의 일례를 나타낸 도면이다.
도 76은 시선 1가 간이 판정 처리의 처리 플로우를 나타낸 도면이다.
도 77은 확정 볼륨 생성 처리의 처리 플로우를 나타낸 도면이다.
도 78은 평면의 시선 1가 확정 볼륨을 설명하기 위한 도면이다.
도 79는 시선 1가 확정 볼륨을 표시하는 데이터의 일례를 나타낸 도면이다.
도 80은 원호 소인체(圓弧掃引體)의 판단 조건을 설명하기 위한 도면이다.
도 81은 원호 소인체의 시선 1가 확정 볼륨을 나타낸 도면이다.
도 82는 구면의 판단 조건을 설명하기 위한 도면이다.
도 83은 구면의 시선 1가 확정 볼륨을 나타낸 도면이다.
도 84는 자유 곡면의 확정 볼륨 생성 처리의 처리 플로우를 나타낸 도면이다.
도 85는 자유 곡면의 참조축을 설명하기 위한 도면이다.
도 86은 자유 곡면의 시선 1가 확정 볼륨을 나타낸 도면이다.
도 87은 간이 판정 처리의 처리 플로우를 나타낸 도면이다.
도 88은 컴퓨터의 기능 블록도이다.
도 89는 테셀레이션을 행하기 전의 기저 곡면 및 트림 면의 일례를 나타낸 도면이다.
도 90은 삼각형 분할된 기저 곡면 및 테셀레이션된 트림 면의 일례를 나타낸 도면이다.
[실시 형태 1]
도 1에, 본 실시 형태에 따른 표시 처리 장치의 기능 블록도를 나타내었다. 본 실시 형태에 따른 표시 처리 장치는, CAD 시스템에 의해 생성된 3차원 모델 데이터를 저장하고 있는 3차원 모델 저장부(101), 3차원 공간 내의 시점 데이터나 조명 데이터 등을 저장하고 있는 표시 조건 저장부(103), 삼각형 생성부(105), 처리 도중의 데이터 등을 저장하는 데이터 저장부(107), 루프 다각형 생성부(109), 시선 1가 영역 생성부(111), 마스크 생성부(113), 마스크 데이터 저장부(115), 화상 데이터 생성부(117) 및 묘화 처리부(119)를 갖는다.
삼각형 생성부(105)는, 3차원 모델 저장부(101)에 저장되어 있는 기저 곡면의 데이터 및 표시 조건 저장부(103)에 저장되어 있는 데이터로부터, 기저 곡면을 분할하여 삼각형 데이터를 생성하고, 데이터 저장부(107)에 저장한다. 또한, 루프 다각형 생성부(109)는, 3차원 모델 저장부(101)에 저장되어 있는 트림 면의 데이터 및 표시 조건 저장부(103)에 저장되어 있는 데이터로부터, 표시하는 모델의 상세도에 따라서 트림 면의 경계를 근사한 루프 다각형의 데이터를 생성하고, 데이터 저장부(107)에 저장한다. 그리고, 시선 1가 영역 생성부(111)는, 데이터 저장부(107)에 저장된 삼각형 데이터 및 표시 조건 저장부(103)에 저장되어 있는 데이터를 이용하여, 투영면으로의 사상이 전단사라고 하는 조건을 만족하는 시선 1가 영역의 데이터를 생성하고, 데이터 저장부(107)에 저장한다. 또한, 마스크 생성부(113)는, 데이터 저장부(107)에 저장된 시선 1가 영역의 경계 데이터 및 루프 다각형의 데이터를 이용하여 마스크 데이터를 생성하고, 마스크 데이터 저장부(115)에 저장한다. 또한, 화상 데이터 생성부(117)는, 데이터 저장부(107)에 저장된 삼각형 데이터 및 표시 조건 저장부(103)에 저장되어 있는 시점이나 조명의 데이터를 이용하여 화상 데이터를 생성하고, 데이터 저장부(107)에 저장한다. 그리고, 묘화 처리부(119)는, 데이터 저장부(107)에 저장된 화상 데이터 및 마스크 데이터 저장부(115)에 저장된 마스크 데이터를 이용하여 묘화 처리를 행한다.
여기서, 시선 1가 영역에 대하여 설명한다. 우선, 시선 1가(sight-line single-valuedness)란, 화소와 표시 대상이 1:1로 대응하는 것이다. 즉, 시선 1가라고 하는 것은, 표시 대상으로부터 투영면으로의 사상이 전단사(bijective, or one-to-one onto)인 것을 의미한다. 도 2의 예에서는, 기저 곡면(1101)을 시점에 대하여 투영면(1103) 위에 투영하는 경우, 점 P 및 점 Q가 점(화소) X에 대응한다. 따라서, 이 시점으로부터 본 기저 곡면(1101)은 시선 1가라고는 할 수 없다. 이 경우, 화소 X의 마스크 정보로 점 P 및 점 Q의 표시 상태를 제어하면, 표시에 있어서 양자에 모순이 발생한다. 따라서, 이하에서 설명하는 바와 같이 기저 곡면을 분할함과 함께 마스크를 사용한 표시 제어를 행함으로써, 트림 면(1102) 위에 있는 점 P를 표시하고, 트림 면(1102) 위에 없는 점 Q는 표시 억제한다. 한편, 표시 대상 전체가 시선 1가이면, 이러한 문제는 발생하지 않는다. 여기에서는, 시선 1가인 영역을 시선 1가 영역이라고 칭하도록 한다.
이어서, 도 3 내지 도 26b를 이용하여, 도 1에 도시한 표시 처리 장치의 처리 내용에 대하여 설명한다. 또한, 3차원 모델 저장부(101)에는 트림 면의 집합으로서 표현되는 3차원 모델 데이터가, 표시 조건 저장부(103)에는 시점 데이터나 조명 데이터 등이 미리 저장되어 있는 것으로 한다.
도 3은, 본 실시 형태에서의 처리의 흐름(전반)을 나타낸 것이다. 우선, 삼각형 생성부(105)에서는, 3차원 모델 저장부(101)로부터 3차원 모델로서 표시된 물체의 일부에 따른 기저 곡면의 데이터를 취득하고, 삼각형 분할의 처리가 행해진다(도 3: 스텝 S1). 본 실시 형태에서는, 도 4에 도시한 기저 곡면 및 트림 면을 예로서 설명한다. 본 스텝에서는, 예를 들어 도 5에 도시한 바와 같이 분할된다. 생성되는 삼각형은, u, v 파라미터 공간 또는 3차원 공간에서의 점으로 표현된다. 또한, 도 5에서는 균등한 파라미터를 이용하여 삼각형으로 분할한 예를 나타내었지만, 균등한 삼각형이 아니어도 되며, 가능한 한 정삼각형에 가깝도록 한 삼각형으로 분할하여도 문제없다. 생성된 삼각형 데이터는, 데이터 저장부(107)에 저장된다.
보다 상세하게는, 우선, 표시하는 3차원 모델의 상세도에 기초하여 기저 곡면의 분할수를 결정한다. 상세도는, 예를 들어 표시 조건 저장부(103)에 저장되어 있는 시점 데이터 및 근사 허용차에 기초하여 동적으로 결정한다. 상세도의 결정은 당업자에게 잘 알려진 기술로서, 예를 들면 Shawn P Austin et al., Comparison of Discretization Algorithms for NURBS Surfaces with Application to Numerically Controlled machining, CAD vol. 29 no.1 pp.71-83이나 일본 특허 제4437504호 공보에 기재되어 있다.
분할수가 결정되면, 분할점의 u, v 파라미터를 산출할 수 있다. 그리고, 산출된 u, v 파라미터로부터 삼각형의 정점의 좌표를 산출할 수 있다. 이 좌표 계산도 당업자에게는 잘 알려진 기하학 계산으로서, 예를 들면 Gerald Farin; Curves and Surfaces for Computer Aided Geometric Design, 2nd Edition, Academic Press Inc., CA, USA, 1990에 기재되어 있다.
이상의 처리에 의해 산출된 정점을 u, v 방향에 접속하면, 기저 곡면을 격자 형상으로 분할하는 사변형이 얻어진다. 그리고, 이 사변형의 대각을 동일한 방향으로 연결하면, 도 5에 도시한 격자 대각 삼각형(lattice diagonal triangles)이 생성된다. 격자 대각 삼각형은, u, v 파라미터에 대응지어진 테이블 형상의 점의 집합으로서 표현할 수 있다. 즉, 3차원 공간 또는 파라미터 공간 중의 점을 2차원 배열로 표현할 수 있다. 격자 대각 삼각형은 정점의 특정이 용이하며, 또한, 행 또는 열의 삼각형 스트립을 이용한 분할 삼각형의 주사가 가능하기 때문에, 고속 처리에 유리하다. 이하, 기저 곡면을 격자 대각 삼각형으로 분할한 것으로서 설명을 행한다. 또한, 삼각형 스트립이란 기껏해야 2개의 변이 공유되는 삼각형의 연결체를 의미하는 것으로 한다.
이어서, 루프 다각형 생성부(109)는, 3차원 모델 저장부(101)로부터 기저 곡면 위의 트림 면을 형성하는 외부 루프 및 내부 루프의 데이터를 취득하고, 이 외부 루프 및 내부 루프를 표시하는 모델의 상세도에 따라서 근사하여 루프 다각형(Loop Polygon)을 생성한다(도 3: 스텝 S3). 여기에서는, 도 6에 도시한 바와 같이 외부 루프 다각형(1201) 및 내부 루프 다각형(1202 및 1203)이 생성된다. 또한, 트림 면의 형상에 따라서는 내부 루프가 존재하지 않는 경우도 있다. 루프 다각형은, 대부분의 경우, 3차원 공간 중의 점 열로서 표현되지만, 곡선 또는 곡면의 파라미터의 열로 표현하는 것도 가능하다. 생성된 루프 다각형의 데이터는, 데이터 저장부(107)에 저장된다.
본 스텝에서도, 우선 외부 루프 및 내부 루프를 형성하는 기하 곡선의 분할수를 결정한다. 스텝 S1과 마찬가지로, 표시 상태에서의 시점과 근사 허용차에 기초하여 동적으로 결정하는 것으로, 스텝 S1에서 결정된 상세도를 기준으로 분할수를 정하도록 하여도 된다.
분할수가 계산되면, 분할점의 곡선 파라미터 또는 좌표값을 산출할 수 있다. 이것도 스텝 S1과 마찬가지로, 당업자에게는 잘 알려진 기하학 계산 기술에 의해 실현할 수 있다. 여기에서는, 도 6에서의 각 변의 접속점에 상당하는 분할점도 산출된다. 즉, 루프 다각형은 기저 곡면의 분할 삼각형과는 독립적으로, 표시하는 모델의 상세도에 따라서 루프를 근사하여 생성된다(도 6의 흰색 동그라미 표시). 또한, 종래 기술에서는 도 4의 검정색 동그라미로 표시하고 있는 바와 같이 루프 위에 분할 삼각형과의 교점이 부가되지만, 본 기술에서는 도 4의 검정색 동그라미 표시는 부가되지 않는다.
또한, 일반적으로, 표시 대상의 3차원 모델은 복수의 트림 면에 의해 형성된다. 즉, 인접하는 트림 면은 외부 루프에 따른 일부의 변을 공유한다. 공유되는 변에 대하여 이미 분할점을 계산을 마쳤으면, 동일한 분할점을 채용하도록 하여도 된다.
그 후, 시선 1가 영역 생성부(111)는, 시선 1가 영역 생성 처리를 실시한다(도 3: 스텝 S5). 이 시선 1가 영역 생성 처리에 대해서는, 도 7 내지 도 9를 이용하여 설명한다. 또한, 본 실시 형태에서 처리 대상으로 하는 도 4에 도시한 기저 곡면은, 표면변 연결체 및 이면변 연결체가 각각 시선 1가로 된다.
도 7은, 본 실시 형태에서의 시선 1가 영역 생성 처리를 나타내는 처리 플로우이다. 우선, 시선 1가 영역 생성부(111)는, 데이터 저장부(107)에 저장되어 있고, 또한 스텝 S1(도 3)에서 생성한 삼각형 데이터 및 표시 조건 저장부(103)에 저장되어 있는 시점 데이터를 취득하고, 삼각형 데이터마다 표리 판정을 행한다(도 7: 스텝 S11). 판정 결과를 나타내는 데이터에 대해서는, 예를 들어 데이터 저장부(107)에 일시적으로 유지해 둔다. 여기에서는, 도 8에 도시한 바와 같이, 시점으로부터 삼각형으로의 벡터 V와, 방향이 잡힌 삼각형의 법선 벡터 N의 내적인 표리 판정 내적(side discriminative inner product)을 산출하고, 이 내적이 부의 값이면 표면이라고 판정한다.
또한, 본 스텝은, 처리 대상을 표면으로 한정하기 위해 실시하는 것은 아니다. 특별한 처리 대상인 경우, 예를 들어 국제출원 WO00/002165호에 기재된, 닫힌 곡면에 한정되는 경우에는 이면을 처리 대상으로부터 제외하는 것이 행해진다. 그러나, CAD라고 하는 기술 분야를 주된 대상으로 하는 경우, 일반적으로 이면도 표시하는 것이 요구된다.
그리고, 시선 1가 영역 생성부(111)는, 데이터 저장부(107)에 저장된 표리 판정의 결과를 나타내는 데이터를 이용하여, 변을 공유하는 표면끼리 또는 이면끼리를 연결하고, 표면변 연결체 및 이면변 연결체를 생성한다(도 7: 스텝 S13). 또한, 시선 1가 영역 생성부(111)는, 예를 들어 표면변 연결체 및 이면변 연결체의 경계점 열의 데이터를 데이터 저장부(107)에 저장한다. 여기에서는, 도 9에 도시한 바와 같이, 기저 곡면을 분할함으로써 얻어지는 삼각형을 이용하여, 표면이 시점을 향하고 있는 영역(백색의 영역)과 이면이 시점을 향하고 있는 영역(해칭이 실시된 영역)이 생성된다.
규칙성을 갖지 않는 일반적인 분할 삼각형의 경우에는, 하나의 삼각형으로부터 어드밴싱 프론트법에 의해 표면변 연결체 및 이면변 연결체를 생성할 수 있다. 한편, 기저 곡면을 격자 대각 삼각형으로 분할한 경우에는, 격자의 열방향 또는 행방향의 삼각형 스트립을 이용한 주사에 의해 고속으로 처리할 수 있다.
그 후, 시선 1가 영역 생성부(111)는, 데이터 저장부(107)에 저장된 표면변 연결체 및 이면변 연결체의 각각을 시선 1가 영역으로서 특정한다(스텝 S15). 도 4에 도시한 기저 곡면의 경우에는, 도 9에 도시한 표면변 연결체 및 이면변 연결체가 각각 시선 1가 영역으로 특정된다. 또한, 데이터 저장부(107)에 저장된 표면변 연결체 및 이면변 연결체를 나타내는 경계점 열에 관련지어, 시선 1가 영역인 것을 나타내는 데이터를 등록한다. 그리고, 시선 1가 영역 생성 처리를 종료하고, 도 3의 처리로 복귀한다.
도 3(처리 플로우 전반 도면)의 처리로 되돌아가서, 마스크 생성부(113)는, 데이터 저장부(107)에 저장되어 있는 미처리의 시선 1가 영역을 1개 취득한다(스텝 S7). 또한, 기저 곡면 전체가 시선 1가 영역인 경우에는, 기저 곡면 전체가 취득된다. 또한, 마스크 생성부(113)는, 데이터 저장부(107)로부터 루프 다각형의 데이터도 취득해 둔다. 그리고, 마스크 생성부(113)는, 마스크 데이터 생성 처리를 실시한다(스텝 S9). 이 마스크 데이터 생성 처리에 대해서는, 도 10 내지 도 20을 이용하여 설명한다.
도 10의 마스크 데이터 생성 처리에 있어서, 우선, 마스크 생성부(113)는, 취득한 시선 1가 영역 및 루프 다각형의 좌표를 스크린 좌표로 변환하고, 변환 후의 좌표를 데이터 저장부(107)에 저장한다(도 10: 스텝 S31). 본 스텝에서는, 도 9의 표면변 연결체가 처리 대상의 시선 1가 영역인 경우, 도 11과 같이 스크린 좌표로 변환된다. 또한, 도 9의 이면변 연결체가 처리 대상의 시선 1가 영역인 경우, 도 12와 같이 스크린 좌표로 변환된다.
이어서, 마스크 생성부(113)는, 데이터 저장부(107)에 저장되어 있는 시선 1가 영역 및 루프 다각형의 데이터를 이용하여, 내부 루프 및 외부 루프와 표면변 연결체 또는 이면변 연결체의 사이의 집합적인 루프 집합적을 생성하고, 데이터 저장부(107)에 저장한다(도 10: 스텝 S33). 여기에서는, 시선 1가 영역 및 이와 교차하는 외부 루프 다각형 및 내부 루프 다각형을 입력으로 하여, 외부 루프 집합적 및 내부 루프 집합적을 얻는다. 루프 집합적은, 예를 들어 시선 1가 영역의 경계점 열과 루프 다각형의 경계점 열의 다각형 집합 연산(Polygon Clipping)에 의해 생성할 수 있다. 다각형 집합 연산의 실현 방법은 주지의 기술로서, 예를 들어 Bala R. Vatti, A Generic Solution to Polygon Clipping, Communication of the ACM, July 1992(vol. 35), pp.56-63에, 주사선 산법을 이용하여, 합차적(union, difference, or intersection)의 종류에 따라 교차에 의한 절단편을 선택하는 예가 기재되어 있다. 또한, 스텝 S33 등에서 행하는 집합 연산은, 파라미터 공간, 실체 공간, 카메라 좌표계 및 스크린 좌표계 중 어느 것이나 행하는 것이 가능하다. 본 실시 형태에서는, 스크린 좌표계를 채용하는 것으로 한다.
본 스텝에서는, 처리 대상의 시선 1가 영역에 대하여 도 13에 도시한 바와 같은 외부 루프 집합적 및 도 14에 도시한 바와 같은 내부 루프 집합적이 얻어진다. 도 13에서는, 파선으로 외부 루프 집합적의 외형을 나타내었다. 그리고, 시선 1가 영역 1301(해칭 있음)이 처리 대상인 경우, 외부 루프 집합적 1302(해칭 있음)가 생성되고, 시선 1가 영역 1303(해칭 없음)이 처리 대상인 경우, 외부 루프 집합적 1304(해칭 없음)가 생성된다. 또한, 도 14에서는, 굵은 실선으로 내부 루프 집합적의 외형을 나타내었다. 그리고, 시선 1가 영역 1401(해칭 있음)이 처리 대상인 경우, 내부 루프 집합적 1402(해칭 있음)가 생성되고, 시선 1가 영역 1403(해칭 없음)이 처리 대상인 경우, 내부 루프 집합적 1404(해칭 없음) 및 1405(해칭 없음)가 생성된다.
그리고, 도 1의 마스크 생성부(113)는, 마스크 데이터 저장부(115)의 마스크 데이터를, 모든 화소에 대하여 ON으로 초기화한다(도 10: 스텝 S35). 또한, 마스크 데이터는 화소 단위로 ON 또는 OFF로 설정되고, ON으로 설정된 화소는 묘화 처리가 억제되어, OFF로 설정된 화소는 묘화 처리가 행해지는 것으로 한다.
또한, 마스크 생성부(113)는, 데이터 저장부(107)에 저장된 외부 루프 집합적의 경계 데이터를 이용하여, 외부 루프 집합적의 내부에 상당하는 마스크 데이터를 OFF로 설정한다(도 10: 스텝 S37). 또한, 루프 다각형의 내부의 화소를 특정하는 방법으로서, 루프 다각형의 삼각형 분할에 의한 방법(투영 다각형 삼각형 분할법)이나, 루프 다각형의 주사선에 의한 빈틈없이 칠하기에 의한 방법(화소 주사선법)이 잘 알려져 있지만, 이들 상세는 후술한다. 본 스텝에서는, 도 13의 시선 1가 영역 1301이 처리 대상인 경우, 도 15의 외부 루프 집합적 1501의 내부에 상당하는 영역의 마스크 데이터가 OFF로 설정된다. 또한, 도 13의 시선 1가 영역 1303이 처리 대상인 경우, 도 15의 외부 루프 집합적 1502의 내부에 상당하는 영역의 마스크 데이터가 OFF로 설정된다. 스크린 좌표 위에서 표시하면, 도 15의 외부 루프 집합적 1501에는, 도 16에 도시한 바와 같이 OFF가 설정되고, 도 15의 외부 루프 집합적 1502에는, 도 17에 도시한 바와 같이 OFF가 설정된다.
도 13 내지 도 17에 도시되어 있는 바와 같이, 스텝 S37의 외부 루프 집합적의 경계에는, 루프와 표면변 연결체 또는 이면변 연결체의 사이의 교점 이외는 부가되어 있지 않다. 이에 대하여 종래법에서는, 도 4에 도시되어 있는 바와 같이, 테셀레이션을 그대로 이용하는 방법으로 하든, 특허문헌 2에 기재된 마스크를 사용하는 방법으로 하든, 루프와 분할 삼각형의 사이의 교점이 다수 부가된다. 본 실시 형태에서는, 교점을 부가하기 위한 교점 계산 시간이나, 표시 또는 마스크 데이터 생성을 위한 삼각형 분할 생성 등에 걸리는 시간이 대폭 줄어든다. 여기에 본 실시 형태의 하나의 효과가 나타난다.
나아가서는 그 후, 도 1의 마스크 생성부(113)는, 데이터 저장부(107)에 저장된 내부 루프 집합적의 데이터를 이용하여, 내부 루프 집합적의 내부에 상당하는 마스크 데이터를 ON으로 설정한다(도 10: 스텝 S39). 또한, 전술한 바와 같이, 트림 면의 형상에 따라서는 내부 루프가 존재하지 않는 경우도 있다. 내부 루프가 존재하지 않는 경우, 본 스텝의 처리는 생략한다. 또한, 내부 루프 집합적의 내부의 화소를 특정하는 방법으로서는, 스텝 S37과 마찬가지로 투영 다각형 삼각형 분할법이나 화소 주사선법을 이용할 수 있다. 본 스텝에서는, 도 14의 시선 1가 영역 1401이 처리 대상인 경우, 도 18의 내부 루프 집합적 1601의 내부에 상당하는 영역의 마스크 데이터가 ON으로 설정된다. 또한, 도 14의 시선 1가 영역 1403이 처리 대상인 경우, 도 18의 내부 루프 집합적 1602 및 1603의 내부에 상당하는 영역의 마스크 데이터가 ON으로 설정된다. 스크린 좌표 위에서 표시하면, 도 18의 내부 루프 집합적 1601에는 도 19에 도시한 바와 같이 ON으로 설정되고, 도 18의 내부 루프 집합적 1602 및 1603에는 도 20에 도시한 바와 같이 ON으로 설정된다. 그리고, 마스크 생성부(113)는, 미처리의 내부 루프 집합적이 존재하는지를 판단하여(도 10: 스텝 S41), 존재하는 경우에는 스텝 S39의 처리로 복귀한다. 여기에서는, 내부 루프의 수만큼 스텝 S39가 반복된다. 한편, 미처리의 내부 루프 집합적이 존재하지 않는 경우, 마스크 데이터 생성 처리를 종료하여 도 3의 처리로 되돌아가서, 단자 A를 개재하여 도 21의 처리로 이행한다.
또한, 마스크 데이터를 생성하는 처리는, 루프 집합적의 배타합에 의해서도 실현할 수 있다. 배타합을 이용하는 예로는, 예를 들면 일본 특허 공개 평4-289984호 공보가 있다. 배타합을 이용하는 경우에는, 마스크 데이터가 ON인 화소를 표시하여 OFF의 화소를 표시 억제하는 것으로서, 외부 루프 다각형 및 내부 루프 다각형의 내부를 각각 ON으로 설정한 데이터를 이용함으로써 본 실시 형태에 적용할 수 있다. 이상에서 도 3(처리 플로우 전반 도면)의 처리를 끝내고, 도 21로 진행한다.
도 21에 본 실시 형태의 처리 플로우(후반)를 나타낸다. 화상 데이터 생성부(117)는, 데이터 저장부(107)로부터, 기저 곡면을 분할함으로써 생성된 삼각형 데이터 중 시선 1가 영역에 포함되는 미처리의 삼각형 데이터를 1개 취득한다(도 21: 스텝 S21). 그리고, 화상 데이터 생성부(117)는, 이 삼각형의 화상 데이터를 생성하고, 데이터 저장부(107)에 저장한다(스텝 S23). 여기에서는, 기저 곡면을 분할함으로써 생성되고, 데이터 저장부(107)에 저장되어 있는 삼각형 데이터와 표시 조건 저장부(103)에 저장되어 있는 시점 데이터 및 조명 데이터를 이용하여, 화상 데이터를 생성한다. 상세하게는, 처리 대상의 삼각형을 좌표 변환하여, 스크린 좌표로 표시한다. 또한, 스크린 좌표계에서의 각 화소에 대응하는 삼각형 위의 점에 대하여 시점으로부터의 거리를 산출하여, 깊이 정보(Z값)로서 유지해 두고, Z 버퍼의 값과 비교함으로써 은면 소거에 이용한다. 그리고, 화소의 색 정보를, 예를 들어 도 22에 도시한 퐁 반사 모델(Phong reflection model)에 의해 산출한다. 또한, 출력광 강도는, 다음 식에 의해 계산된다. 단, 여기서는 환경광은 생략되어 있다.
C=KdLdcosθ+KsLs(cosα)k
또한, C=출력광 강도, Ld=확산 반사(diffuse reflection)광 강도, Kd=확산 반사율(정, 1 미만), Ks=경면 반사율(정, 1 미만), θ=법선 방향과 광원 방향이 이루는 각, α=경면 반사광과 시점 방향이 이루는 각, k=광택도(매끄럽고 경면 반사에 가까울수록 큼)로 한다.
이상의 처리에 의해, 화소의 위치, Z값 및 색 정보가 산출된다. 그 후, 묘화 처리부(119)는, 데이터 저장부(107)에 저장된 화상 데이터와 마스크 데이터 저장부(115)에 저장된 마스크 데이터를 이용하여 프레임 버퍼로의 묘화 처리를 행한다(도 21: 스텝 S25). 여기에서는, 마스크 데이터가 OFF인 화소에 반하여, 이 화소에 대하여 유지되어 있는 Z 버퍼의 값과 Z값을 비교하고, Z값 쪽이 시점측에 가까운 경우, 이 화소의 색 정보로 프레임 버퍼를 갱신한다. 또한, 이 Z값으로 Z 버퍼를 갱신한다. 한편, 마스크 데이터가 ON인 화소에 대해서는 묘화를 행하지 않는다.
그 후, 화상 데이터 생성부(117)는, 시선 1가 영역 내의 삼각형에 대하여 미처리의 것이 존재하는지를 판단하고(도 21: 스텝 S27), 미처리의 삼각형이 있으면, 스텝 S21의 처리로 복귀한다. 한편, 미처리의 삼각형이 존재하지 않는 경우, 마스크 생성부(113)는, 미처리의 시선 1가 영역이 존재하는지를 판단하고(스텝 S29), 미처리의 시선 1가 영역이 있으면, 단자 B를 개재하여 스텝 S7의 처리로 복귀한다. 한편, 미처리의 시선 1가 영역이 존재하지 않는 경우, 처리를 종료한다.
이상의 처리에 의해, 1개의 트림 면이 묘화된다. 표시 대상의 3차원 모델 전체를 묘화하기 위해서는, 3차원 모델을 형성하는 복수의 트림 면에 대하여 이와 같은 처리를 행한다. 또한, 예를 들어 시점의 위치나 각도의 변경, 표시 대상의 확대 축소 등에 수반하여, 3차원 모델 전체에 대하여 스텝 S5(도 3) 이후의 처리를 다시 실시한다. 또한, 스텝 S1 또는 스텝 S3에서 이용하는 상세도가 변화하는 경우에는, 스텝 S1 또는 스텝 S3의 처리도 다시 실시한다. 또한, 기저 곡면을 분할함으로써 생성된 삼각형이나 트림 면의 경계를 근사함으로써 생성된 루프 다각형에 대하여 상세도에 따른 점 열의 데이터를 유지해 두고, 재계산을 생략할 수 있도록 해도 된다.
여기서, 스텝 S37 및 S39(도 10)에서 행하는 마스크 데이터의 생성에 대하여, 보다 상세히 설명한다.
(A) 투영 다각형 삼각형 분할법
본 방법에서는, 투영된 루프 집합적의 경계가 형성하는 다각형을 삼각형 분할하고, 각 삼각형의 내부에 상당하는 화소의 마스크 데이터를, 예를 들어 외부 루프의 경우에는 OFF로 내부 루프의 경우에는 ON으로 설정한다. 투영면에 있어서의 루프 집합적의 경계를 도 23에 나타내었지만, 흰색 동그라미 표시는 루프의 분할점 또는 루프와 표면변 연결체 또는 이면변 연결체의 사이의 교점이다. 즉, 종래법과는 달리 루프와 분할 삼각형의 사이의 교점을 구하지 않기 때문에, 종래법에 비하여 고속 처리가 가능하게 된다. 도 23에 도시한 루프 집합적이, 예를 들어 도 24와 같이 분할된다. 다각형의 삼각형 분할은, 특히 루프 집합적이 볼록 다각형인 것을 알고 있는 경우(예를 들어 루프가 원인 것을 CAD 데이터로부터 알 수 있는 경우), 도 25에 도시한 바와 같이, 임의의 정점과 다른 정점을 연결하는 부채형 삼각형으로 분할할 수 있기 때문에 고속으로 실현 가능하다. 또한, 일반적인 다각형의 삼각형 분할 방법으로서, 단조인 y각형을 이용하는 n각형에 관한 계산량 오더 O(nlogn)의 평면 주사선 산법(plane scan line algorithm)과, 1개의 정점에 인접하는 2개의 정점을 연결한 선분이 다른 변과 교차하지 않는 삼각형 칩을 순차 탐색하는 계산량 오더 O(n2)인 이어 클리핑(ear clipping)이 잘 알려져 있다. 또한, n각형은 (n-2)개의 삼각형으로 분할된다. 예를 들어, 전자(前者)에 관해서는, 도바크 등이 저술한 아사노데츠오 번역의 '컴퓨터·지오메트리(근대과학사 출판)'에, 또한 후자(後者)에 관해서는 David Eberly, Triangulation by Ear Clipping, Geometric Tools, LLC, Last Modified: March 1, 2008 (http://www.geometrictools.com/Documentation/TriangulationByEarClipping.pdf로부터 2010년 11월 취득 가능)에 상세한 기재가 있다.
대표적인 상기의 2가지 삼각형 분할법에서는, 평면 주사선 산법 쪽이 고속이다. 평면 주사선 산법은, 자기 교차를 갖지 않는 단순한 다각형을 단조인(monotone) y각형으로 변환하고, 단조인 y각형을 삼각형 분할한다. 또한, 상기의 평면 주사선 알고리즘은, 내부 루프를 갖는 경우에도 그대로 적용할 수 있다. 즉, 복수의 닫힌 점 열로 구성되는 다각형에 대하여 동일한 평면 주사선 산법을 적용할 수 있다. 또한, 내부 루프 및 외부 루프의 변의 수의 합계가 n개, 내부 루프의 수가 m개인 경우, (n-2+2m)개의 삼각형으로 분할된다.
상기의 주사선 알고리즘을 이용하여, 외부 루프 집합적 및 내부 루프 집합적에 관하여 동시에 마스크 데이터를 생성할 수 있어, 스텝 S37 내지 스텝 S41의 각각을 동시에 실행하도록 하여도 된다. 그 처리 속도는, 내외 별도로 실행하는 경우에 비하여 큰 차이는 없다.
(B) 화소 주사법
본 방법에서는, 우선 외부 루프 집합적의 경우(스텝 S37)는 외부 루프 집합적의 경계에 대응하는 화소의 마스크 데이터를 예를 들어 OFF로 설정한다. 도 26a의 예에서는, 경계점 열 위의 화소의 마스크 데이터가 OFF로 된다. 그 후, 스크린 좌표계에서의 화소를 좌측으로부터 주사한다. 또한, 주사함과 함께, 마스크 데이터가 OFF의 점 열과의(1로부터의) 교점 번호를 산출하고, 이 교점 번호가 홀수인 구간의 마스크 데이터를 OFF로 설정한다. 또한, 예를 들어 도 26a의 검정색 동그라미 표시와 같은 극대 극소점에서는 교점 번호를 2개 설정한다. 도 26a에서 보이는 바와 같이, 다각형 내부의 화소가 OFF로 된다. 한편, 내부 루프 집합적인 경우(스텝 S39)에는 (A) 투영 다각형 삼각형 분할법의 경우와 마찬가지로, 마스크 데이터를 ON으로 설정하는 점이 서로 다를 뿐이다.
화소 주사법의 경우에도, 도 26b에 도시한 바와 같이 외부 루프 집합적 및 내부 루프 집합적과 주사선과의 교점 번호를 산출하고, 이 교점 번호가 홀수인 구간의 마스크 데이터를 OFF로 설정함으로써, 스텝 S37 내지 스텝 S41의 각각을 동시에 실행하도록 해도 된다.
이상과 같은 처리를 행함으로써, 시선 1가 영역마다 마스크 데이터의 생성 처리 및 트림 면의 묘화 처리를 행할 수 있다. 또한, 시선 1가 영역끼리의 겹침은, 예를 들어 Z 버퍼를 이용한 은면 소거에 의해 처리된다. 본 실시 형태에서 예시한 단순한 물체이면, 전술한 바와 같이, 표면이 시점측을 향한 영역과 이면이 시점측을 향한 영역을 각각 시선 1가 영역이라고 판단한다. 그리고, 각 시선 1가 영역에 대하여 트림 면 위(외부 루프의 내측 또는 내부 루프의 외측)인지 여부에 기초하여 마스크 데이터를 생성한다. 마스크 데이터는, 트림 면의 근사점 열(외부 루프 다각형 및 내부 루프 다각형)과 시선 1가 영역(표면변 연결체 또는 이면변 연결체의 경계점 열)의 집합 연산에 의해 생성된다. 기저 곡면을 분할함으로써 얻어진 삼각형마다 루프 다각형과의 교점을 구하는 경우와 비교하면, 본 실시 형태에서는 루프 다각형과 삼각형의 각각과의 교차 계산을 행하지 않기 때문에, 교차하는 삼각형의 수가 많아질수록 처리 부하의 경감 효과가 있다.
[실시 형태 2]
실시 형태 1의 표시 대상은, 표면변 연결체 및 이면변 연결체가 각각 시선 1가이었지만, 표면변 연결체 또는 이면변 연결체가 시선 1가로 되지 않는 경우도 있을 수 있다. 도 27에 도시한 「주름」이 나타나는 예에서는, 표면이 시점측을 향한 연속하는 면의 일부에, 도시된 시점으로부터는 겹쳐서 보이지 않는 부분이 존재한다. 또한, 도 27에서, 검정색 동그라미 표시는 시점을 나타내고, 흰색 동그라미 표시는 시선과 기저 곡면의 교점을 나타낸다. 또한, 해칭이 실시된 영역은, 이면이 시점측을 향하고 있으며, 이면변 연결체로 된다. 예를 들어, 도시된 시선을 찾아가면, 우선 바로 앞의 표면과의 교점이 존재하고, 다음으로 이면과의 교점이 존재하며, 마지막으로 안쪽 표면과의 교점이 존재한다. 즉, 이 기저 곡면으로부터 생성되는 표면변 연결체의 투영면으로의 사상은, 전단사가 아니다.
마찬가지로, 도 28에 도시한 중앙부에 상방을 향하는 돌기가 있는 예의 경우에도, 도시된 시점으로부터 본 경우에 표면끼리가 겹치는 부분이 있다. 도 28에서는, 일점쇄선으로 파라미터 일정선을 나타내며, 도 28의 기저 곡면은 중앙이 위로 볼록하게 된 형상인 것을 알 수 있다. 또한, 도 28에서도, 검정색 동그라미 표시는 시점을 나타내고, 흰색 동그라미 표시는 시선과 기저 곡면의 교점을 나타낸다. 또한, 해칭이 실시된 영역은 이면이 시점측을 향하고 있어 이면변 연결체로 된다. 도시된 2개의 시선은 표면과 이면과의 경계 및 표면을 통과하는 것으로, 이 기저 곡면으로부터 생성되는 표면변 연결체의 투영면으로의 사상도 전단사가 아니다.
본 실시 형태에서는, 시선 1가가 아닌 표면변 연결체 또는 이면변 연결체를 시선 1가 영역으로 분할한 다음에, 마스크 생성 처리 및 묘화 처리를 행한다.
도 29에, 본 실시 형태에 따른 표시 처리 장치의 기능 블록도를 나타내었다. 본 실시 형태에 따른 표시 처리 장치는, CAD 시스템에 의해 생성된 3차원 모델 데이터를 저장하고 있는 3차원 모델 저장부(101)와, 3차원 공간 내의 시점 데이터나 조명 데이터 등을 저장하고 있는 표시 조건 저장부(103)와, 삼각형 생성부(105)와, 처리 도중의 데이터 등을 저장하는 데이터 저장부(107)와, 루프 다각형 생성부(109)와, 간이 판정 전처리부(121)와, 시선 1가 영역 생성부(123)와, 마스크 생성부(113)와, 마스크 데이터 저장부(115)와, 화상 데이터 생성부(117)와, 묘화 처리부(119)를 갖는다. 또한, 간이 판정 전처리부(121)를 갖지 않는 경우도 있다. 또한, 실시 형태 1과 마찬가지의 처리를 행하는 구성요소에는, 동일한 부호를 병기하였다.
삼각형 생성부(105)는, 3차원 모델 저장부(101)에 저장되어 있는 기저 곡면의 데이터 및 표시 조건 저장부(103)에 저장되어 있는 데이터로부터, 기저 곡면을 분할하여 삼각형 데이터를 생성하고, 데이터 저장부(107)에 저장한다. 또한, 루프 다각형 생성부(109)는, 3차원 모델 저장부(101)에 저장되어 있는 트림 면의 데이터 및 표시 조건 저장부(103)에 저장되어 있는 데이터로부터, 트림 면을 근사한 루프 다각형의 데이터를 생성하고, 데이터 저장부(107)에 저장한다. 그리고, 간이 판정 전처리부(121)는, 3차원 모델 저장부(101)에 저장되어 있는 기저 곡면의 데이터를 이용하여, 이 기저 곡면 전체가 시선 1가로 되는 시점인 것이 보증되는 좌표의 범위를 계산하고, 데이터 저장부(107)에 저장해 둔다. 또한, 시선 1가 영역 생성부(123)는, 데이터 저장부(107)에 저장된 삼각형 데이터 및 표시 조건 저장부(103)에 저장되어 있는 데이터를 이용하여, 투영면으로의 사상이 전단사라고 하는 조건을 만족하는 시선 1가 영역의 데이터를 생성하고, 데이터 저장부(107)에 저장한다. 시선 1가 영역 생성부(123)는, 간이 판정 전처리부(121)가 계산한 데이터를 이용하여, 기저 곡면 전체가 시선 1가로 되는지를 판단하도록 해도 된다. 또한, 마스크 생성부(113)는, 데이터 저장부(107)에 저장된 시선 1가 영역의 데이터 및 루프 다각형의 데이터를 이용하여 마스크 데이터를 생성하고, 마스크 데이터 저장부(115)에 저장한다. 또한, 화상 데이터 생성부(117)는, 데이터 저장부(107)에 저장된 삼각형 데이터 및 표시 조건 저장부(103)에 저장되어 있는 시점이나 조명의 데이터를 이용하여 화상 데이터를 생성하고, 데이터 저장부(107)에 저장한다. 그리고, 묘화 처리부(119)는, 데이터 저장부(107)에 저장된 화상 데이터 및 마스크 데이터 저장부(115)에 저장된 마스크 데이터를 이용하여 묘화 처리를 행한다.
이어서, 도 30 내지 도 74를 이용하여, 도 29에 도시한 표시 처리 장치의 처리 내용에 대하여 설명한다. 본 실시 형태에서도, 3차원 모델 저장부(101)에는 트림 면의 집합으로서 표시되는 3차원 모델 데이터가, 표시 조건 저장부(103)에는 시점 데이터나 조명 데이터 등이 미리 저장되어 있는 것으로 한다. 또한, 본 실시 형태에서는, 도 30에 도시한 바와 같은 기저 곡면을 처리 대상의 예로서 설명한다. 또한, 도시된 검정색 동그라미는 시점을 표시하고, 흰색 동그라미는 시선과 기저 곡면의 교점을 표시한다. 시점으로부터 본 도 30의 기저 곡면은, 전체가 표면이지만, 일부는 교차하여 겹쳐 있다.
도 31은, 본 실시 형태에서의 처리 플로우(전반)이다. 우선, 삼각형 생성부(105)는, 3차원 모델 저장부(101)로부터 3차원 모델로서 표시된 물체의 일부에 따른 기저 곡면의 데이터를 취득하고, 삼각형 분할을 행한다(도 31: 스텝 S51). 또한, 생성된 삼각형 데이터는, 데이터 저장부(107)에 저장된다. 본 스텝의 처리는, 실시 형태 1의 스텝 S1(도 3)의 처리와 마찬가지이다. 여기에서는, 도 30에 도시한 기저 곡면이 삼각형 분할된다.
이어서, 루프 다각형 생성부(109)는, 3차원 모델 저장부(101)로부터 기저 곡면 위의 트림 면을 형성하는 외부 루프 및 내부 루프의 데이터를 취득하고, 이 외부 루프 및 내부 루프를 근사하여 루프 다각형을 생성한다(도 31: 스텝 S53). 생성된 루프 다각형의 데이터는, 데이터 저장부(107)에 저장된다. 본 스텝의 처리는, 스텝 S3과 마찬가지이다. 본 실시 형태에서는, 도 30에 도시한 기저 곡면 전체가 트림 면인 것으로 하여 설명한다.
그 후, 시선 1가 영역 생성부(123)는, 시선 1가 영역 생성 처리를 실시한다(스텝 S55). 이 시선 1가 영역 생성 처리에 대해서는, 도 32 내지 도 65b를 이용하여 설명한다.
우선, 시선 1가 영역 생성부(123)는, 시선 1가 간이 판정 처리(옵션)를 실시한다(도 32: 스텝 S61). 본 스텝에서는, 기저 곡면 전체가 시선 1가인지를 간이 판정한다. 이 시선 1가 간이 판정 처리의 내용에 대해서는, 후술한다. 그리고, 시선 1가 영역 생성부(123)는, 기저 곡면 전체가 시선 1가 영역인지를 판단한다(도 32: 스텝 S63). 예를 들어, 스텝 S61에서 간이 판정 플래그를 설정해 두고, 본 스텝에서는 이 간이 판정 플래그에 기초하여 처리를 분기시킨다.
기저 곡면 전체가 시선 1가 영역이라고 판단된 경우, 시선 1가 영역 생성부(123)는, 기저 곡면 전체가 시선 1가 영역인 것을 나타내는 데이터를 설정한다(도 32: 스텝 S65). 여기에서는, 스텝 S51(도 31)에서 생성된 삼각형으로부터 표면변 연결체 또는 이면변 연결체를 생성하고, 이 표면변 연결체 또는 이면변 연결체의 경계점 열을 표시하는 데이터를 데이터 저장부(107)에 저장함과 함께, 시선 1가 영역인 것을 나타내는 데이터를 등록한다. 그 후, 단자 F를 개재하여 도 33의 처리로 이행하고, 시선 1가 영역 생성 처리를 종료하여 도 31의 처리로 복귀한다.
한편, 기저 곡면 전체가 시선 1가 영역이 아닌 경우, 단자 E를 개재하여 도 33의 시선 1가 영역 생성 처리(후반)로 이행한다. 또한, 도 32에서 파선으로 나타낸 스텝 S61 내지 스텝 S65의 처리는 필수적이지 않다. 이들 처리를 행하지 않고, 단자 E를 개재하여 도 33의 시선 1가 영역 생성 처리(후반)로 이행하여도 된다.
도 33의 시선 1가 영역 생성 처리(후반)로 이행하여, 시선 1가 영역 생성부(123)는, 데이터 저장부(107)에 저장되어 있는 스텝 S51(도 31)에서 생성한 삼각형 데이터 및 표시 조건 저장부(103)에 저장되어 있는 시점 데이터를 취득하고, 삼각형 데이터마다 표리 판정을 행한다(도 33: 스텝 S71). 본 스텝의 처리는, 스텝 S11(도 7)과 마찬가지이다. 여기에서는, 도 30에 도시한 기저 곡면 전체가 표면이라고 판정된 것으로 한다.
그리고, 시선 1가 영역 생성부(123)는, 데이터 저장부(107)에 저장된 표리 판정의 결과를 나타내는 데이터를 이용하여, 변을 공유하는 표면끼리 또는 이면끼리를 연결하고, 표면변 연결체 및 이면변 연결체를 생성한다(도 33: 스텝 S73). 또한, 시선 1가 영역 생성부(123)는, 예를 들어 표면변 연결체 및 이면변 연결체의 경계점 열의 데이터를 데이터 저장부(107)에 저장한다. 본 스텝의 처리는, 스텝 S13(도 7)과 마찬가지이다. 여기에서는, 도 30에 도시한 기저 곡면 전체로부터 1개의 표면변 연결체가 생성된 것으로 한다.
또한, 도 34에 도시한 바와 같은 기복이 있는 형상에서는, 1개의 기저 곡면으로부터 복수의 표면변 연결체 또는 복수의 이면변 연결체가 생성되는 경우도 있다. 도 34에서는, 해칭이 실시된 중앙의 영역은 검정색 동그라미로 표시한 시점에 대하여 이면을 향하고 있어, 이면변 연결체로 된다. 그리고, 그 양측의 백색의 2개의 영역은 시점에 대하여 표면을 향하고 있어, 표면변 연결체로 된다.
여기서, 표면변 연결체 및 이면변 연결체의 경계점 열 표현에 대하여 구체예를 들어 둔다. 도 28에 도시한 중앙부에 상방을 향하는 돌기를 갖는 기저 곡면에서는, 표면(표면이 시점측을 향한 영역)의 내측에 이면(이면이 시점측을 향한 영역)이 존재한다. 이와 같이, 기저 곡면에 요철이 있는 경우, 표면으로 둘러싸인 이면이나 이면으로 둘러싸인 표면이 나타나는 경우가 있다. 이 표면과 이면의 경계를 표리 경계라고 칭하도록 하고, 도 28과 같이 닫힌 표리 경계를 폐쇄 표리 경계라고 칭하도록 한다. 또한, 예를 들어 도 28의 외주와 같이, 기저 곡면의 경계에 상당하는, 표면변 연결체 또는 이면변 연결체의 경계를 곡면 경계라고 칭하도록 한다. 한편, 도 27에 도시한 기저 곡면의 표리 경계와 같이, 곡면 경계 위의 2점을 연결하는 표리 경계를, 개방 표리 경계라고 칭하도록 한다.
표면변 연결체 및 이면변 연결체의 경계는, 곡면 경계, 폐쇄 표리 경계 및 개방 표리 경계에 의해 표시할 수 있다. 또한, 곡면 경계, 폐쇄 표리 경계 및 개방 표리 경계는, 기저 곡면을 분할함으로써 얻어진 삼각형의 정점의 집합(점 열, polyline)으로서 표현할 수 있다.
따라서, 표면변 연결체 및 이면변 연결체는, 예를 들어 도 35와 같이, 문맥 자유 문법의 구문을 표현하는 바커스 나우어(Backus-Naur) 기법을 이용하여 표현할 수 있다. 여기서, 경계점 열은, 예를 들어 u, v 파라미터 평면 위에서 반시계 방향이 되도록 하는 순서로 표시하는 것으로 한다. 여기서, 도 35의 φ는 빈 것을 나타내는 기호이다. 또한, 도 28과 같이, 표면변 연결체 또는 이면변 연결체가 다른 이면변 연결체 또는 표면변 연결체를 포함하는 경우, 전자는 후자를 재귀적으로 이용하여 표현할 수 있다. 이러한 포함을 나타내는 관계 정보의 생성은, 외측의 경계점 열로부터 내측의 각 경계점 열로의 병렬형 포인팅이어도 실현할 수 있고, 외측의 경계점 열로부터 내측의 경계점 열 및 내측의 경계점 열 사이를 관련짓는 직렬형 포인팅이어도 실현 가능하다. 유지되는 데이터는, 솔리드 모델링에서의 예를 들면 윙드 에지 구조(winged-edge structure) 등과 동일한 형태로서, 당업자에게는 공지된 기술이다. 또한, 도 35에 도시한 데이터 구조는, 중합(후술)을 고려하지 않은 상태에 대응하고 있어, 실시 형태 1에서도 채용할 수 있다. 또한, 후에 중합을 고려한 단계에서, 도 35에 도시한 데이터 구조는 도 44에 도시한 데이터 구조로 확장된다.
도 27 및 도 28에 도시한 기저 곡면으로부터 생성되는 표면변 연결체를 파라미터 평면 위에 모식적으로 나타내면, 도 36 및 도 37과 같게 된다. 도 36의 표면변 연결체는, 가는 선으로 표시된 곡면 경계 1702와 곡면 경계 1702 위의 2점을 연결하는 굵은 선으로 표시된 개방 표리 경계 1701에서 형성되고, 경계점 열로서 표시된다. 또한, 도시한 검정색 동그라미는 개방 표리 경계점이며, 흰색 동그라미는 곡면 경계점이다. 도 37의 표면변 연결체는, 가는 선으로 표시된 곡면 경계 1704와 곡면 경계 1704의 내부에 존재하는 굵은 선으로 표시된 폐쇄 표리 경계 1703에서 형성되고, 경계점 열로서 표시된다. 또한, 도시한 검정색 동그라미는 폐쇄 표리 경계점이며, 흰색 동그라미는 곡면 경계점이다. 또한, 폐쇄 표리 경계 1703은, 표면변 연결체로 둘러싸인 이면변 연결체의 경계점 열로서 표시된다. 스텝 S73(도 33)에서는, 표면변 연결체 또는 이면변 연결체를 표시하는 데이터로서, 이러한 경계점 열 데이터를 저장하는 것으로 한다.
변 연결체 등의 표현 방법의 설명으로부터 처리의 설명으로 되돌아가서, 시선 1가 영역 생성부(123)는, 데이터 저장부(107)로부터 미처리의 표면변 연결체 또는 이면변 연결체를 1개 취득한다(도 33: 스텝 S75). 여기에서는, 도 30에 도시한 기저 곡면 전체로부터 생성된 1개의 표면변 연결체가 취득된 것으로 한다. 그리고, 시선 1가 영역 생성부(123)는, 사영 중합 다각형 생성 처리를 실시한다(스텝 S77). 이 사영 중합 다각형 생성 처리에 대해서는, 도 45 내지 도 56을 이용하여 설명한다.
사영 중합 다각형 생성 처리에서는, 표면변 연결체 또는 이면변 연결체의 일부에 시선 1가가 아닌 부분이 있는 경우, 표면변 연결체 또는 이면변 연결체를 복수의 시선 1가 영역으로 분할한다. 구체적으로는, 곡면 경계 또는 표리 경계를 따라 주사하면서, 이 곡면 경계 또는 표리 경계를 표면변 연결체 또는 이면변 연결체 위에 사영한 선분의 집합인 중합선(superposition polyline)을 특정하고, 이 중합선으로 표면변 연결체 또는 이면변 연결체를 분할한다.
예를 들어, 도 30의 기저 곡면으로부터 생성된 표면변 연결체의 경우에는, 도 38에 도시한 바와 같이 중합선 1801 내지 1804가 특정된다. 그리고, 해칭이 실시된 바로 앞의 면과 안쪽의 면이 서로 다른 시선 1가 영역에 속하도록, 표면변 연결체가 분할된다. 또한, 이와 같은 시점으로부터 보았을 때에 겹치는 바로 앞의 면과 안 쪽의 면을 중합면(superposition faces)이라고 칭하도록 한다. 또한, 도 38의 표면변 연결체는, 예를 들어 투영면 위에서는 도 39와 같이 표시할 수 있고, 파라미터 평면 위에서는 도 40과 같이 표시할 수 있다. 도 39에 있어서, 점 v1 내지 v4, 변 e1 내지 e4 및 면 f1은 바로 앞에, 점 v1 * 내지 v4 *, 변 e1 * 내지 e4 * 및 면 f1 *은 안 쪽에 존재하는 것으로 하고, 겹친 점, 변 및 면은, 파라미터 평면 위에서는 도 40에 도시한 바와 같이 대응한다.
또한, 도 27의 기저 곡면의 경우에는, 도 41에 도시한 바와 같이 중합선 1901 및 1902가 특정된다. 도 41에서는, 이면변 연결체에 대하여 해칭이 실시되어 있다. 그리고, 검정색 동그라미 표시를 시점으로 하여, 표면변 연결체 위에 표리 경계선을 사영하면, 중합선 1901 및 1902가 특정된다.
또한, 도 28의 기저 곡면의 경우에는, 도 42에 도시한 바와 같이 중합선 2001이 특정된다. 도 42에서도, 이면변 연결체에 대하여 해칭이 실시되어 있다. 그리고, 검정색 동그라미를 시점으로 하여, 표면변 연결체 위에 표리 경계선을 사영하면, 중합선 2001이 특정된다.
또한, 도 43에 기저 곡면의 중앙이 오목으로 되면서 오목부의 끝이 검정색 동그라미로 표시한 시점으로부터 보이도록 하는 형상의 예를 나타낸다. 도 43에서도 이면변 연결체에 대하여 해칭이 실시되어 있어, 기저 곡면 내부에 표리 경계선을 갖는다. 또한, 표면변 연결체 위에 표리 경계선을 사영하면, 곡면 경계와 접하는 중합선 2101 및 폐쇄 표리 경계에 접하는 중합선 2102가 특정된다.
도 35에 도시한 경계점 열 데이터의 데이터 구조에 대하여 중합선 및 중합면을 나타내는 데이터를 추가한 데이터 구조의 일례를, 확장 바커스 나우어 기법을 이용하여 도 44에 나타낸다. 이 예에서는, 표면변 연결체 또는 이면변 연결체를 시선 1가로 되는 면분으로 분할하고, 시점을 기준으로 한 전후 관계를 나타내는 정보 등도 유지시키도록 되어 있다.
도 45에 도시한 사영 중합 다각형 생성 처리로 들어가서, 시선 1가 영역 생성부(123)는, 처리 대상의 표면변 연결체 또는 이면변 연결체를 예를 들어 투영면에 사영하고, 사영 경계점 열의 데이터를 데이터 저장부(107)에 저장한다(도 45: 스텝 S91). 여기에서는, 표면변 연결체 또는 이면변 연결체의 경계점 열에 대하여 사영 행렬(사영 변환 행렬)을 작용시켜서, 투영면 위의 경계점 열을 산출한다. 전술한 바와 같이, 도 39에 도시한 바와 같은 투영면 위의 경계점 열이 산출된다. 또한, 투영면 대신에 시점을 포함하지 않는 평면이면 서로 다른 평면을 이용할 수 있다.
그리고, 시선 1가 영역 생성부(123)는, 중합점 특정 처리를 실시한다(도 45: 스텝 S93). 이 중합점 특정 처리에 대해서는 도 46 내지 도 56을 이용하여 설명한다.
시선 1가 영역 생성부(123)는, 중합점을 계산한다. 이 계산은, 세그먼트의 조의 전수 대입 계산(round robin calculation)으로도 행할 수 있지만, 예를 들어 다음과 같은 공정을 밟으면 효율이 좋다. 즉, 스텝 S91(도 45)에서 구한 사영 경계점 열을 예를 들어 반시계 방향으로 임의의 점으로부터 주사하고, x좌표의 값이 단조 증가 또는 단조 감소하는 구간, 또는 y 좌표의 값이 단조 증가 또는 단조 감소하는 구간으로 분할하여, 분할 후의 경계점 열을 나타내는 정보를 데이터 저장부(107)에 저장한다(도 46: 스텝 S101). 예를 들어, 도 39에 도시한 표면변 연결체를 y 좌표의 값이 단조 증가하는 구간 또는 단조 감소하는 구간으로 분할하면, 도 47과 같게 된다. 도 47에서는, 상하 방향을 y축 방향으로서, y 좌표의 값이 단조 증가하는 구간(즉 감소하지 않는 구간)과, y 좌표의 값이 단조 감소하는 구간(즉 증가하지 않는 구간)으로 분할되어 있다. 또한, 검정색 동그라미로 표시한 va 내지 vd는 구간의 단부점이며, 단조 구간 수는 4이다.
그리고, 이하와 같이 중합점의 유무의 간이 판정을 행하면 처리 효율이 좋다. 즉, 시선 1가 영역 생성부(123)는, 스텝 S101에서 분할한 x축 방향 또는 y축 방향의 단조 구간 수가 2 이하인지를 판단한다(스텝 S103). 단조 구간 수가 2 이하인 경우, 시선 1가 영역 생성부(123)는, 중합점 특정 처리를 종료하고, 도 45의 사영 중합 다각형 생성 처리로 복귀한다.
여기서, 도 48은, y 좌표의 값에 대한 단조 구간이 2이면서, 사영 경계점 열이 교차하는 형상을 나타낸다. 또한, 검정색 동그라미 표시는 단조 구간의 경계를 나타낸다. 도 48과 같이, 만약 구간 수가 2로서 투영면 위에서 사영 경계점 열이 교차한다고 하면, 애당초 그 표시 대상은 표면변 연결체 또는 이면변 연결체가 아니다. 즉, 표면변 연결체 또는 이면변 연결체인 경우, 단조 구간 수가 2 이하이면 경계점 열은 투영면 위에서 교차하지 않아 전체가 시선 1가라고 판단할 수 있다.
한편, x축 방향 또는 y축 방향의 단조 구간 수가 2보다 큰 경우, 시선 1가 영역 생성부(123)는, 단조 구간의 미처리의 조합을 데이터 저장부(107)로부터 취득한다(스텝 S105). 본 스텝에서는 미처리의 단조 구간의 조합을 1조 취득하고, 후의 스텝에서 처리 대상의 단조 구간끼리가 투영면 위에서 교차하는지를 판단한다.
이어서, 시선 1가 영역 생성부(123)는, 처리 대상의 조합에 따른 단조 구간이 투영면 위에서 교차하는지를 판단한다(도 46: 스텝 S107). 여기에서는, 각 단조 구간 중의 인접하는 사영 경계점 사이의 선분인 세그먼트끼리를 순차 매칭 처리한다. 또한, 세그먼트의 단부점에서 인접하는 세그먼트끼리는 접속되지만, 본 스텝에서는 이 단부점에 대하여 교차하고 있다고는 판단하지 않는다. 또한, 동일 단조 구간 중의 세그먼트끼리가 교차하는 경우는 없다.
도 49의 예에서는, 예를 들어 단조 구간 vavb와 단조 구간 vcvd의 조합에 대하여 처리를 행하는 경우, va 및 vc를 기점으로 하여 세그먼트끼리의 매칭 처리를 행한다. 예를 들어, y 좌표의 값으로 소트된 세그먼트에 대하여 매칭 처리를 행하면, 예를 들어 세그먼트의 모든 조합에 대하여 교차 판정을 행하는 것보다도 처리 효율이 좋다. 구체적으로는, 우선 세그먼트 vava1과 세그먼트 vcvc1의 조합에 대하여 교차 판정하고, 교차하지 않는다고 판단된다. 이어서, 세그먼트 va1va2와 세그먼트 vcvc1의 조합에 대하여 교차 판정하고, 교차하지 않는다고 판단된다. 그리고, 세그먼트 va1va2 및 세그먼트 vc1vc2, 세그먼트 va2va3 및 세그먼트 vc1vc2…로 순차 교차 판정하고, 세그먼트 va3va4 및 세그먼트 vc1vc2가 교차한다고 판단된다. 그 후, 세그먼트 va7vb 및 세그먼트 vc2vd의 조합까지 교차 판정을 행하여, 단조 구간의 본 조합에 대하여 스텝 S107의 처리가 완료한다.
단조 구간이 교차하지 않는 경우, 처리는 스텝 S117(도 46)로 이행한다. 한편, 단조 구간이 교차하는 경우, 시선 1가 영역 생성부(123)는, 투영면 위의 교점 좌표를 산출한다(도 46: 스텝 S109). 여기에서는, 도 50에 흰색 동그라미로 표시하는 교점이 특정된 것으로 한다. 이러한 투영면 위의 교점을, 이하에서는 자기 교차점(self-intersection point)으로 칭하기로 한다.
그리고, 시선 1가 영역 생성부(123)는, 중합점을 산출한다. 예를 들어, 이 자기 교차점 좌표를, 세그먼트의 파라미터 좌표로 변환하고, 공간 좌표로 변환함으로써 산출한다(스텝 S111). 여기에서는, 도 50에 흰색 동그라미로 표시한 자기 교차점의 좌표로부터, 도 51에 흰색 동그라미로 표시한 바와 같은 파라미터 평면 위의 2개의 좌표 v1 및 v1 *이 특정된다. 또한, 이러한 자기 교차점에 대응하는 경계점 열 위의 2점을 중합점이라고 칭하도록 한다.
구체적으로는, 복비(複比) 보존 법칙을 이용하여 투영면 위의 좌표를 세그먼트의 파라미터 좌표로 변환한다. 즉, 도 52에 도시한 바와 같이, 세그먼트의 양쪽 단부점을 0 및 1로 하는 파라미터 t가 정하는 직선 위의 4점의 복비와, 투영면에 사영된 4점의 복비가 불변하다는 성질을 이용하여, 파라미터 좌표 t로의 변환을 행한다. 또한, 복비의 산출에는 4점을 이용하기 때문에, 통상 1점이 부족하므로 세그먼트의 단부점이나 교점 외에, 예를 들어 세그먼트의 중점 등의 보조 사영점도 이용한다. 이상과 같은 처리에 의해, 기저 곡면을 분할함으로써 얻어진 삼각형 위에 투영면 위의 점을 사영할 수 있다. 이러한 기저 곡면(기저 곡면을 분할함으로써 얻어진 삼각형)으로의 사영을, 이하에서는 곡면 사영이라고 칭하도록 한다.
그 후, 시선 1가 영역 생성부(123)는, 시점으로부터 교점 좌표에 대응하는 2점으로의 3차원 공간 내의 거리를 산출한다(도 46: 스텝 S113). 여기에서는, 스텝 S111에서 구한 중합점의 좌표를 이용하여, 시점으로부터 v1 및 v1 *에의 3차원 공간에서의 거리를 산출한다. 그리고, 시선 1가 영역 생성부(123)는, 투영면 위의 교점에 대응하는 2점을 경계점 열 위에 추가한다. 여기서, 시점으로부터 본 겹침의 전후를 나타내는 식별자를 부여하고(스텝 S115), 후의 중합 면분 취득 순서 설정에 이용할 수 있도록 하여도 된다. 중합점 및 식별자의 데이터는, 예를 들어 도 44에 도시한 구조의 경계점 열 데이터에 추가되고, 데이터 저장부(107)에 저장된다. 대응하는 중합점은, 시점으로부터의 거리를 기초로 경계점 열 데이터의 리스트 구조를 찾아감으로써 특정할 수 있다. 도 51의 예에서는, 대응하는 2개의 중합점 중 시점으로부터 먼 쪽의 점에 「*」가 붙여져 있으며, 도 44에 도시한 데이터 구조에서는, 「시점측 정점」 또는 「반시점측 정점」등의 순서 정보로서 등록된다. 또한, 중합점 등에 의해 분할된 경계점 열의 일부 또는 중합선의 점 열의 일부를, 부분 경계점 열이라고 칭하도록 한다.
그리고, 스텝 S107(도 46)에 있어서 세그먼트가 교차하지 않는다고 판단된 경우, 또는 스텝 S115의 후, 시선 1가 영역 생성부(123)는, 세그먼트의 미처리의 조합이 존재하는지를 판단한다(스텝 S117). 미처리의 조합이 존재하지 않는 경우, 중합점 특정 처리(도 46)를 종료하여 도 45의 사영 중합 다각형 생성 처리로 복귀한다. 한편, 미처리의 조합이 존재하는 경우, 스텝 S105의 처리로 복귀한다. 스텝 S105 내지 스텝 S117의 처리를 반복함으로써, 도 53에 도시한 투영면 위의 교점이 특정되고, 도 54에 도시한 중합점 v1 내지 v4 및 v1 * 내지 v4 *가 추가된다.
여기서, 중합점 특정 처리와 도 44에 도시한 경계점 열 데이터의 데이터 구조의 관계에 대하여 설명해 둔다. 중합점 특정 처리를 실시하기 전의 경계점 열 데이터는, 도 44에 도시한 데이터 항목 중, 솔리드 모델링에서의 정점에 대응하는 중합점 등을 나타내는 정보, 에지에 대응하는 부분 경계점 열을 나타내는 정보, 페이스에 대응하는 면분을 나타내는 정보 등을 갖지 않는다. 이에 대하여, 경계점 열 데이터에서 중합점이 부가되면, 부분 경계점 열 및 면분이 추가된다. 도 55를 이용하여 파라미터 평면 위에 나타내면, 중합점 v1이 부가되면, 파선으로 범위를 나타낸 부분 경계점 열 b1 및 실선으로 둘러싸인 면분 f1이 추가된다. 또한, 부분 경계점 열 b1에는 접속되는 면분 f1이 1개 대응하기 때문에, 위상 정보로서 부분 경계점 열과 면분의 접속 정보가 유지된다. 그리고, 도 56에 도시한 바와 같이, 대응하는 중합점 v1 *이 경계점 열에 더 부가되면, 부분 경계점 열 b1 및 b2의 2개로 분할된다. 이때, 경계점 열 데이터에 있어서, 부분 경계점 열 b1과 면분 f1의 접속 정보는 변경되지 않고, 분할된 부분 경계점 열 b2와 면분 f1의 접속 정보가 추가된다. 이러한 중합점 추가의 위상 처리는, 솔리드 모델링에서의 에지 분할 처리에 상당하며, 당업자에게는 공지된 기술이다.
도 45의 사영 중합 다각형 생성 처리로 되돌아가서, 시선 1가 영역 생성부(123)는, 데이터 저장부(107)에 저장된 표면변 연결체 또는 이면변 연결체의 경계점 열 데이터를 기초로, 처리 대상의 변 연결체에 중합점이 존재하는지를 판단한다(도 45: 스텝 S95). 또한, 중합점이 존재하지 않으면, 처리 대상의 표면변 연결체 또는 이면변 연결체는 시선 1가이다. 중합점이 존재하지 않는 경우, 사영 중합 다각형 생성 처리를 종료하고, 도 33의 시선 1가 영역 생성 처리(후반)로 복귀한다.
한편, 중합점이 존재하는 경우, 시선 1가 영역 생성부(123)는, 데이터 저장부(107)에 저장된 표면변 연결체 또는 이면변 연결체의 데이터로부터, 표리 경계 위의 특이점을 탐색한다(도 45: 스텝 S97). 여기서, 표리 경계선과 중합선이 접하는 점을 특이점(singularity point)이라고 칭하도록 한다. 즉, 특이점이란, 시점으로부터 겹쳐 보이는 표리 경계선 및 중합선 중, 바로 앞에 존재하는 선분과 안 쪽에 존재하는 선분이 1점으로 축퇴한 점이다. 도 57에, 도 27의 기저 곡면 중 표면변 연결체를 투영면 위에 표시한 모식도를 나타낸다. 또한, 해칭이 실시된 영역은 중합면을 나타낸다. 도 57의 예에서는, v13이 특이점이며, v11 및 v11 *이 중합점이다. 또한, 도 57은 도 58과 같이 파라미터 평면 위에 나타낼 수 있으며, 경계점 열 v11v12v13v11 *과, 중합선 v11 *v12 *v13v11이, v13의 1점에서 접해 있다.
이어서, 특이점을 특정하기 위한 처리에 대하여 설명한다. 우선, 특이점에서는, 표리 경계 위의 1 정점으로부터 이 1 정점에 인접하는 2개의 정점에 이르는 벡터와 시선 벡터가 형성하는 2개의 평면의 각각이, 이 표리 경계 위의 1 정점을 포함하여 인접하는 2 정점을 포함하지 않는 삼각형과 교차한다. 스텝 S97에서는, 표리 경계 위의 점 열을 주사하고, 이러한 조건을 만족하는 점을 탐색한다.
여기서, 특이점에 관한 조건에 대하여 도 59a 내지 도 59c를 이용하여 설명한다. 도 59a 내지 도 59c에 있어서, P1, P2, P3, P11, P12 및 P13은, 기저 곡면을 분할함으로써 생성된 삼각형의 정점을 표시한다. 또한, P1, P2 및 P3은 표리 경계 위의 점이며, P11, P12 및 P13은 변 연결체 내부의 점이다. 또한, 해칭이 실시된 삼각형 X1 및 X2는, 표리 경계 위의 1점 P2를 포함하고, P2에 인접하는 2점 P1 및 P3을 포함하지 않는 삼각형이다. 또한, 점 Q는 시점을 표시한다.
스텝 S97(도 45)에서는, 표리 경계 위의 점 열을 주사하여 특이점을 탐색한다. 도 59a에서는, 굵은 선으로 표시된 표리 경계선 위의 점 P1, P2 및 P3이 전술한 조건을 만족하는지를 판단한다. P2가 처리 대상일 때, 우선, 도 59b에 도시한 바와 같이, 시점 Q로부터 점 P2로의 벡터와 P2로부터 인접하는 점 P1로의 벡터가 형성하는 제1 평면이, 삼각형 X1 또는 X2와 교차하는지를 판단한다. 여기에서는, 교선 1801에서 교차하는 것으로 한다. 또한, 도 59c에 도시한 바와 같이, 시점 Q로부터 점 P2로의 벡터와, P2로부터 인접하는 점 P3으로의 벡터가 형성하는 제2 평면이, 삼각형 X1 또는 X2와 교차하는지 판단한다. 여기에서는, 교선 1802에서 교차하는 것으로 한다. 이와 같이, 2개의 평면이 각각 조건을 만족시키는 경우, 점 P2는 특이점이라고 판단된다. 또한, 도 59a 내지 도 59c는, 예를 들어 도 57 및 도 58에서의 점 v13 주변을 확대한 것에 상당하며, 도 59a 내지 도 59c의 점 P2는 도 57 및 도 58의 점 v13에 상당한다.
또한, 표면변 연결체의 내측에 이면변 연결체가 존재하는 도 28에 도시된 바와 같은 경우에도, 도 59a 내지 도 59c를 이용하여 설명한 조건에 기초하여 특이점을 탐색할 수 있다. 또한, 중심부에 상방으로 볼록한 형상을 갖는 경우의 도 60에 도시한 바와 같이, 특정된 특이점은, 표리 경계선과 중합선(굵은 실선)의 접점이다. 또한, 데이터 저장부(107)에 저장된 경계점 열 데이터에 대하여 특이점인 것을 나타내는 식별자를 부여한다. 그리고, 특이점에 의해, 부분 경계점 열은 2개의 부분 경계점 열로 더 분할되는 것으로 한다. 또한, 이 특이점 추가의 위상 처리는 솔리드 모델링에서의 에지 분할 처리에 상당하며, 당업자에게는 공지된 기술이다.
그 후, 시선 1가 영역 생성부(123)는, 중합 면분 특정 처리를 실시한다(도 45: 스텝 S99). 이 중합 면분 특정 처리에 의해 도 61의 처리 플로우로 진행한다. 그 처리에 대해서는, 도 61 내지 도 67을 이용하여 설명한다.
중합 면분 특정 처리에서는, 중합점 또는 특이점으로부터 경계점 열을 주사하여, 표면변 연결체 또는 이면변 연결체의 내부에 사영되는 중합선을 특정하고, 이 중합선에 의해 변 연결체를 분할한다. 그리고, 분할된 면분 중 투영면 위에서 겹치는 중합 면분에 대하여 대응 관계를 등록한다.
도 61에 중합 면분 특정 처리의 처리 플로우를 나타낸다. 우선, 시선 1가 영역 생성부(123)는, 데이터 저장부(107)에 저장된 경계점 열 데이터로부터 중합점 또는 특이점을 단부점으로 하는 미처리의 세그먼트를 1개 취득한다(도 61: 스텝 S121). 도 62에 도시한 예에서는, 중합점 v1을 단부점으로 하는 세그먼트 v1x가 취득된 것으로 한다. 그리고, 시선 1가 영역 생성부(123)는, 취득한 세그먼트가 예를 들어 투영면 위에서 표면변 연결체 또는 이면변 연결체의 내부에 사영되는지를 판단한다(스텝 S123). 여기에서는, 세그먼트의 일단부인 중합점 또는 특이점과는 반대측의 단부점이, 투영면에 있어서 표면변 연결체 또는 이면변 연결체의 내부에 사영되는지를 판정한다. 구체적으로는, 도 63에 도시한 바와 같이, 투영면에 사영된 표리 경계점 v1 및 v2와, 곡면 경계점 w1 및 w2와, 자기 교차점 x와, 표면변 연결체의 법선 벡터 n을 이용하여, 이하에 표현하는 수학식 1의 값이 정이면, v2가 표면변 연결체의 내부에 존재한다고 판단한다.
Figure 112013048730796-pct00001
변 연결체 내부로 사영되지 않는 경우, 처리는 스텝 S135(도 61)로 이행한다. 한편, 변 연결체 내부로 사영되는 경우, 시선 1가 영역 생성부(123)는, 처리 대상인 세그먼트의 곡면 사영을 행한다(스텝 S124). 도 62를 이용하여 파라미터 평면 위에 표시하면, 스텝 S124에서, 세그먼트 v1x는 중합선 v1 *x*로서 변 연결체 내부로 사영된다. 그리고, 시선 1가 영역 생성부(123)는, 사영된 중합선이 다른 중합선과 교차하는지를 판단한다(스텝 S125). 도 62의 예에서는, 다른 중합선과는 교차하지 않는다고 판단된다. 교차하지 않는 경우, 스텝 S129의 처리로 이행한다. 한편, 교차하는 경우, 시선 1가 영역 생성부(123)는, 데이터 저장부(107)에 저장된 경계점 열 데이터에서 중합선의 점 열의 교점에 중합점을 추가하고, 이 중합점으로 중합선을 분할한다(스텝 S127).
여기서, 예를 들어 도 64에 도시한 바와 같이, 중합선끼리가 교차하는 경우가 있다. 도 64의 예에서는, 이미 중합선… p25p26p27p28…이 사영되어 있어, 새롭게 중합선 v21p21p22p23p24가 사영된 것으로 한다. 그 후, 중합선 p23p24가 사영되고, 스텝 S125에서 교차 판정이 행해지면, 이미 존재하는 중합선과 교차하였다고 판단된다. 그리고, 스텝 S127(도 61)에 있어서, 데이터 저장부(107)의 경계점 열 데이터에서 중합선의 부분 경계점 열에 교점 q21이 추가됨과 함께, 부분 경계점 열은… p25p26q21, q21p27p28… 및 v21p21p22p23q21로 더 분할된다. 또한, 그 후에 사영되는 q21p24p25v22도 부분 경계점 열로서 데이터 저장부(107)의 경계점 열 데이터에 등록된다. 또한, f1 내지 f4는, 부분 경계점 열에 의해 분할된 면분을 표시하고 있으며, 이러한 면분의 데이터도 후의 처리에서 등록된다.
스텝 S125(도 61)에서 다른 중합선과 교차하지 않는다고 판단된 경우, 또는 스텝 S127의 후, 시선 1가 영역 생성부(123)는, 처리 대상의 세그먼트가 다른 중합점 또는 특이점에 도달하였는지를 판단한다(스텝 S129). 여기에서는, 스텝 S121에서 취득된 세그먼트의 중합점 또는 특이점을 기점으로 하여, 여기까지의 처리에서 기저 곡면에 사영된 세그먼트의 타단부가 중합점 또는 특이점인지를 판단한다. 구체적으로는, 데이터 저장부(107)에 저장되어 있는 경계점 열 데이터를 참조하고, 세그먼트의 타단부를 나타내는 점에 중합점 및 특이점을 나타내는 식별자가 등록되어 있는지를 판단한다.
중합점 또는 특이점에 도달하고 있지 않은 경우, 시선 1가 영역 생성부(123)는, 스텝 S121(도 61)에서 취득된 세그먼트의 중합점 또는 특이점을 기점으로 하여, 여기까지의 처리에서 사영된 세그먼트의 타단부에 인접하는 세그먼트의 곡면 사영을 행한다(스텝 S131). 그 후, 처리는 스텝 S124로 복귀한다. 도 62의 예에서는, 스텝 S129에 있어서, 처음에 취득된 세그먼트 v1x의 단부점 x는 중합점 또는 특이점이 아니라고 판단되고, 스텝 S131에서 인접하는 세그먼트 xv2가 취득된 후, 스텝 S124에서 중합선 x*v2 *가 사영된다.
한편, 중합점 또는 특이점에 도달한 경우, 시선 1가 영역 생성부(123)는, 중합선 및 중합 면분을 나타내는 데이터를, 표면변 연결체 또는 이면변 연결체를 형성하는 면분으로서 데이터 저장부(107)에 등록한다(도 61: 스텝 S133). 도 62의 예에서는, 세그먼트 xv2가 사영된 후, 스텝 S129에서 중합점 v2에 도달하였다고 판단되고, 스텝 S133에서 중합선을 나타내는 부분 경계점 열 및 부분 경계점 열에 의해 표현되는 면분의 데이터가 등록된다.
또한, 생성된 중합선은 변 연결체를 형성하는 면분을 분할하고, 2개의 면분으로의 접속 정보를 갖는다. 또한, 부분 경계점 열은 방향이 동조(同調)하도록 유지되고, 면분을 형성한다. 중합선을 추가하는 위상 처리는, 솔리드 모델링에서의 페이스 분할 처리에 상당하며, 당업자에게는 공지된 기술이다.
그 후, 시선 1가 영역 생성부(123)는, 중합점 또는 특이점을 단부점으로 하는 미처리의 세그먼트가 존재하는지를 판단한다(도 61: 스텝 S135). 존재하는 경우, 스텝 S121의 처리로 복귀한다. 한편, 미처리의 세그먼트가 존재하지 않는 경우, 시선 1가 영역 생성부(123)는, 데이터 저장부(107)에 저장된 경계점 열 데이터를 기초로 대응하는 중합 면분을 특정하고, 경계점 열 데이터에 면분 사이의 대응을 나타내는 데이터를 등록한다(스텝 S137). 전술한 바와 같이, 중합점에는, 대응하는 중합점 및 시점으로부터 보았을 때의 전후 관계를 나타내는 순서 정보가 등록되어 있다. 구체적으로는, 도 44에 도시한 바와 같이, v1에는 반시점측 정점으로서 v1 *이 등록되어 있으며, v1 *에는 시점측 정점으로서 v1이 등록되어 있다. 마찬가지로, v2 및 v2 *, v3 및 v3 *, v4 및 v4 *, x 및 x* 등의 대응 관계도 등록되어 있다. 중합점의 대응 관계를 알면, 대응하는 중합점을 포함하는 부분 경계점 열끼리가 대응한다고 판단할 수 있고, 대응하는 부분 경계점 열에 의해 둘러싸인 면분끼리도 대응한다고 판단할 수 있다. 스텝 S137에서는, 부분 경계점 열 사이 및 면분 사이의 대응 관계가 특정되고, 부분 경계점 열의 순서 정보 및 면분의 순서 정보로서 데이터 저장부(107)에 등록된다.
도 62의 예에 대하여 스텝 S121 내지 스텝 S135(도 61)의 처리를 반복함으로써, 최종적으로는 도 65a에 도시한 바와 같은 중합선이 추가되어, 처리 대상의 표면변 연결체는 면분 f1 내지 f5로 분할된다. 또한, 스텝 S137에서는, 부분 경계점 열 b1 및 중합선 v1 *v2 *, 부분 경계점 열 b4 및 중합선 v2v3, 부분 경계점 열 b5 및 중합선 v3 *v4 * 및 부분 경계점 열 b8 및 중합선 v4v1을 형성하는 점의 순서 정보로부터, 도 65a에서 일점쇄선의 화살표로 나타낸 점 열의 대응 관계를 알기 위해서, 이들 점 열로 둘러싸인 면분 f2 및 면분 f5가 대응하는 중합 면분이라고 특정된다. 이상의 처리에 의해, 면분의 위상 정보 및 중합 면분의 대응 관계가 등록된다. 또한, 중합선으로 분할된 면분은 각각이 시선 1가이다. 도 65a의 표면변 연결체를 투영면 위에 표시한 예를 도 65b에 나타내었다.
여기서, 중합선과 중합선이 교차하는 경우에 대하여 보충한다. 예를 들어, 도 66에 도시한 표면변 연결체에는, 대응하는 3개의 중합 면분이 존재하고 있다. 이러한 변 연결체이더라도, 전술한 중합점 특정 처리 및 중합 면분 특정 처리에 의해 면분을 분할할 수 있다. 또한, 이러한 면분에 대해서도, 시점측 및 반시점측의 면분이 등록되어, 리스트 구조를 찾아감으로써 중합 면분을 특정할 수 있다.
또한, 중합 면분의 수는, 사영 경계점 열로 표시된 면분 위의 점에 대한 사영 경계점 열의 회전수(rotation number)를 이용하여 계산할 수 있다. 회전수란, 폐곡선 C(t)를 파라미터를 따라 1주할 때, 어떤 점 p의 주위를 정 방향으로 회전하는 수를 말하는 것으로 한다. 여기서, 회전수는 대응하는 면분의 수를 나타낸다. 즉, 도 66에서 회전수가 1인 면분은, 이 밖에 중합 면분이 존재하지 않는 것을 의미하고, 회전수가 2인 면분은, 이 밖에 1개의 중합 면분이 존재하는 것을 의미한다. 도 67에서는, 반시계 방향을 정방향으로 하면, 점 p1, p2 및 p3의 주위의 회전수는 각각 +1, -1 및 0이다. 또한, 투영면 위의 자기 교차점의 주위에 존재하면서 회전수의 부호가 서로 다른 사영 경계점 열은, 표면변 연결체 또는 이면변 연결체의 경계가 아니라고 판단할 수 있다.
스텝 S137(도 61)의 후, 중합 면분 특정 처리를 종료하여 도 45의 사영 중합 다각형 생성 처리로 되돌아가서, 나아가 사영 중합 다각형 생성 처리를 종료하고 도 33의 시선 1가 영역 생성 처리(후반)로 복귀한다. 그리고, 시선 1가 영역 생성부(123)는, 시선 1가 영역 확정 처리를 실시한다(도 33: 스텝 S79). 여기서는 도 68a로 진행하지만, 이 시선 1가 영역 확정 처리에 대해서는, 도 68a 내지 도 70을 이용하여 설명한다.
시선 1가 영역 확정 처리는, 실제로 표시하는 시선 1가 영역을 확정하는 처리이다. 가장 단순한 시선 1가 영역 확정법은, 특정한 면분을 시선 1가 영역으로 하는 방법이다. 단순한 시선 1가 영역 확정 처리의 수순을 도 68b에 나타내었다.
도 68b의 시선 1가 영역 확정 처리에서는, 시선 1가 영역 생성부(123)는, 데이터 저장부(107)로부터 미처리의 면분을 1개 추출하고, 이 면분에 대하여 시선 1가 영역인 것을 나타내는 데이터를 등록한다(도 68b: 스텝 S191). 그리고, 시선 1가 영역 생성부(123)는, 데이터 저장부(107)에 미처리의 면분이 존재하는지를 판단하고(스텝 S193), 존재하는 경우, 스텝 S191의 처리로 복귀한다. 한편, 존재하지 않는 경우, 시선 1가 영역 확정 처리를 종료하고 도 33의 시선 1가 영역 생성 처리(후반)로 복귀한다. 이와 같이, 각 면분을 시선 1가 영역으로서 확정시켜도 문제없다.
그러나, 예를 들어 도 65b를 관찰하면 면분 f1, f2, f3을 1개의 시선 1가 영역으로서도 문제없다는 것을 알 수 있다. 위상 연산은 고속 처리가 가능하기 때문에, 분할된 면분을 결합하여 처리의 효율화를 도모할 수도 있다. 시선 1가 영역 생성 처리에서는, 중합 면분 특정 처리에서 분할된 면분을 기초로, 접속하여도 전체가 시선 1가로 되는 인접한 면분끼리를 접속한다. 즉, 1개의 시선 1가 영역이 보다 넓어지도록, 분할된 면분을 다시 접속한다. 이하 이 처리를 행하는 방법을 설명한다.
우선, 시선 1가 영역 생성부(123)는, 데이터 저장부(107)에 저장된 경계점 열 데이터를 취득하고, 표면변 연결체 또는 이면변 연결체가 중합 면분을 포함하고 있는지를 판단한다(도 68a: 스텝 S141). 구체적으로는, 경계점 열 데이터에서, 대응하는 시점 측면분 또는 반시점 측면분의 등록이 있는지의 여부에 따라 판단할 수 있다. 예를 들어 도 65a의 표면변 연속체는, 대응하는 면분 f2 및 면분 f5를 포함하는 것으로 판단된다. 중합 면분이 존재하지 않는 경우, 시선 1가 영역 생성부(123)는, 예를 들어 표면변 연결체 또는 이면변 연결체가 시선 1가 영역인 것을 나타내는 데이터를 데이터 저장부(107)에 저장한다(스텝 S157). 예를 들어, 경계점 열 데이터에서 변 연결체의 데이터에 대하여 시선 1가인 것이 확정된 것을 나타내는 플래그를 설정하여도 되고, 후의 처리에서 변 연결체의 데이터가 면분으로 분할되어 있지 않은 경우에는 전체가 시선 1가인 것으로 취급하도록 하여 여기에서는 특별한 데이터를 등록하지 않아도 된다. 그 후, 시선 1가 영역 확정 처리를 종료하고, 도 33의 시선 1가 영역 생성 처리(후반)로 복귀한다.
한편, 스텝 S141(도 68a)에서 중합 면분이 존재한다고 판단된 경우, 시선 1가 영역 생성부(123)는, 각 면분을 초기적으로 가상의 시선 1가 영역으로서 데이터 저장부(107)에 등록한다(스텝 S143). 예를 들어, 경계점 열 데이터의 변 연결체에 포함되는 면분의 데이터에 대하여 시선 1가인 것을 나타내는 플래그를 설정하여도 되고, 후의 처리에서 각 면분이 시선 1가인 것으로 취급하도록 하여 여기에서는 특별한 데이터를 등록하지 않아도 된다. 도 65a에 도시한 예에서는, 예를 들어 면분 f1 내지 f5에 대하여 각각 시선 1가 영역인 것을 나타내는 데이터가 등록된다. 그리고, 시선 1가 영역 생성부(123)는, 데이터 저장부(107)의 경계점 열 데이터로부터 미처리의 중합 면분을 1개 취득한다(스텝 S145). 여기에서는, 예를 들어 대응하는 면분이 순서 정보에 등록되어 있는 중합 면분으로서, 이 중합 면분 및 대응하는 면분(대응하는 면분이 복수 존재하는 경우에는, 대응하는 면분 중 적어도 1개)이 모두 미처리라고 하는 조건을 만족하는 중합 면분을 1개 취득한다. 또한, 취득된 중합 면분에 대응하는 면분을, 편의상 카운터파트라고 칭하도록 한다. 여기에서는, 도 65a의 표면변 연결체로부터, 면분 f5가 취득되고, 취득된 면분의 순서 정보로부터 면분 f2가 카운터파트로서 특정되는 것으로 한다.
그 후, 시선 1가 영역 생성부(123)는, 처리 대상의 면분 X에 인접하는 미처리의 면분을 1개 취득한다(도 68a: 스텝 S147). 구체적으로는, 처리 대상의 면분 X와 변(부분 경계점 열)을 공유하는 미처리의 면분이 취득된다. 여기에서는, 도 65a의 면분 f4가 취득된 것으로 한다. 그리고, 시선 1가 영역 생성부(123)는, 이 면분 X에 인접하는 면분과 면분 X의 카운터파트가 인접하는지를 판단한다(스텝 S149). 여기에서는, 인접하는 면분과 카운터파트가 변을 공유하는지를 판단한다. 인접하는 면분과 카운터파트가 인접하는 경우, 처리는 스텝 S153으로 이행한다. 또한, 도 65a의 예에서는, 면분 f5에 인접하는 면분 f4와 면분 f5의 카운터파트 f2는 변을 공유하고 있지 않아, 인접하지 않는다고 판단된다. 인접하는 면분과 카운터파트가 인접하지 않는 경우, 시선 1가 영역 생성부(123)는, 인접하는 면분을 처리 대상의 면분에 결합한다(스텝 S151). 여기에서는, 도 69에 도시한 바와 같이, 면분 f4 및 면분 f5를 1개의 면분에 결합한다. 또한, 이 후의 처리에서는, 결합된 면분 f4 및 면분 f5를 처리 대상의 면분인 것으로 하여 취급한다.
스텝 S149(도 68a)에서 인접하는 면분과 카운터파트가 인접하지 않는다고 판단된 경우, 또는 스텝 S151의 후, 시선 1가 영역 생성부(123)는, 데이터 저장부(107)의 경계점 열 데이터에서, 처리 대상의 면분에 인접하는 미처리의 면분이 존재하는지를 판단한다(스텝 S153). 미처리의 면분이 존재하는 경우, 처리는 스텝 S147로 복귀한다. 도 69의 예에서는, 면분 f1이 미처리의 인접하는 면분이다. 면분 f1은, 스텝 S147에서 취득되고, 그 후의 스텝 S149에서는 면분 f5의 카운터파트 f2에 인접한다고 판단되어, 다시 스텝 S153으로 이행한다.
한편, 스텝 S153(도 68a)에서 인접하는 미처리의 면분이 존재하지 않는다고 판단된 경우, 시선 1가 영역 생성부(123)는, 데이터 저장부(107)의 경계점 열 데이터에서, 미처리의 중합 면분이 존재하는지를 판단한다(스텝 S155). 또한, 처리 대상이었던 면분은 처리 완료로 하고, 이 면분을 1개의 시선 1가 영역으로서 확정시킨다. 스텝 S155에서는, 스텝 S145와 마찬가지로, 미처리의 중합 면분으로서, 카운터파트 중 적어도 1개가 미처리라고 하는 조건을 만족하는 것이 존재하는지를 판단한다. 미처리의 중합 면분이 존재하는 경우, 처리는 스텝 S145로 복귀한다.
한편, 미처리의 중합 면분이 존재하지 않는 경우, 시선 1가 영역 생성부(123)는, 미처리의 면분 중 인접하는 면분을 결합한다(스텝 S156). 예를 들어, 도 70에 도시한 바와 같이, 남은 가상의 시선 1가 영역인 면분 f1, f2 및 f3을 1개의 시선 1가 영역으로서 결합한다. 그 후, 시선 1가 영역 확정 처리를 종료하여 도 33의 처리로 복귀한다.
시선 1가 영역 확정 처리에서는, 대응하는 복수의 중합 면분이 1개의 시선 1가 영역에 포함되지 않도록 결합되면 된다. 따라서, 스텝 S149에서 인접하는 면분 자체가 카운터파트가 아니면, 스텝 S151에서 처리 대상의 면분에 결합하도록 하여도 된다. 또한, 중합 면분 특정 처리에서 분할된 면분은 각각이 시선 1가이기 때문에, 시선 1가 영역 확정 처리를 실시하지 않고 각 면분을 시선 1가 영역으로서 취급하도록 하여도 된다. 또한, 스텝 S145에서 중합 면분을 취득하는 순서는 임의이지만, 예를 들어 시점에 가까운 순서로 취득하여도 된다. 또한, 이들 내부적인 처리는, 솔리드 모델링에서 빈번히 행해지는 것으로, 당업자에게는 공지된 사실이다.
도 33의 시선 1가 영역 생성 처리(후반)로 되돌아가서, 시선 1가 영역 생성부(123)는, 데이터 저장부(107)에서 미처리의 표면변 연결체 또는 이면변 연결체가 존재하는지를 판단한다(스텝 S81). 미처리의 표면변 연결체 또는 이면변 연결체가 존재하는 경우, 처리는 스텝 S75로 복귀한다. 한편, 미처리의 표면변 연결체 또는 이면변 연결체가 존재하지 않는 경우, 시선 1가 영역 생성 처리를 종료하여 도 31의 처리로 복귀한다.
도 31의 처리로 되돌아가서, 마스크 생성부(113)는, 데이터 저장부(107)에 저장되어 있는 미처리의 시선 1가 영역을 1개 취득한다(스텝 S57). 본 스텝의 처리는, 스텝 S7과 마찬가지이다. 또한, 기저 곡면 전체가 시선 1가 영역인 경우에는, 기저 곡면 전체가 취득된다. 또한, 마스크 생성부(113)는, 데이터 저장부(107)로부터 루프 다각형의 데이터도 취득해 둔다. 여기에서는, 시선 1가 영역으로서 도 70의 면분 f4 및 f5가 취득된 것으로 한다. 또한, 전술한 바와 같이, 도 30에 도시한 기저 곡면은 전체가 트림 면이기 때문에, 기저 곡면의 외형을 근사한 외부 루프 다각형의 데이터가 취득된다. 또한, 본 실시 형태의 설명에 이용한 예에서는 내부 루프 다각형은 존재하지 않는다. 그리고, 마스크 생성부(113)는, 마스크 데이터 생성 처리를 실시한다(스텝 S59). 이 마스크 데이터 생성 처리에 대해서는, 도 71 및 도 72를 이용하여 설명한다.
도 71에 마스크 데이터 생성 처리의 처리 플로우를 나타내었다. 우선, 마스크 생성부(113)는, 취득한 시선 1가 영역 및 루프 다각형의 좌표를 스크린 좌표로 변환하고, 변환 후의 좌표를 데이터 저장부(107)에 저장한다(도 71: 스텝 S161). 본 스텝의 처리는, 스텝 S31(도 10)과 마찬가지이다. 본 실시 형태에서도 스크린 좌표계를 이용하는 것으로서 설명한다. 본 스텝에서는, 도 70의 면분 f4 및 f5가 처리 대상의 시선 1가 영역인 경우, 도 72와 같이 스크린 좌표 위로 변환된다. 도 72에서는, 파선으로 면분 f1 내지 f3도 나타낸다.
이어서, 마스크 생성부(113)는, 데이터 저장부(107)에 저장되어 있는 시선 1가 영역 및 루프 다각형의 데이터를 이용하여, 루프 집합적을 생성하고, 데이터 저장부(107)에 저장한다(스텝 S163). 본 스텝의 처리는, 스텝 S33(도 10)과 마찬가지이다. 본 스텝에서는, 처리 대상의 시선 1가 영역에 대하여 도 72에 도시한 것과 마찬가지의 형상의 외부 루프 집합적이 얻어진다.
또한, 시선 1가 영역 및 루프 다각형의 경계점 열 데이터를 이용하여, 전술한 합차적의 종류에 따라 교차에 의한 절단편을 선택하는 다각형 집합 연산(Polygon Clipping)보다 고속의 집합 연산이 가능하게 된다. 예를 들어, 루프 다각형과 시선 1가 영역의 경계가 교차하지 않는 경우로서, 루프 다각형이 시선 1가 영역에 내포되어 있을 때는, 루프 다각형이 루프 집합적이며, 내포되어 있지 않을 때에는, 루프 집합적은 존재하지 않는다. 그리고, 루프 다각형과 시선 1가 영역의 경계가 교차하는 경우, 루프 다각형은 곡면 경계에서는 시선 1가 영역 경계와 교차하지 않으며, 표리 경계선 위 또는 중합선 위에서 교차한다. 이러한 때도, 시선 1가 영역의 경계점 열의 방향과, 루프 다각형의 경계점 열의 방향을 모순 없이 선택함(동조시킴)으로써, 상기의 다각형 집합 연산(Polygon Clipping)보다 고속으로 루프 집합적을 계산할 수 있다.
그리고, 마스크 생성부(113)는, 마스크 데이터 저장부(115)의 마스크 데이터를 초기화한다(도 71: 스텝 S165). 본 스텝의 처리는, 스텝 S35와 마찬가지로서, 마스크 데이터 전체를 ON으로 초기화해 둔다. 또한, 마스크 생성부(113)는, 데이터 저장부(107)에 저장된 외부 루프 집합적의 데이터를 이용하여, 외부 루프 집합적의 내부에 상당하는 마스크 데이터를 OFF로 설정한다(스텝 S167). 단, 스텝 S65(도 32)에서 기저 곡면 전체를 시선 1가 영역으로 설정하면서, 트림 면과 기저 곡면의 경계가 일치하고 있어, 예를 들어 간이 판정 처리에서 시선 1가라는 결과를 얻은 경우에는, 화면 전체의 마스크 데이터를 OFF로 설정하여도 되고, 마스크를 사용하지 않고 화면 전체를 표시하도록 하여도 된다. 본 스텝의 처리는, 스텝 S37(도 10)과 마찬가지로서, 도 72의 외부 루프 집합적의 내부에 상당하는 영역의 마스크 데이터가 OFF로 설정된다.
그 후, 마스크 생성부(113)는, 데이터 저장부(107)에 저장된 내부 루프 집합적의 데이터를 이용하여, 내부 루프 집합적의 내부에 상당하는 마스크 데이터를 ON으로 설정한다(도 71: 스텝 S169). 본 스텝의 처리는, 스텝 S39(도 10)와 마찬가지이다. 본 실시예에서는 내부 루프가 존재하지 않기 때문에, 본 스텝에서 ON으로 설정되는 영역은 존재하지 않는다. 그리고, 마스크 생성부(113)는, 미처리의 내부 루프 집합적이 존재하는지를 판단하고(스텝 S171), 존재하는 경우에는 스텝 S169의 처리로 복귀한다. 내부 루프가 존재하는 경우에는, 내부 루프의 수만큼 스텝 S169가 반복된다. 한편, 미처리의 내부 루프 집합적이 존재하지 않는 경우, 마스크 데이터 생성 처리를 종료하여 도 31의 처리로 되돌아가서, 단자 C를 개재하여 도 73의 처리로 이행한다.
그 후, 화상 데이터 생성부(117)는, 데이터 저장부(107)로부터, 기저 곡면을 분할함으로써 생성된 삼각형 데이터 중 시선 1가 영역에 포함되는 미처리의 데이터를 1개 취득한다(도 73: 스텝 S181). 본 스텝의 처리는, 스텝 S21(도 21)과 마찬가지이다. 그리고, 화상 데이터 생성부(117)는, 이 삼각형의 화상 데이터를 생성하고, 데이터 저장부(107)에 저장한다(스텝 S183). 여기에서는, 기저 곡면을 분할함으로써 생성되고, 데이터 저장부(107)에 저장되어 있는 삼각형 데이터와 표시 조건 저장부(103)에 저장되어 있는 시점 데이터 및 조명 데이터를 이용하여, 화상 데이터를 생성한다. 본 스텝의 처리는, 스텝 S23(도 21)과 마찬가지이다.
그 후, 묘화 처리부(119)는, 데이터 저장부(107)에 저장된 화상 데이터와 마스크 데이터 저장부(115)에 저장된 마스크 데이터를 이용하여 프레임 버퍼로의 묘화 처리를 행한다(도 73: 스텝 S185). 여기에서는, 마스크 데이터가 OFF인 화소에 대하여 이 화소에 대하여 유지되어 있는 Z 버퍼의 값과 Z값을 비교하여, Z값 쪽이 시점측에 가까운 경우, 이 화소의 색 정보로 프레임 버퍼를 갱신한다. 또한, 이 Z값으로 Z 버퍼를 갱신한다. 한편, 마스크 데이터가 ON인 화소에 대해서는 묘화를 행하지 않는다. 본 스텝의 처리는, 스텝 S25(도 21)와 마찬가지이다.
그 후, 화상 데이터 생성부(117)는, 시선 1가 영역 내의 삼각형에 대하여 미처리의 것이 존재하는지를 판단하고(도 73: 스텝 S187), 미처리의 삼각형이 있으면, 스텝 S181의 처리로 복귀한다. 한편, 미처리의 삼각형이 존재하지 않는 경우, 마스크 생성부(113)는, 미처리의 시선 1가 영역이 존재하는지를 판단하고(스텝 S189), 미처리의 시선 1가 영역이 있으면, 단자 D를 개재하여 스텝 S57(도 31)의 처리로 복귀한다. 한편, 미처리의 시선 1가 영역이 존재하지 않는 경우, 처리를 종료한다.
이상의 처리에 의해, 1개의 트림 면이 묘화된다. 본 실시 형태에서는, 도 72의 시선 1가 영역에 대하여 묘화 처리를 행한 후, 단자 D를 개재하여 스텝 S57의 처리로 복귀한다. 그리고, 도 70의 면분 f1, f2 및 f3을 결합한 시선 1가 영역에 대하여, 도 74에 도시한 바와 같이 묘화 처리를 행한다. 또한, 예를 들어 Z 버퍼를 이용한 은면 소거에 의해, 최종적으로는 면분 f5가 표시되고, 면분 f2는 표시되지 않는다.
또한, 본 실시 형태에서는, 대응하는 중합면이 서로 다른 시선 1가 영역에 속하도록 면분을 분할하기 때문에, 각각을 적절하게 묘화할 수 있다. 본 실시 형태에서는 기저 곡면 전체가 트림 면인 것으로 하였지만, 예를 들어 트림 면 중 면분 f5에 상당하는 부분에 외부 루프 또는 내부 루프가 존재하는 경우이더라도, 면분 f5와 면분 f2가 서로 다른 시선 1가 영역에 속하고 각각에 대하여 마스크가 생성되기 때문에, 외부 루프의 외측 또는 내부 루프의 내측에는 안 쪽의 면분 f2가 묘화되게 된다.
또한, 시선 1가 영역 확정 처리에 있어서 보다 큰 시선 1가 영역을 생성하기 위해서, 종래와 같이 기저 곡면을 분할함으로써 얻어진 삼각형마다 루프 다각형과의 교점을 구하는 경우보다도 교차 계산의 양이 적어져서, 처리 부하가 경감된다.
[시선 1가 간이 판정 처리]
실시 형태 2에서 설명을 보류한 시선 1가 간이 판정 처리(도 32: 스텝 S61)에 대하여, 도 75 내지 도 87을 이용하여 여기에서 설명한다. 시선 1가 간이 판정 처리에서는, 기저 곡면 전체가 시선 1가가 보증되는 영역을 기저 곡면마다 미리 계산해 둔다. 그리고, 이 영역에 시점의 위치가 속하는 것인지의 여부에 따라, 기저 곡면 전체가 시선 1가인지의 여부를 판단한다. 또한, 상기의 기저 곡면 전체가 시선 1가인 것이 보증되는 시점의 좌표의 집합인 입체를, 이하에서는 시선 1가 확정 볼륨(sight-line single-valuedness definite volume)이라고 칭하도록 한다.
예를 들어 공업적으로 이용되는 트림 면을 나타내기 위한 기저 곡면에는, 시선 1가 확정 볼륨이 존재하는 경우가 많으며, 일반적으로 시점이 시선 1가 확정 볼륨에 포함되는 경우도 많다. 따라서, 시선 1가 간이 판정 처리는 표시 속도를 향상시키기 위해 유효하다. 또한, 예를 들어 도 75에 도시한 기저 곡면과 같이, 시선 1가 확정 볼륨이 존재하지 않는 기저 곡면도 있다.
시선 1가 간이 판정 처리의 처리 내용에 대하여, 도 76을 이용하여 설명한다. 우선, 시선 1가 영역 생성부(123)는, 처리 대상의 기저 곡면에 대하여 이번이 첫회의 처리인지를 판단한다(도 76: 스텝 S201). 여기에서는, 예를 들어 처리 대상의 기저 곡면에 대응지어진 시선 1가 확정 볼륨이 데이터 저장부(107)에 저장되어 있는지를 판단한다. 첫회의 처리가 아닌 경우, 처리는 스텝 S205로 이행한다. 한편, 첫회의 처리인 경우, 간이 판정 전처리부(121)는, 확정 볼륨 생성 처리를 실시한다(스텝 S203). 확정 볼륨 생성 처리에 대해서는, 도 77 내지 도 86을 이용하여 설명한다. 또한, 본 실시 형태에서는 첫회 판정 방식을 채용하고 있지만, 예를 들어 CAD 시스템 등의 별도의 공정에서 확정 볼륨 생성 처리를 행하여도 된다.
도 77에 확정 볼륨 생성 처리의 처리 플로우를 나타내었다. 우선, 간이 판정 전처리부(121)는, 데이터 저장부(107)에 저장되어 있는 처리 대상인 기저 곡면의 데이터를 삼각형 분할하고, 격자점의 데이터를 데이터 저장부(107)에 일시적으로 유지시켜 둔다(도 77: 스텝 S211). 여기에서는, 예를 들어 소정의 상세도에 기초하여 격자 대각 삼각형으로 분할한다. 또한, 삼각형 분할은 스텝 S1(도 3) 및 스텝 S51(도 31)과 마찬가지의 처리이다. 또한, 본 실시예에서는 삼각형 분할 방식을 채용하고 있지만, 곡면식으로부터 직접 계산하는 방식을 채용하여도 된다.
이어서, 간이 판정 전처리부(121)는, 데이터 저장부(107)에 유지되어 있는 격자점의 데이터를 이용하여, 기저 곡면이 평면인지를 판단한다(도 77: 스텝 S213). 여기에서는, 예를 들어 격자의 네 코너 중 3점으로부터 정해지는 평면 위에 다른 1점이 존재하는지를 판단한다. 또한, 네 코너의 점 이외를 이용하거나, 5점 이상을 이용하여 판단할 수도 있다. 기저 곡면이 평면이라고 판단된 경우, 간이 판정 전처리부(121)는, 이 기저 곡면이 포함되는 평면의 데이터를 특정하고, 플래그 「평면」이라고 평면을 정의하는 데이터를, 처리 대상의 기저 곡면에 관련지어서 데이터 저장부(107)에 저장한다(스텝 S215). 평면을 정의하는 데이터로서는, 예를 들어 3개의 격자점의 좌표를 저장한다.
기저 곡면이 평면인 경우에는 이 기저 곡면을 포함하는 평면 위 이외가 시선 1가 확정 볼륨으로 된다. 예를 들어, 도 78에서 평면과 그 법선이 표시되어 있는 것으로 하면, 평면의 화살표 측의 공간으로부터는 표면이 보이고, 반대측의 공간으로부터는 이면이 보인다. 또한, 데이터 저장부(107)에 저장되는 데이터의 예를 도 79에 나타내었다. 기저 곡면이 평면인 경우에는, 예를 들어 1행째의 데이터와 같이 플래그 「평면」이라고 평면의 기하 데이터가 등록된다. 여기서 옵션으로서, 트림 면과 기저 곡면의 경계가 합치하는지의 여부를 검사하여, 결과를 부대 정보로서 기록해도 된다. 그 후, 확정 볼륨 생성 처리를 종료하고, 도 76의 처리로 복귀한다.
한편, 기저 곡면은 평면이 아닌 경우, 간이 판정 전처리부(121)는, 데이터 저장부(107)에 저장되어 있는 처리 대상의 기저 곡면이 원호 소인체인지를 판단한다(도 77: 스텝 S217). 여기에서는, 한쪽의 파라미터값을 고정하면서 다른 쪽의 파라미터값을 변화시켜서 얻어지는 파라미터 일정선에 대하여, 어느 쪽인가의 파라미터 일정선이 직선이면서, 다른 쪽의 파라미터 일정선의 곡률 중심이 일직선상이면, 기저 곡면은 원호 소인체라고 판단한다. 예를 들어, 도 80에서 실선으로 표시된 기저 곡면에서는, 한쪽의 파라미터 일정선이 직선으로 되면서, 다른 쪽의 파라미터 일정선의 곡률 중심이 일직선(굵은 파선)으로 되어, 기저 곡면은 원호 소인체라고 판단된다. 도 80은 원기둥 형상의 기저 곡면을 나타내었지만, 마찬가지의 조건에 의해 원추 형상의 기저 곡면에 대해서도 원호 소인체라고 판단할 수 있다.
기저 곡면이 원호 소인체라고 판단된 경우, 간이 판정 전처리부(121)는, 플래그 「원호 소인체」와, 시선 1가 확정 볼륨을 특정하기 위한 부대 정보를, 처리 대상의 기저 곡면에 관련지어서 데이터 저장부(107)에 저장한다(도 77: 스텝 S219). 여기서, 도 81에, 시선 1가 확정 볼륨을 원추의 축에 대하여 수직인 평면으로 절단한 단면도를 나타낸다. 도 81 중, 해칭이 실시된 영역이 시선 1가 확정 볼륨이다. 즉, 실선으로 표시된 원추와 그 정의 경계선과 접하면서 파선으로 표시된 접평면으로 구획된 영역 중 원추의 축이 포함되는 영역과, 2개의 접평면에 의해 구획된 영역 중 접평면 교선을 사이에 두고 원추가 존재하는 영역과 반대측인 영역이, 시선 1가 확정 볼륨으로 된다.
시선 1가 확정 볼륨을 특정하기 위한 부대 정보로는, 예를 들어 도 79의 2행째에 도시한 바와 같이, 원호 소인체를 나타내는 기하 데이터, 원호 소인체의 정의 경계선과 접하는 2개의 접평면의 기하 데이터 및 이 접평면 교선의 기하 데이터가 등록된다. 여기서 옵션으로서, 트림 면과 기저 곡면의 경계가 합치하는지의 여부를 검사하여, 결과를 부대 정보로서 기록하여도 된다. 그 후, 확정 볼륨 생성 처리를 종료하고, 도 76의 처리로 복귀한다.
한편, 기저 곡면이 원호 소인체가 아닌 경우, 간이 판정 전처리부(121)는, 데이터 저장부(107)에 저장되어 있는 처리 대상의 기저 곡면이 구면인지를 판단한다(도 77: 스텝 S221). 여기에서는, u 파라미터 일정선 및 v 파라미터 일정선의 곡률 중심을 구하고, 곡률 중심이 1점으로 정해지면, 기저 곡면은 구면이라고 판단한다. 예를 들어, 도 82에서 실선으로 표시된 기저 곡면에서는, u 및 v 파라미터 일정선의 곡률 중심이 1점으로 정해져 있으며, 기저 곡면은 구면이라고 판단된다.
기저 곡면이 구면이라고 판단된 경우, 간이 판정 전처리부(121)는, 플래그 「구면」과, 시선 1가 확정 볼륨을 특정하기 위한 부대 정보를, 처리 대상의 기저 곡면에 관련지어서 데이터 저장부(107)에 저장한다(스텝 S223). 도 83의 예에서는, 구면 형상의 기저 곡면의 경계가 굵은 선으로 표시되고, 이 기저 곡면의 시선 1가 확정 볼륨이 해칭이 실시된 영역으로서 표시되어 있다. 도 83과 같이, 시선 1가 확정 볼륨은 원추 및 구면에 의해 표시되고, 기저 곡면의 파라미터 중앙값의 좌표와, 기저 곡면의 곡률 중심을 연결하는 직선이 축으로 된다. 또한, 이 축과 기저 곡면의 경계 위에서의 접평면의 교점 중, 곡률 중심으로부터 가장 먼 점이 원추의 정점으로 된다. 그리고, 원추의 측면과 구면으로 구획된 영역 중 곡률 중심이 포함되는 영역과, 원추의 정점을 사이에 두고 반대측인 원추 내부의 영역이, 시선 1가 확정 볼륨으로 된다.
시선 1가 확정 볼륨을 특정하기 위한 부대 정보로는, 예를 들어 도 79의 3행째에 도시한 바와 같이, 구면을 표시하는 기하 데이터, 원추의 축, 정점 및 반 꼭지각 등의 원추의 기하 데이터가 등록된다. 여기서 옵션으로서, 트림 면과 기저 곡면의 경계가 합치하는지의 여부를 검사하여, 결과를 부대 정보로서 기록하여도 된다. 그 후, 확정 볼륨 생성 처리를 종료하고, 도 76의 처리로 복귀한다.
한편, 기저 곡면이 구면이 아닌 경우, 간이 판정 전처리부(121)는, 자유 곡면의 확정 볼륨 생성 처리를 실시한다(도 77: 스텝 S225). 이 자유 곡면의 확정 볼륨 생성 처리에 대해서는, 도 84 내지 도 86을 이용하여 설명한다.
도 84에 자유 곡면의 시선 1가 확정 볼륨 생성 처리의 처리 플로우를 나타내었다. 우선, 간이 판정 전처리부(121)는, 데이터 저장부(107)에 저장되어 있는 기저 곡면의 데이터를 기초로 참조축을 특정하고, 참조축을 나타내는 기하 데이터를 데이터 저장부(107)에 일시적으로 유지시켜 둔다(도 84: 스텝 S231). 여기에서는, 도 85에 도시한 바와 같은 기저 곡면의 파라미터 중앙값의 좌표를 통하는 접평면의 단위 법선 벡터 V를 구하고, V가 통과하는 직선을 참조축으로 한다. 이어서, 간이 판정 전처리부(121)는, 참조축 위의 원추 정점을 특정하고, 예를 들어 좌표의 데이터를 데이터 저장부(107)에 일시적으로 유지시켜 둔다(스텝 S233). 여기에서는, 기저 곡면을 분할한 각 격자점에서의 접평면과 참조축의 교점을 구하고, 가장 기저 곡면으로부터 먼 점을 원추 정점으로 한다.
그 후, 간이 판정 전처리부(121)는, 원추의 반 꼭지각을 산출한다(스텝 S235). 여기에서는, 도 86에 도시한 바와 같이, 참조축과 기저 곡면의 접평면이 이루는 각 α를 구하고, 최소값 αmin를 반 꼭지각으로 한다. 또한, 기저 곡면의 접평면의 단위 법선 벡터를 N으로 두면, cosα=V·N이다. 그리고, 간이 판정 전처리부(121)는, cosαmin가 부의 값인지를 판단한다(스텝 S237). 도 75에 도시된 바와 같은 기저 곡면의 경우, 참조축과 기저 곡면의 접평면은 도 86에서 기저 곡면보다도 아래 부분에서 교차하기 때문에, α는 둔각으로 된다. 결과로서, 최소값 cosαmin는 부로 된다. 그리고, cosαmin가 부인 경우에는, 시선 1가 확정 볼륨은 존재하지 않는다고 판단한다. cosαmin가 부의 값인 경우, 간이 판정 전처리부(121)는, 플래그 「부재」를 데이터 저장부(107)에 저장하고(스텝 S239), 확정 볼륨 생성 처리를 종료하여 도 76의 처리로 복귀한다. 예를 들어, 도 79의 5행째에 나타낸 바와 같이, 플래그 「부재」가 등록된다.
한편, cosαmin가 부의 값이 아닌 경우, 간이 판정 전처리부(121)는, 플래그 「자유 곡면」과, 시선 1가 확정 볼륨을 특정하기 위한 부대 정보를, 처리 대상의 기저 곡면에 관련지어서 데이터 저장부(107)에 저장한다(스텝 S241). 도 86에서 해칭이 실시된 영역이 시선 1가 확정 볼륨이다. 즉, 참조축 위의 원추 정점 Q를 중심으로 하여 양측에, 반 꼭지각이 αmin의 측면을 갖는 원추가 정의되고, 이 원추를 자유 곡면으로 분할한 영역 중 원추 정점과는 반대측인 영역과, 원추 정점을 사이에 두고 반대측인 원추 내부의 영역이, 시선 1가 확정 볼륨으로 된다. 또한, 자유 곡면의 시선 1가 확정 볼륨에 대해서는, 원추가 아니라 일반적인 뿔체로서 구하는 것도 가능하다. 그러나, 일반적인 뿔체를 이용한 경우에는 판정 처리가 복잡해지기 때문에, 판정 처리가 용이하다는 점에서 원추를 이용한 시선 1가 확정 볼륨 생성 처리는 유리하다.
시선 1가 확정 볼륨을 특정하기 위한 부대 정보로는, 예를 들어 도 79의 4행째에 나타낸 바와 같이, 자유 곡면을 표시하는 기하 데이터, 원추의 축, 정점 및 반 꼭지각 등의 원추의 기하 데이터가 등록된다. 여기서 옵션으로서, 트림 면과 기저 곡면의 경계가 합치하는 것인지의 여부를 검사하여, 결과를 부대 정보로서 기록하여도 된다. 그 후, 확정 볼륨 생성 처리를 종료하고, 도 76의 처리로 복귀한다.
또한, 기저 곡면이, 예를 들어 기계계 CAD에서 많이 이용되는 원호 소인체 또는 구인 경우, 표면변 연결체 또는 이면변 연결체가 시선 1가로 된다. 즉, 시점으로부터 본 원호 소인체 측면 또는 구면의 능선이 표면과 이면의 경계로 되고, 표면변 연결체 또는 이면변 연결체가 각각 시선 1가로 된다. 따라서, 표면과 이면의 경계를 산출하기 위한 정보를 미리 데이터 저장부(107)에 유지시켜 두고, 시선 1가 영역을 생성할 때에 이용함으로써, 기저 곡면 전체가 시선 1가라고 판단되지 않는 경우에도 처리 효율을 높일 수 있다.
예를 들어 원추는, 일반적으로 원주 방향 및 모선 방향의 파라미터에 의해 표현된다. 또한, 원추의 모선 위의 법선 벡터는 일정하며, 시점으로부터 본 원추의 능선인 모선이 표면과 이면의 경계로 된다. 따라서, 원추의 축 및 원주 방향의 파라미터를 유지해 두고, 시점과의 관계에 기초하여 시선 1가 영역을 계산할 수 있다. 또한, 원기둥이나 구면의 경우도 마찬가지이다. 확정 볼륨 생성 처리에서 이와 같은 정보를 준비하도록 해도 된다.
도 76의 시선 1가 간이 판정 처리로 되돌아가서, 스텝 S203의 후, 또는 스텝 S201에서 첫회의 처리가 아니라고 판단된 경우, 시선 1가 영역 생성부(123)는, 간이 판정 처리를 실시한다(스텝 S205). 이 간이 판정 처리에 대해서는, 도 87을 이용하여 설명한다.
우선, 시선 1가 영역 생성부(123)는, 처리 대상의 기저 곡면에 관련지어진 간이 판정 플래그를 OFF로 초기화하고, 데이터 저장부(107)에 유지시킨다(도 87: 스텝 S251). 그리고, 시선 1가 영역 생성부(123)는, 데이터 저장부(107)로부터 처리 대상의 기저 곡면에 관련지어진 플래그를 취득한다(스텝 S253). 여기에서는, 도 79에 도시한 데이터로부터, 처리 대상의 기저 곡면의 항목 「플래그」에 저장된 데이터를 취득한다.
이어서, 시선 1가 영역 생성부(123)는, 플래그가 「부재」인지를 판단한다(도 87: 스텝 S255). 플래그가 「부재」인 경우에는 시점의 위치에 관계없이 기저 곡면은 시선 1가가 아니기 때문에, 간이 판정 플래그를 OFF로 설정한 그대로 간이 판정 처리를 종료하여 도 76의 시선 1가 간이 판정 처리로 복귀하고, 그 후 도 32의 시선 1가 영역 생성 처리로 복귀한다.
한편, 플래그가 「부재」가 아닌 경우, 시선 1가 영역 생성부(123)는, 표시 조건 저장부(103)로부터 시점 데이터를, 데이터 저장부(107)로부터 부대 데이터를 취득한다(스텝 S257). 또한, 본 스텝의 처리는, 예를 들어 스텝 S253(도 87)과 동시에 행하도록 해도 된다. 그리고, 시선 1가 영역 생성부(123)는, 플래그가 「평면」인지를 판단한다(스텝 S259). 플래그가 「평면」인 경우, 평면 위 이외의 공간이 시선 1가 확정 볼륨이다. 따라서, 시선 1가 영역 생성부(123)는, 취득한 시점 데이터가 나타내는 시점의 좌표가 부대 데이터로서 등록되어 있는 평면 위에 존재하는지를 판단하고, 평면 위에 존재하지 않으면 데이터 저장부(107)의 간이 판정 플래그를 ON으로 설정한다(스텝 S261). 그 후, 간이 판정 처리를 종료하여 도 76의 처리로 복귀하고, 나아가 도 32의 시선 1가 영역 생성 처리로 복귀한다.
한편, 플래그가 「평면」이 아닌 경우, 시선 1가 영역 생성부(123)는, 플래그가 「원호 소인체」인지를 판단한다(도 87: 스텝 S263). 플래그가 「원호 소인체」인 경우, 도 81에서 해칭이 실시된 영역이 시선 1가 확정 볼륨이다. 따라서, 기저 곡면의 정의 경계선에서 접하는 접평면 및 이 기저 곡면에 의해 구획된 영역 중 원추의 축을 포함하는 영역, 또는 접평면에 의해 구획된 영역 중 접평면 교선을 사이에 두고 기저 곡면이 존재하는 영역과는 반대측인 영역에 시점 데이터가 나타내는 시점의 좌표가 포함되는지를 판단하고, 포함되는 경우에는 데이터 저장부(107)의 간이 판정 플래그를 ON으로 설정한다(스텝 S265). 그 후, 간이 판정 처리를 종료하여 도 76의 처리로 복귀하고 나아가 도 32의 시선 1가 영역 생성 처리로 복귀한다.
한편, 플래그가 「원호 소인체」가 아닌 경우, 시선 1가 영역 생성부(123)는, 플래그가 「구면」인지를 판단한다(도 87: 스텝 S267). 플래그가 「구면」인 경우, 도 83에서 해칭이 실시된 영역이 시선 1가 확정 볼륨이다. 따라서, 원추의 측면과 구면으로 구획된 영역 중 곡률 중심이 포함되는 영역, 또는 원추의 정점을 사이에 두고 반대측의 원추 내부의 영역에 시점 데이터가 나타내는 시점의 좌표가 포함되는지를 판단하여, 포함되는 경우에는 데이터 저장부(107)의 간이 판정 플래그를 ON으로 설정한다(스텝 S269). 그 후, 간이 판정 처리를 종료하여 도 76의 처리로 복귀하고, 나아가 도 32의 시선 1가 영역 생성 처리로 복귀한다.
한편, 플래그가 「구면」이 아닌 경우, 플래그는 「자유 곡면」이라고 판단할 수 있다. 플래그가 「자유 곡면」인 경우, 도 86에서 해칭이 실시된 영역이 시선 1가 확정 볼륨이다. 따라서, 원추를 자유 곡면으로 분할한 영역 중 원추 정점과는 반대측인 영역, 또는 원추 정점을 사이에 두고 반대측인 원추 내부의 영역에 시점의 좌표가 포함되는지를 판단하고, 포함되는 경우에는 데이터 저장부(107)의 간이 판정 플래그를 ON으로 설정한다(스텝 S271). 그 후, 간이 판정 처리를 종료하여 도 76의 처리로 복귀하고, 나아가 도 32의 시선 1가 영역 생성 처리로 복귀한다.
또한, 원호 소인체 또는 구면의 기저 곡면에 대하여, 확정 볼륨 생성 처리에서 표면과 이면의 경계를 산출하기 위한 정보를 준비하고 있는 경우, 시점이 시선 1가 확정 볼륨에 존재하지 않을 때이더라도 용이하게 시선 1가 영역으로 분할할 수 있다. 즉, 미리 데이터 저장부(107)에 유지된 파라미터 등을 이용하여, 시점으로부터 본 원호 소인체 측면 또는 구면의 능선으로 표면변 연결체와 이면변 연결체를 생성할 수 있다. 예를 들어 간이 판정 처리에서 이 케이스를 나타내는 플래그를 설정해 두고, 후의 처리에서 용이하게 시선 1가 영역을 생성할 수 있도록 해도 된다.
이상과 같은 처리를 행함으로써, 기저 곡면 전체가 시선 1가인지를 용이하게 판단할 수 있어, 기저 곡면 전체가 시선 1가이면 묘화 처리에서 루프 다각형의 형상에 기초하여 마스크를 생성할 수 있다. 따라서, 종래와 같이 기저 곡면을 분할함으로써 얻어진 삼각형마다 루프 다각형과의 교점을 구하는 경우보다도 교차 계산의 양은 적어져서, 처리 부하가 경감된다. 또한, 전술한 바와 같이, 시선 1가 확정 볼륨을 갖는 기저 곡면이 이용되는 경우가 많으며, 시점이 시선 1가 확정 볼륨에 포함되는 경우도 많기 때문에, 이 처리는 표시 속도를 향상시키기 위해 유효하다.
이상 본 기술의 실시 형태를 설명하였지만, 본 기술은 이에 한정되는 것은 아니다. 예를 들어, 기능 블록도는 일례로서, 반드시 실제의 프로그램 모듈 구성과 일치하지 않는 경우도 있다. 또한, 처리 플로우에 대해서도, 처리 결과가 변함없는 한, 스텝의 순서를 교체하거나, 병렬 실시하도록 하여도 된다. 또한, 도 79에 도시한 테이블도 일례로서, 등록되는 데이터가 다른 경우도 있다.
또한, 전술한 표시 처리 장치는, 컴퓨터 장치로서, 도 88에 도시한 바와 같이, 메모리(2501), CPU(2503), 하드 디스크·드라이브(HDD: 2505) 및 표시 장치(2509)에 접속되는 표시 제어부(2507), 리무버블·디스크(2511)용 드라이브 장치(2513), 입력 장치(2515) 및 네트워크에 접속하기 위한 통신 제어부(2517)가 버스(2519)로 접속되어 있다. 오퍼레이팅 시스템(OS: Operating System) 및 본 실시예에서의 처리를 실시하기 위한 애플리케이션·프로그램은, HDD(2505)에 저장되어 있으며, CPU(2503)에 의해 실행될 때에는 HDD(2505)로부터 메모리(2501)로 판독된다. CPU(2503)는, 애플리케이션·프로그램의 처리 내용에 따라 표시 제어부(2507), 통신 제어부(2517), 드라이브 장치(2513)를 제어하여, 소정의 동작을 행하게 한다. 또한, 처리 도중의 데이터에 대해서는, 주로 메모리(2501)에 저장되지만, HDD(2505)에 저장되도록 해도 된다. 본 기술의 실시예에서는, 전술한 처리를 실시하기 위한 애플리케이션·프로그램은 컴퓨터 판독 가능한 리무버블·디스크(2511)에 저장되어서 반포되고, 드라이브 장치(2513)로부터 HDD(2505)에 인스톨된다. 인터넷 등의 네트워크 및 통신 제어부(2517)를 경유하여, HDD(2505)에 인스톨되는 경우도 있다. 이러한 컴퓨터 장치는, 전술한 CPU(2503), 메모리(2501) 등의 하드웨어와 OS 및 애플리케이션·프로그램 등의 프로그램이 유기적으로 협동함으로써, 전술한 바와 같은 각종 기능을 실현한다.
본 실시 형태에서의 프레임 버퍼는, 메모리(2501) 또는 표시 제어부(2507)가 갖는 메모리 등에 의해 실현된다. 그리고, 프레임 버퍼에 저장된 화상 데이터는, 표시 제어부(2507)에 의해 판독되고, 표시 장치(2509)에 표시된다.
이상 설명한 본 실시 형태를 정리하면, 이하와 같다.
본 실시 형태에 따른 표시 처리 방법은, 기저 곡면에 기초하여 생성되는 트림 면을 포함하는 물체의 형상을 표시하는 표시 처리 방법으로서, (A) 기저 곡면을 삼각형 분할하여, 생성된 삼각형의 데이터를 데이터 저장부에 저장하는 스텝과, (B) 트림 면의 외형을 정의하기 위한 외부 루프와 물체의 형상에 따라서 외부 루프 내에 설치되는 내부 루프를 포함하는 루프에 대하여, 루프 다각형을 생성하고, 생성된 루프 다각형의 데이터를 데이터 저장부에 저장하는 스텝과, (C) 시점과 기저 곡면의 위치 관계에 기초하여, 투영면으로의 사상이 전단사라고 하는 조건을 만족하면서 삼각형을 복수 포함하는, 기저 곡면 위의 영역인 시선 1가 영역을 특정하고, 그 시선 1가 영역의 데이터를 데이터 저장부에 저장하는 시선 1가 영역 특정 스텝과, (D) 시선 1가 영역마다, 표시해야 하는지의 여부를 제어하는 화소마다의 데이터인 마스크 데이터를, 그 시선 1가 영역과 데이터 저장부에 저장되어 있는 루프 다각형으로부터 생성하고, 마스크 데이터 저장부에 저장하는 마스크 데이터 생성 스텝과, (E) 데이터 저장부에 저장되어 있는 삼각형의 각각에 대하여, 투영면 위의 화상 데이터를 생성하고, 데이터 저장부에 저장하는 화상 데이터 생성 스텝과, (F) 마스크 데이터 저장부에 저장되어 있는 마스크 데이터와 데이터 저장부에 저장되어 있는 화상 데이터로부터 묘화 처리를 실시하는 스텝을 포함한다.
전술한 바와 같은 시선 1가 영역을 특정하여, 그 시선 1가 영역을 단위로 마스크 데이터를 생성함으로써, 기저 곡면을 삼각형 분할하여 생성되는 삼각형마다 처리하는 것보다도 효율적이면서 고속으로 묘화를 행할 수 있게 된다.
또한, 전술한 시선 1가 영역 특정 스텝이, (C1) 기저 곡면 내의 각 삼각형에 대하여, 시점에 대하여 표면인지 이면인지를 판정하고, 데이터 저장부에 저장하는 스텝과, (C2) 표면이라고 판정되면서 연결되어 있는 복수의 삼각형을 포함하는 표면변 연결체와, 이면이라고 판정되면서 연결되어 있는 복수의 삼각형을 포함하는 이면변 연결체를 특정하는 스텝을 더 포함하도록 해도 된다.
단순한 형상인 경우에는, 이러한 처리에 의해 특정된 표면변 연결체 및 이면변 연결체를 시선 1가 영역으로서 처리하는 것도 가능하다. 이에 의해 상기 루프와의 교차 판정을 효율적으로 실시할 수 있게 된다.
또한, 전술한 시선 1가 영역 특정 스텝이, (C3) 표면변 연결체 및 이면변 연결체 중 어느 하나인 변 연결체의 경계와 시점을 통과하는 직선에 의해, 변 연결체를 분할하여 면분을 생성하는 스텝을 더 포함하도록 해도 된다. 보다 복잡한 형상의 경우에는, 이러한 처리를 실시함으로써 확실하게 시선 1가 영역을 특정할 수 있게 된다. 또한, 이러한 면분을 그대로 시선 1가 영역으로서 처리하도록 해도 된다.
또한, 시선 1가 영역 특정 스텝이, (C4) 생성된 면분을, 시점으로부터 보아 겹치지 않으면서 인접하는 면분의 집합으로 나누어 연결하는 스텝을 더 포함하도록 해도 된다. 이와 같이 하면, 보다 넓은 시선 1가 영역을 생성할 수 있기 때문에, 상기 면 분 단위로 처리하는 것보다도 효율이 좋아진다.
또한, 전술한 시선 1가 영역 특정 스텝이, (C11) 표면변 연결체 및 이면변 연결체 중 어느 하나인 변 연결체의 경계를 어떤 평면에 투영하여, 이 어떤 평면 위의 경계를 단조 구간으로 분할하는 스텝과, (C12) 단조 구간이 2 이하인지를 판단하는 스텝을 포함하도록 해도 된다. 이러한 처리에 의해 표면변 연결체 또는 이면변 연결체를 분할하는지의 여부를 고속으로 판단할 수 있게 된다.
또한, 전술한 시선 1가 영역 특정 스텝이, (C13) 단조 구간이 3 이상인 경우에는, 단조 구간끼리의 교점에 대응하는, 변 연결체의 경계 위의 점인 제1 점(예를 들어 실시 형태에서의 중합점)을 특정하는 스텝과, (C14) 제1 점을 포함하는, 변 연결체의 경계 위의 세그먼트를 시점을 통과하는 직선에서 변 연결체 위로 투영함(예를 들어 실시 형태에서의 곡면 사영)으로써, 변 연결체를 분할하여 면분을 생성하는 면분 생성 스텝을 더 포함하도록 해도 된다. 이러한 처리를 예를 들어 파라미터 공간에서 실시하여도 된다. 또한, 이에 의해 얻어지는 면분을 그대로 시선 1가 영역으로서 처리하도록 해도 된다.
또한, 전술한 시선 1가 영역 특정 스텝이, (C15) 변 연결체가 표리 경계를 갖는 경우에는, 그 표리 경계와, 제1 점을 포함하는, 변 연결체의 경계 위의 세그먼트를, 시점을 통과하는 직선에서 변 연결체 위로 투영함으로써 얻어지는 선분이 접하는 제2 점(예를 들어 실시 형태에서의 특이점)을 특정하는 스텝을 더 포함하도록 해도 된다. 그 때, 면분 생성 스텝에서, 제2 점도 제1 점과 같이 변 연결체의 분할에 이용하는 것으로 한다. 제2 점이 존재하는 경우에는, 제2 점도 면분 생성 스텝에서 이용함으로써 적절하게 시선 1가 영역으로 되는 면분을 생성할 수 있게 된다.
또한, 전술한 시선 1가 영역 특정 스텝이, (C16) 생성된 면분으로부터, 제1 점을 포함하는 경계 위의 점에 기초하여, 시점으로부터 보아 겹치는 면분의 조를 특정하는 스텝과, (C17) 면분의 조에 포함되는 각 면분이 서로 다른 그룹에 속하도록, 생성된 면분을 인접 관계에 기초하여 분류하여 결합하는 스텝을 더 포함하도록 해도 된다. 이와 같이 하면, 보다 넓은 시선 1가 영역을 얻을 수 있게 되어, 처리 효율이 향상된다.
또한, 전술한 마스크 데이터 생성 스텝이, (D1) 데이터 저장부에 저장되어 있는 루프 다각형 중 외부 루프에 대한 루프 다각형인 외부 루프 다각형과 시선 1가 영역의 집합적인 외부 루프 집합적을 생성하고, 데이터 저장부에 저장하는 스텝과, (D2) 데이터 저장부에 저장되어 있는 루프 다각형 중 내부 루프에 대한 루프 다각형인 내부 루프 다각형과 시선 1가 영역의 집합적인 내부 루프 집합적을 생성하고, 데이터 저장부에 저장하는 스텝과, (D3) 데이터 저장부에 저장되어 있는 외부 루프 집합적 내부의 각 점에 상당하는, 투영면 위의 화소의 마스크 데이터를, 그 화소를 표시해야 할 것을 나타내도록 설정하는 스텝과, (D4) 데이터 저장부에 저장되어 있는 내부 루프 집합적 내부의 각 점에 상당하는, 투영면 위의 화소의 마스크 데이터를, 이 화소를 표시해야 하지 않는 것을 나타내도록 설정하는 스텝을 포함하도록 해도 된다. 이와 같이 하면, 적절한 마스크 데이터가 생성된다. 또한, 외부 루프 집합적 및 내부 루프 집합적을 생성하는 처리는, 각 삼각형에 대하여 실시하는 것보다도 효율화되어 있다.
또한, 본 표시 처리 방법은, (G) 기저 곡면 전체가 시선 1가 영역인 것이 보증되는, 공간 내의 볼륨을 결정하고, 그 볼륨의 데이터를 데이터 저장부에 저장하는 스텝을 더 포함하도록 해도 된다. 그리고, 전술한 시선 1가 영역 특정 스텝이, (C21) 시점이 볼륨 내에 포함되는지를 판단하는 스텝과, (C22) 시점이 볼륨 내에 포함된다고 판단된 경우에는, 기저 곡면에 포함되는 모든 삼각형을 연결한 영역을 시선 1가 영역으로서 특정하는 스텝을 포함하도록 해도 된다. 이와 같이 하면, 처리가 간략화되고, 시점이 이동할 때에도 고속으로 시선 1가 영역을 특정할 수 있는 가능성이 나오게 된다.
또한, 본 표시 처리 방법은, (H) 마스크 데이터 생성 스텝의 앞에, 외부 루프와 기저 곡면의 외주가 일치하는지를 판단하는 스텝과, (I) 외부 루프와 기저 곡면의 외주가 일치하면서, 기저 곡면 전체가 시선 1가 영역인 경우, 데이터 저장부에 저장되어 있는 삼각형의 각각에 대해서, 투영면 위의 화상 데이터를 생성하고, 이 화상 데이터에 의해 묘화 처리를 실시하는 스텝을 포함하도록 해도 된다. 이에 의해 외부 루프와 기저 곡면의 외주가 일치한다고 하는 특별한 경우에는, 외부 루프 집합적 계산 스텝이 생략되므로, 처리의 고속화가 실현된다. 또한, 모든 화소에 대하여 표시해야 할 것을 나타내도록 마스크를 설정하여도 되며, 마스크를 사용하지 않고 화상 데이터를 묘화하도록 해도 된다.
또한, 상기 방법에 의한 처리를 컴퓨터에 행하게 하기 위한 프로그램을 제작할 수 있으며, 그 프로그램은, 예를 들어 플렉시블 디스크, CD-ROM, 광자기 디스크, 반도체 메모리, 하드 디스크 등의 컴퓨터 판독 가능한 기억 매체 또는 기억 장치에 저장된다. 또한, 중간적인 처리 결과는 메인 메모리 등의 기억 장치에 일시 보관된다.

Claims (13)

  1. 기저 곡면에 기초하여 생성되는 트림 면을 포함하는 물체의 형상을 표시하는 표시 처리 방법으로서,
    상기 기저 곡면을 삼각형 분할하여, 생성된 삼각형의 데이터를 데이터 저장부에 저장하는 스텝과,
    상기 트림 면의 외형을 정의하기 위한 외부 루프와 상기 물체의 형상에 따라서 상기 외부 루프 내에 설치되는 내부 루프를 포함하는 루프에 대하여, 루프 다각형을 생성하고, 생성된 루프 다각형의 데이터를 상기 데이터 저장부에 저장하는 스텝과,
    시점과 상기 기저 곡면의 위치 관계에 기초하여, 투영면으로의 사상이 전단사라고 하는 조건을 만족하면서 상기 삼각형을 복수 포함하는, 상기 기저 곡면 위의 영역인 시선 1가 영역을 특정하고, 그 시선 1가 영역의 데이터를 상기 데이터 저장부에 저장하는 시선 1가 영역 특정 스텝과,
    상기 시선 1가 영역마다, 표시해야 하는지의 여부를 제어하는 화소마다의 데이터인 마스크 데이터를, 그 시선 1가 영역과 상기 데이터 저장부에 저장되어 있는 상기 루프 다각형으로부터 생성하고, 마스크 데이터 저장부에 저장하는 마스크 데이터 생성 스텝과,
    상기 데이터 저장부에 저장되어 있는 상기 삼각형의 각각에 대하여, 상기 투영면 위의 화상 데이터를 생성하고, 상기 데이터 저장부에 저장하는 화상 데이터 생성 스텝과,
    상기 마스크 데이터 저장부에 저장되어 있는 상기 마스크 데이터와 상기 데이터 저장부에 저장되어 있는 화상 데이터로부터 묘화 처리를 실시하는 스텝
    을 포함하고, 컴퓨터에 의해 실행되는 표시 처리 방법.
  2. 제1항에 있어서,
    상기 시선 1가 영역 특정 스텝이,
    상기 기저 곡면 내의 각 삼각형에 대하여, 상기 시점에 대하여 표면인지 이면인지를 판정하고, 상기 데이터 저장부에 저장하는 스텝과,
    표면이라고 판정되면서 연결되어 있는 복수의 삼각형을 포함하는 표면변 연결체와, 이면이라고 판정되면서 연결되어 있는 복수의 삼각형을 포함하는 이면변 연결체를 특정하는 스텝
    을 더 포함하는 표시 처리 방법.
  3. 제2항에 있어서,
    상기 시선 1가 영역 특정 스텝이,
    상기 표면변 연결체 및 상기 이면변 연결체 중 어느 하나인 변 연결체의 경계와 상기 시점을 통과하는 직선에 의해, 상기 변 연결체를 분할하여 면분을 생성하는 스텝
    을 더 포함하는 표시 처리 방법.
  4. 제3항에 있어서,
    상기 시선 1가 영역 특정 스텝이,
    생성된 상기 면분을, 상기 시점으로부터 보아 겹치지 않으면서 인접하는 면분의 집합으로 나누어 연결하는 스텝
    을 더 포함하는 표시 처리 방법.
  5. 제2항에 있어서,
    상기 시선 1가 영역 특정 스텝이,
    상기 표면변 연결체 및 상기 이면변 연결체 중 어느 하나인 변 연결체의 경계를 어떤 평면에 투영하여, 그 어떤 평면 위의 경계를 단조 구간으로 분할하는 스텝과,
    상기 단조 구간이 2 이하인지를 판단하는 스텝
    을 포함하는 표시 처리 방법.
  6. 제5항에 있어서,
    상기 시선 1가 영역 특정 스텝이,
    상기 단조 구간이 3 이상인 경우에는, 상기 단조 구간끼리의 교점에 대응하는, 상기 변 연결체의 경계 위의 점인 제1 점을 특정하는 스텝과,
    상기 제1 점을 포함하는, 상기 변 연결체의 경계 위의 세그먼트를, 상기 시점을 통과하는 직선에서 상기 변 연결체 위에 투영함으로써, 상기 변 연결체를 분할하여 면분을 생성하는 면분 생성 스텝
    을 더 포함하는 표시 처리 방법.
  7. 제6항에 있어서,
    상기 시선 1가 영역 특정 스텝이,
    상기 변 연결체가 표리 경계를 갖는 경우에는, 그 표리 경계와, 상기 제1 점을 포함하는, 상기 변 연결체의 경계 위의 세그먼트를, 상기 시점을 통과하는 직선에서 상기 변 연결체 위에 투영함으로써 얻어지는 선분이 접하는 제2 점을 특정하는 스텝
    을 더 포함하고,
    상기 면분 생성 스텝에서, 상기 제2 점도 상기 제1 점과 같이 상기 변 연결체의 분할에 이용하는 표시 처리 방법.
  8. 제6항 또는 제7항에 있어서,
    상기 시선 1가 영역 특정 스텝이,
    생성된 상기 면분으로부터, 상기 제1 점을 포함하는 경계 위의 점에 기초하여, 상기 시점으로부터 보아 겹치는 면분의 조를 특정하는 스텝과,
    상기 면분의 조에 포함되는 각 면분이 서로 다른 그룹에 속하도록, 생성된 상기 면분을 인접 관계에 기초하여 분류하여 결합하는 스텝
    을 더 포함하는 표시 처리 방법.
  9. 제1항 내지 제7항 중 어느 한 항에 있어서,
    상기 마스크 데이터 생성 스텝이,
    상기 데이터 저장부에 저장되어 있는 상기 루프 다각형 중 외부 루프에 대한 루프 다각형인 외부 루프 다각형과 상기 시선 1가 영역의 집합적(集合積; intersection)인 외부 루프 집합적을 생성하고, 상기 데이터 저장부에 저장하는 스텝과,
    상기 데이터 저장부에 저장되어 있는 상기 루프 다각형 중 내부 루프에 대한 루프 다각형인 내부 루프 다각형과 상기 시선 1가 영역의 집합적인 내부 루프 집합적을 생성하고, 상기 데이터 저장부에 저장하는 스텝과,
    상기 데이터 저장부에 저장되어 있는 상기 외부 루프 집합적 내부의 각 점에 상당하는, 상기 투영면 위의 화소의 마스크 데이터를, 그 화소를 표시해야 할 것을 나타내도록 설정하는 표시 설정 스텝과,
    상기 데이터 저장부에 저장되어 있는 상기 내부 루프 집합적 내부의 각 점에 상당하는, 상기 투영면 위의 화소의 마스크 데이터를, 그 화소를 표시해야 하지 않는 것을 나타내도록 설정하는 스텝
    을 포함하는 표시 처리 방법.
  10. 제1항에 있어서,
    상기 기저 곡면 전체가 상기 시선 1가 영역인 것이 보증되는, 공간 내의 볼륨을 결정하고, 그 볼륨의 데이터를 상기 데이터 저장부에 저장하는 스텝
    을 더 포함하고,
    상기 시선 1가 영역 특정 스텝이,
    상기 시점이 상기 볼륨 내에 포함되는지를 판단하는 스텝과,
    상기 시점이 상기 볼륨 내에 포함된다고 판단된 경우에는, 상기 기저 곡면에 포함되는 모든 상기 삼각형을 연결한 영역을 상기 시선 1가 영역으로서 특정하는 스텝
    을 포함하는 표시 처리 방법.
  11. 제1항 내지 제7항 중 어느 한 항에 있어서,
    상기 마스크 데이터 생성 스텝의 앞에, 상기 외부 루프와 상기 기저 곡면의 외주가 일치하는지를 판단하는 스텝과,
    상기 외부 루프와 상기 기저 곡면의 외주가 일치하면서, 상기 기저 곡면 전체가 상기 시선 1가 영역인 경우, 상기 데이터 저장부에 저장되어 있는 상기 삼각형의 각각에 대하여, 상기 투영면 위의 화상 데이터를 생성하고, 그 화상 데이터에 의해 묘화 처리를 실시하는 스텝
    을 더 포함하는 표시 처리 방법.
  12. 제1항 내지 제7항 중 어느 한 항에 기재된 표시 처리 방법을 컴퓨터에 실행시키기 위한 프로그램을 기록한 컴퓨터에서 판독가능한 기록 매체.
  13. 기저 곡면에 기초하여 생성되는 트림 면을 포함하는 물체의 형상을 표시하는 표시 처리 장치로서,
    상기 기저 곡면을 삼각형 분할하여, 생성된 삼각형의 데이터를 데이터 저장부에 저장하는 삼각형 분할부와,
    상기 트림 면의 외형을 정의하기 위한 외부 루프와 상기 물체의 형상에 따라서 상기 외부 루프 내에 설치되는 내부 루프를 포함하는 루프에 대하여, 루프 다각형을 생성하고, 생성된 루프 다각형의 데이터를 상기 데이터 저장부에 저장하는 루프 다각형 생성부와,
    시점과 상기 기저 곡면과의 위치 관계에 기초하여, 투영면으로의 사상이 전단사라고 하는 조건을 만족하는 상기 삼각형을 복수 포함하는, 상기 기저 곡면 위의 영역인 시선 1가 영역을 특정하고, 이 시선 1가 영역의 데이터를 상기 데이터 저장부에 저장하는 시선 1가 영역 처리부와,
    상기 시선 1가 영역마다, 표시해야 하는지의 여부를 제어하는 화소마다의 데이터인 마스크 데이터를, 그 시선 1가 영역과 상기 데이터 저장부에 저장되어 있는 상기 루프 다각형으로부터 생성하고, 마스크 데이터 저장부에 저장하는 마스크 데이터 생성부와,
    상기 데이터 저장부에 저장되어 있는 상기 삼각형의 각각에 대하여, 상기 투영면 위의 화상 데이터를 생성하고, 상기 데이터 저장부에 저장하는 화상 데이터 생성부와,
    상기 마스크 데이터 저장부에 저장되어 있는 상기 마스크 데이터와 상기 데이터 저장부에 저장되어 있는 화상 데이터로부터 묘화 처리를 실시하는 묘화 처리부
    를 갖는 표시 처리 장치.
KR1020137014117A 2010-12-02 2010-12-02 표시 처리 방법 및 장치 KR101456404B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/071566 WO2012073363A1 (ja) 2010-12-02 2010-12-02 表示処理方法及び装置

Publications (2)

Publication Number Publication Date
KR20130101106A KR20130101106A (ko) 2013-09-12
KR101456404B1 true KR101456404B1 (ko) 2014-10-31

Family

ID=46171348

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137014117A KR101456404B1 (ko) 2010-12-02 2010-12-02 표시 처리 방법 및 장치

Country Status (6)

Country Link
US (1) US8717356B2 (ko)
EP (1) EP2648161B1 (ko)
JP (1) JP5642804B2 (ko)
KR (1) KR101456404B1 (ko)
CN (1) CN103238170B (ko)
WO (1) WO2012073363A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3180775B1 (en) * 2014-11-18 2019-02-13 St. Jude Medical, Cardiology Division, Inc. Method and system for generating a patch surface model of a geometric structure
CN205451698U (zh) * 2014-11-19 2016-08-10 上海聚然智能科技有限公司 真像点多维度显示器及其组件
CN107689081B (zh) * 2016-08-03 2021-01-26 佛山市诺威科技有限公司 一种用于义齿数字化修复的网格模型区域划分方法
CN109035407B (zh) * 2018-07-11 2024-02-06 厦门点射科技有限公司 基于方向的参数曲面三角化方法、装置、设备及存储介质
EP4012657B1 (en) * 2019-09-12 2023-10-25 Nippon Telegraph And Telephone Corporation Preprocessing device, determination system, preprocessing method, and preprocessing program

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030097646A (ko) * 2002-06-20 2003-12-31 마이크로소프트 코포레이션 제어 가능한 텍스처 샘플링을 제공하는 시스템 및 방법
KR20040106300A (ko) * 2002-03-22 2004-12-17 마이클 에프. 디어링 확장가능한 고성능 3d 그래픽
KR100738500B1 (ko) 2006-02-20 2007-07-12 한국과학기술원 영상 기반 돌출 변위 매핑 방법과, 이를 이용한 이중 변위매핑 방법
KR20070095984A (ko) * 2005-01-04 2007-10-01 신세다이 가부시끼가이샤 묘화 장치 및 묘화 방법

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5283860A (en) 1990-11-15 1994-02-01 International Business Machines Corporation System and method for displaying trimmed surfaces using bitplane masking
US5377320A (en) 1992-09-30 1994-12-27 Sun Microsystems, Inc. Method and apparatus for the rendering of trimmed nurb surfaces
JPH06231261A (ja) * 1993-01-29 1994-08-19 Hitachi Ltd 折線近似によりパラメトリックトリミング曲線を表示する方法およびグラフィック表示システム
JP3679436B2 (ja) * 1994-12-27 2005-08-03 キヤノン株式会社 3次元上領域における領域内外の点の抽出方法及び装置、及び同一曲線上の点の並び順判定方法及び装置
JPH11328436A (ja) * 1998-05-20 1999-11-30 Fujitsu Ltd 図形処理方法、図形処理装置、この装置を有する図形描画ユニットおよびデータ処理装置
US6600485B1 (en) 1998-07-03 2003-07-29 Sega Enterprises, Ltd. Polygon data generation method and image display apparatus using same
US6879324B1 (en) * 1998-07-14 2005-04-12 Microsoft Corporation Regional progressive meshes
US6996505B1 (en) * 2000-06-21 2006-02-07 Raindrop Geomagic, Inc. Methods, apparatus and computer program products for automatically generating nurbs models of triangulated surfaces using homeomorphisms
EP1473678A4 (en) 2002-02-06 2008-02-13 Digital Process Ltd PROGRAM, METHOD AND DEVICE FOR DISPLAYING THREE-DIMENSIONAL FORMS
US7212205B2 (en) * 2002-11-12 2007-05-01 Matsushita Electric Industrial Co., Ltd. Curved surface image processing apparatus and curved surface image processing method
JP4289984B2 (ja) 2003-11-21 2009-07-01 キヤノン株式会社 帯電装置及び画像形成装置
US8004517B1 (en) * 2005-06-24 2011-08-23 Geomagic, Inc. Methods, apparatus and computer program products that model three-dimensional surface structures
US8259101B2 (en) * 2006-06-07 2012-09-04 Carnegie Mellon University Sketch-based design system, apparatus, and method for the construction and modification of three-dimensional geometry
JP4437504B2 (ja) 2007-11-15 2010-03-24 デジタルプロセス株式会社 3次元表示プログラム、3次元表示装置、および3次元表示方法
CN101510314B (zh) * 2009-03-27 2012-11-21 腾讯科技(深圳)有限公司 一种动画视频合成的方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040106300A (ko) * 2002-03-22 2004-12-17 마이클 에프. 디어링 확장가능한 고성능 3d 그래픽
KR20030097646A (ko) * 2002-06-20 2003-12-31 마이크로소프트 코포레이션 제어 가능한 텍스처 샘플링을 제공하는 시스템 및 방법
KR20070095984A (ko) * 2005-01-04 2007-10-01 신세다이 가부시끼가이샤 묘화 장치 및 묘화 방법
KR100738500B1 (ko) 2006-02-20 2007-07-12 한국과학기술원 영상 기반 돌출 변위 매핑 방법과, 이를 이용한 이중 변위매핑 방법

Also Published As

Publication number Publication date
US8717356B2 (en) 2014-05-06
EP2648161A4 (en) 2017-03-08
EP2648161A1 (en) 2013-10-09
EP2648161B1 (en) 2020-06-17
JP5642804B2 (ja) 2014-12-17
JPWO2012073363A1 (ja) 2014-05-19
KR20130101106A (ko) 2013-09-12
CN103238170A (zh) 2013-08-07
WO2012073363A1 (ja) 2012-06-07
US20130249911A1 (en) 2013-09-26
CN103238170B (zh) 2015-11-25

Similar Documents

Publication Publication Date Title
JP7265639B2 (ja) 優先点を識別して保持する点群の併合方法
JP5385921B2 (ja) 可視率を利用するモデルのサイズ縮小
CN108648269B (zh) 三维建筑物模型的单体化方法和系统
CN108090947B (zh) 一种面向3d场景的光线追踪优化方法
KR101456404B1 (ko) 표시 처리 방법 및 장치
US20130300740A1 (en) System and Method for Displaying Data Having Spatial Coordinates
JP5055214B2 (ja) 画像処理装置、画像処理方法
US9208610B2 (en) Alternate scene representations for optimizing rendering of computer graphics
WO2012037863A1 (zh) 三维模型数据化简、渐进传输方法及装置
CN110675489A (zh) 一种图像处理方法、装置、电子设备和存储介质
JP2008522269A (ja) メッシュ・サーフェス並びにボリューム・オブジェクト上におけるサーフェス線の生成並びに計測のためのシステム並びに方法およびメッシュ切断技術(曲線測定方法)
CN113436303A (zh) 渲染体积和嵌入体积中的表面的方法
JP2017199354A (ja) 3dシーンのグローバル・イルミネーションの描画
Santos et al. Integration of CAD Models into Game Engines.
JP2006000126A (ja) 画像処理方法および装置並びにプログラム
US20070088531A1 (en) Methods For Generating Digital Or Visual Representations Of A Closed Tessellated Surface Geometry
JP3593155B2 (ja) 形状設計支援装置
CN112233791B (zh) 基于点云数据聚类的乳腺假体制备装置及方法
KR20190038931A (ko) 선호된 프리미티브 배치 비닝 및 분류를 갖는 하이브리드 렌더
JP2023510164A (ja) ハイブリッドビニング
Bornik et al. Interactive editing of segmented volumetric datasets in a hybrid 2D/3D virtual environment
JPH09138865A (ja) 3次元形状データ処理装置
KR102638813B1 (ko) 헤어 래스터화를 위한 시스템들 및 방법들
CN117333598B (zh) 一种基于数字场景的3d模型渲染系统及方法
EP3767593A1 (en) Method of generating a computer-based representation of a surface intersecting a volume and a method of rendering a visualization of a surface intersecting a volume

Legal Events

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

Payment date: 20170919

Year of fee payment: 4