KR930003811B1 - 3차원도형 처리방법 및 그 장치 - Google Patents

3차원도형 처리방법 및 그 장치 Download PDF

Info

Publication number
KR930003811B1
KR930003811B1 KR1019890014560A KR890014560A KR930003811B1 KR 930003811 B1 KR930003811 B1 KR 930003811B1 KR 1019890014560 A KR1019890014560 A KR 1019890014560A KR 890014560 A KR890014560 A KR 890014560A KR 930003811 B1 KR930003811 B1 KR 930003811B1
Authority
KR
South Korea
Prior art keywords
data
shape
triangular
dimensional
triangular plane
Prior art date
Application number
KR1019890014560A
Other languages
English (en)
Other versions
KR900006882A (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 마쯔시다덴기산교 가부시기가이샤
Publication of KR900006882A publication Critical patent/KR900006882A/ko
Application granted granted Critical
Publication of KR930003811B1 publication Critical patent/KR930003811B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/40Hidden part removal
    • 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/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B9/00Simulators for teaching or training purposes
    • G09B9/02Simulators for teaching or training purposes for teaching control of vehicles or other craft
    • G09B9/08Simulators for teaching or training purposes for teaching control of vehicles or other craft for teaching control of aircraft, e.g. Link trainer
    • G09B9/30Simulation of view from aircraft
    • G09B9/301Simulation of view from aircraft by computer-processed or -generated image

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Business, Economics & Management (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)
  • Numerical Control (AREA)

Abstract

내용 없음.

Description

3차원도형 처리방법 및 그 장치
제 1 도는 본 발명의 제 1 실시예에 의한 3차원도형처리시스템을 개략적으로 도시한 전체구성도.
제 2(a)도~제 2(d)도는 3차원 입체도형데이터를 표현한 종래의 방법과 본 발명의 방법을 비교하여 설명한 도면.
제 3 도는 종래예의 입체도형의 데이터구조를 나타내는 차트.
제 4 도는 3차원 입체도형의 표면을 3각형면으로 분할한 분할도.
제 5 도는 본 발명에 의해서 구체화한 입체도형의 데이터구조를 나타내는 차트.
제 6 도는 변을 공유하지 않는 3각형면을 도시한 설명도.
제 7 도는 3각형면이 정점에서 인접하는 경우와 인접하지 않는 경우를 나타내는 설명도.
제 8 도는 3각형면데이터의 집합연산을 나타내는 흐름도.
제 9(a)도, 제 9(b)도는 3각형면의 미세분할을 나타내는 설명도.
제10(a)도, 제10(b)도는 3각형면의 재합성을 나타내는 설명도.
제11(a)도, 제11(b)도는 3각형면 B-Rep데이터를 3차원런렝쓰데이터로 변환하는 처리를 나타내는 흐름도.
제12도는 3각형면데이터로부터 변데이터를 연산하는 처리를 나타내는 흐름도.
제13(a)도~제13(d)도는 인접하는 3각형면데이터를 설명하는 도면.
제14(a)도, 제14(b)도는 은선(隱線)제거를 처리하는 순서제어를 나타낸 흐름도.
제15도, 제16도, 제17(a)도~제17(d)도는 변데이터와 3각형면데이터 사이의 위치관계를 나타내는 설명도.
제18도는 본 발명의 제 2 실시예에 의한 3차원입체도형처리 시스템을 개략적으로 도시한 전체구성도.
* 도면의 주요부분에 대한 부호의 설명
10 : 도형처리연산장치 13 : 3각형면데이터메모리
14 : 정점데이터메모리 15 : 변데이터메모리
16 : 프레임메모리 17 : 비데오제어기
18 : CRT
본 발명은 채워진 내용물을 가지는 3차원의 물체, 즉 입체도형을 생성하고, 연산하고, 표시하는 것을 특징으로 하는 3차원도형처리방법과 그것을 이용한 3차원도형처리장치에 관한 것이다.
종래의 입체도형화 기술에서는, 예를들면 제 2(a)도에 도시한 바와같은 입체형상(20)을 표현하기 위하여, 여러가지의 형상표현방법(형상모델)이 제안되고 있다. 상기 형상표현방법중에서 B-REP(Boundary Representation)방법이 현재까지 주류를 이루고 있다.
제 2(b)도에 도시한 바와같이, B-Rep방법에서는, 형상을 둘러싸는 모든면(21), 이 면(21)을 둘러싸는 모든 면(22), 이 변의 양쪽의 점검(23)을 규정함으로써 형상을 표현한다. 보다 상세하게는, 종래의 B-Rep방법에서는, 형상의 표면을 나타내는 면은, 인접하는 면과 변을 공유하는 다각형(21)으로 구성되어 있다. 또한, 입체도형의 데이터구성은, 제 3 도에 도시한 바와같이, 면, 변, 정점의 데이터로 구성되어 있다.
그러나, 상기한 바와같은 다각형(21)을 기준으로한 B-Rep방법은, 제 3 도에 도시한 바와같이, 가변길이로 형성된 복잡한 데이터구조를 가지고 있다. 또한, 형상집합연산, 다수의 특성계산, 은선/은면소거등의 입체모형화기술의 본래의 기능에 대해서는, B-Rep방법은, 여러종류의 다각형을 사용한 연산을 기본방법으로 행하고 있기 때문에 처리가 매우 복잡하게 되고 실용성이 있는 신뢰성을 얻는 것이 어렵고, 또한 처리속도가 느리다고 하는 문제점이 있었다.
본 발명의 목적은 상기 종래예의 문제점을 해소하고, 높은 신뢰성과 실용성을 가지도록 입체도형을 효율적으로 처리하는 3차원도형처리 방법과 3차원도형처리 장치를 제공하는데 있다.
상기 목적을 달성하기 위하여, 본 발명의 3차원도형처리 방법은, 임의의 3차원형상을 모형화하는 단계와, 상기 형상사이에 합집합연산, 교차연산, 감산연산의 형상집합연산을 행하는 단계와, 3차원형상의 체적, 중심, 관성모우먼트를 포함한 다수의 특성을 계산하는 단계와, 3차원형상을 은선소거처리하여 표시하는 단계로 이루어진 3차원도형처리방법에 있어서, 상기 모형화라는 단계에서는, 임의의 3차원형상의 표면을, 3차원형상의 변을 공유하지 않는 3각형면과 3차원형상의 변을 공유하는 3각형면의 집합에 의해서 표현하여 처리하고, 상기 형상집합연산을 행하는 단계에서는, 각각의 형상을 구성하고 있는 3각형면사이에 상호간섭의 관계를 판정하고, 3각형면이 교차하는 경우에는, 상기 3각형을 미세분할하는 형상연산을 행함으로써, 정밀한 형상을 구하고, 상기 다수의 특성을 계산하는 단계에서는, 상기 형상을 표현하고 있는 3각형면데이터로부터 3차원런렝쓰데이터를 구하고, 이 런렝쓰데이터를 사용하여 다수의 특성을 계산하고, 은선소거처리하여 표시하는 단계에서는, 3차원형상을 표현하고 있는 3각형면데이터로부터 변데이터를 구하고, 이 번데이터와 3각형면데이터 사이의 깊이를 판정함으로써, 은선소거처리를 행하여 형상을 표시하는 것을 특징으로 한다.
또한, 상기 목적을 달성하기 위하여, 본 발명의 3차원도형처리장치는, 3차원형상의 표면을 구성하는 3각형면데이터를 기억하는 3각형면데이터메모리와, 상기 3각형면데이터메모리의 정점데이터를 기억하는 정점데이터메모리와, 상기 3각형면데이터의 변데이터를 기억하는 변데이터메모리와, 형상집합연산, 다수의 특정계산을 포함한 여러가지의 연산을 행하는 도형처리연산장치로 이루어진 3차원도형처리장치에 있어서, 상기 도형연산처리장치는, 3차원형상의 표면을, 3차원형상의 변을 공유하지 않은 3각형면과 3차원형상의 변을 공유하는 3각형면으로 분할하는 수단과, 각각의 3차원형상의 표면을 표현하고 있는 3각형면사이에 상호간섭의 관계를 판정하고, 3각형면이 교차하는 경우에는, 상기 3각형면을 미세분할하는 형상연산을 행함으로써, 정밀한 형상을 구하는 수단과, 3차원형상의 표면을 표현하고 있는 3각형면데이터로부터 3차원런렝쓰데이터를 구하고, 이 런렝쓰데이터를 사용하여 다수의 특성을 계산하는 수단과, 3차원형상을 표현하고 있는 3각형면데이터로부터 변데이터를 구하고, 이 변데이터와 3각형면데이터 사이의 깊이를 판정함으로써 은선소거처리를 행하여 형상을 표시하는 수단을 구비한 것을 특징으로 한다.
또한, 상기 목적을 달성하기 위하여, 본 발명의 3차원도형처리장치는, 3차원형상의 표면을 구성하는 3각형면데이터를 기억하는 3각형면데이터메모리와, 상기 3각형면데이터의 정점데이터를 기억하는 정점데이터메모리와, 상기 3각형면데이터의 변데이터를 기억하는 변데이터메모리와, 형상집합연산, 다수의 특정계산을 포함한 여러가지의 연산을 행하는 도형처리장치로 이루어진 3차원도형처리장치에 있어서, 은면과 은선소거처리로부터 생성된 변데이터를 표시하도록 비디오영상데이터를 기억하는 프레임메모리장치와, 래스터형 표시장치와, 상기 표시장치에 대하여 상기 비디오영상데이터에 응답해서 영상을 표시하는 장치를 부가하여 구성하고, 또한 상기 도형처리연산장치는, 3차원형상의 표면을, 3차원형상의 변을 공유하지 않는 3각형면과 3차원형상의 변을 공유하는 3각형면으로 분할하는 수단과, 각각의 3차원형상의 표면을 표현하고 있는 3각형면 사이에 상호간섭의 관계를 판정하고, 3각형의 면이 교차하는 경우에는 상기 3각형을 미세분할하는 형상연산을 행함으로써, 정밀한 형상을 구하는 수단과, 3차원형상의 표면을 표현하고 있는 3각형면데이터로부터, 3차원런렝쓰데이터를 구하고, 이 런렝쓰데이터를 사용하여 다수의 특성을 계산하는 수단과, 3차원형상을 표현하고 있는 3각형면데이터로부터 변데이터를 구하고, 이 변데이터와 3각형면데이터 사이의 깊이를 판정함으로써 은선소거처리를 행하여 형상을 표시하는 수단을 구비한 것을 특징으로 한다.
상기 구성에 따른, 종래의 방법과 본 발명의 방법을 비교하기 위하여, 제 2(a)도~제 2(d)도와 제 5 도를 참조하면서 이하 설명한다.
상기 종래의 문제점을 해결하기 위하여 본 발명에서는, 입체도형을 표현할 경우, "입체도형의 변을 반드시 공유하지 않는" 3각형면을 사용한 "B-REP" 표현방법에 의한 데이터구조(제 2(d)도 참조)를 제공한다.
구체적으로는, "입체도형의 변을 반드시 공유하지 않는"이라고 하는 것은, "삼각형면이 입체도형의 변을 공유하는지의 여부에 무관하다"고 하는 의미로 사용하고 있고, 상기 방법은, "입체도형의 변을 공유하지 않는 3각형면"과 "입체도형의 변을 공유하는 삼각형면"의 집합에 의해서 입체도형을 표현한 것이다. 이에 관련하여, 종래의 방법은 입체도형의 변을 반드시 공유하여야 한다(제 2(c)도 참조).
상기한 바와같은 "입체도형의 변을 반드시 공유하지 않는 3각형면의 B-Rep법"을 사용함으로써, 제 5 도에 도시한 바와같이, 고정된 데이터길이를 가지는 간단한 데이터구조로 변형할 수 있고, 면의 데이터와 정점의 데이터만으로 구성되고, 변의 데이터는 불필요하게 된다. 상기의 유리한 조건에 의해서 간단하고 신뢰성있는 처리가 가능하고, 고속으로 처리할 수 있다.
제 2(c)도에 도시한 바와같이, 종래의 B-Rep방법을 간단한 삼각형 B-Rep방법(입체도형의 변을 공유하는 3각형면의 사용에 의한 B-Rep방법)으로만 변경한 다른 방법이 제안되고 있지만, 이 방법에서는, 데이터구조 및 도형처리연산은 단순하게 되지만, 데이터량(3각형면의 수)이 큰 규모로 증가하기 때문에 처리속도가 늦어진다.
따라서, "입체도형의 변을 반드시 공유하지 않는 삼각형면을 사용한 B-Rep방법"은, 삼각형을 기준으로 한 처리에 의해서 간단하게 되고 또한 데이터량도 감축할 수 있는 이점을 가지는 형상표현방법이다.
본 발명의 시스템에 대해서 상세하게 설명한다. 먼저, 제 1 실시예에 대해서 제 1 도를 참조하면서 이하 설명한다.
일반적으로, 3차원물체는 정육면체, 직육면체, 원주, 원추, 구 등의 3차원 기본형상에 대한 형상집합연산에 의해서 표현될 수 있다. 따라서, 3차원형상은 3차원 기본형상의 사용에 의해서 정의되고, 정의된 데이터를 일반메모리(11)에 기억시킨다. 다음에, 도형처리연산장치(10)에 의해 상기 3차원 기본형상데이터로부터 입체형상데이터를 생성한다.
본 발명에서는, "입체도형의 변을 반드시 공유하지 않는 삼각형면을 사용한 B-Rep방법"이라고 하는 신규의 형상표현방법을, 상기한 바와같은 입체형상을 위한 데이터구조에 적용하고 있다.
입체형상데이터를 3차원 기본형상데이터로부터 생성할 경우에는, 3차원 기본형상의 표면은, 제 4 도에 도시된 바와같이, 적정한 방법으로 삼각형면을 사용하여 분할한다.
제 4 도는 정육면체와 원주에 대한 3각형 분할의 예를 도시하고 있다. 다음에, 이 3각형 분할에 의해서 생성된 3각형면데이터는 3각형면데이터기억장치(13)에 기억시키고, 또한 상기 3각형의 정점의 좌표를 나타내는 정점데이터는 정점데이터메모리(14)에 기억시킨다.
그리고, 이들 3각형면데이터 및 정점데이터를 근거로해서, 도형처리연산장치(10)에 의해서 형상집합연산, 다량의 특성계산, 은선/은면소거등의 입체연산기능이 실행된다.
은면/은선소거의 결과로부터 얻은 변데이터는 변데이터메모리(15)에 저장된다. 또한, 이 실시예에서는 통신인터페이스(12)를 통해서, 상기 데이터가 모두 외부콤퓨터 또는 외부기기에 송수신 가능하다.
상기 경우에서는, 3차원 기본형상을 사용해서 형상의 정의를 부여하고 있지만, 다른 방법을 사용하여도 됨은 물론이다. 예를들면, 2차원 단면형상을 근거로해서, 형상을 스위프(sweep)하거나 회전함으로서, 입체형상데이터, 즉 3각형 B-Rep데이터를 생성할 수 있다.
다음에, 본 발명의 요지, 즉 "입체도형의 변을 반드시 공유하지 않는 B-Rep방법"에 대하여 도면을 참조하면서 상세히 설명한다.
이 표현방법에서는, 제 2(d)도에 도시한 바와같이, "입체도형의 변을 공유하지 않는 3각형"과 "입체도형의 변을 공유하는 3각형"의 집합에 의해서 형상의 표면을 도시하고 있다. 따라서, 이 방법은, 3각형의 사용을 기초로한 처리에 의해서 단순성과 고속성의 이점을 얻는 것과 다량의 데이터의 회피를 달성하는 것이 양립되고 있다(제 2(c)도와 제 2(d)도를 비교참조).
상기 데이터구조는, 제 5 도에 도시한 바와같이, 헤더, 3각형면데이터, 정점데이터로 구성된다. 종래의 B-Rep법에 비해서, 데이터구조가 상당히 단순화되어 있다. 즉, 상기 구조는 고정길이로 이루어진 1차원 리스트구조를 가지고 있고, 변데이터를 필요로 하고 있지 않다.
헤더부에는 최초의 3각형면데이터와 최후의 3각형면데이터를 나타내는 포인터가 있다. 상기 헤더부는 3각형면데이터를 제어한다. 3각형면데이터부는, 양방향포인터를 구비한 고정길이로 이루어진 1차원 리스트구조를 가지고 있다. 그 구성은, 양방향포인터, 정점데이터를 위한 포인터(v1,v2,v3), 정점에서 서로 인접하는 3각형면을 위한 포인터(t1,t2,t3,t4,t5,t6), 법선벡터(nx,ny,nz), 색데이터(c), 속성데이터(a)등으로 구성된다(제 6 도 참조). 형상의 외부로 향하는 방향이 법선벡터의 정방향이다.
인접하는 3각형이 없는 경우에는, t1(i=1, ……6)에 0이 부여된다. 예를들면, 제 7 도의 예에서는 t1과 t3에 0이 부여된다. 정점데이터는 정점을 나타내는 X좌표, Y좌표, Z좌표로 구성된다.
다음에, 형상의 집합연산에 대해서 설명한다. 먼저, 형상의 합집합연산에 대해서 설명한다. 형상의 합집합연산은, 연산을 행하고자하는 2개의 형상의 표면을 구성하는 3각형의 상호위치 관계를 정의하고, 3각형이 다른 3각형을 교차하는 경우에는 삼각형을 미세분할함으로서 구할 수 있다.
형상의 합집합연산처리에 대해서 제 8 도의 흐름도를 참조하면서 상세히 설명한다. 여기서는, 형상(A)과 형상(B) 사이의 합집합연산을 구한다. 형상(A)를 구성하는 3각형면데이터는 tAl(i=0,1,……)로 표현되고, 형상(B)를 구성하는 3각형면데이터는 tBj(j=0,1……)로 표현된다.
먼저, i=0을 초기조건으로 설정한다(스텝 80). 다음에, 3각형면데이터(tAl)를 3각형면데이터메모리(13)로부터 순차적으로 판독한다(스텝 81).
다음에, 각각의 tAl에 대해서, j=o를 초기조건으로 설정하고(스텝 83), 3각형면데이터(tBj)를 3각형면데이터메모리(13)로부터 순차적으로 판독한다(스텝 84).
다음에, tAl와 tBj사이의 위치관계를 검사하고, 3각형이 다른 3각형과 교차하는지의 여부를 판정한다(스텝 86). 3각형이 다른 3각형과 교차하는 경우에는 tAl와 tBj를 미세분할한다(스텝 87).
제 9 도에 도시한 바와같이, 상기 분할패턴에는 2종류의 경우가 있다. 한 종류의 경우에는 양자의 교차선(95)이 3각형의 2변에서 교차하고(제 9(a)도), 다른 한 종류의 경우에는 상기 교차선(95)이 3각형의 1변 및 정점에서 교차한다(제 9(b)도). 이와같이, 본 발명의 방법은 선택할 수 있는 2종류의 경우만을 가지는 단순처리를 부여한다.
스텝 80에서 스텝 87까지의 상기 처리를 3각형의 모든 조합에 대해서 행한다. 다음에, 각각의 형상의 내부에 있는 3각형면을 소거한다(스텝 88). 그리고, 형상(A)와 형상(B) 사이의 교차선상에서 정점, 즉 공통정점을 구한다(스텝 89). 다음에, 상기 공통정점에 대해서 인접하는 3각형의 위상수학(Topology)(3각형의 인접관계)을 재생성한다(스텝 90).
상기한 바와같은 3각형의 미세분할을 반복하는 경우, 제10(a)도에 도시한 바와같이, 불필요하게, 미세분할될 수 있다. 따라서, 재합성할 수 있는 3각형이 있는 경우에는, 즉 인접하는 3각형의 변이 일직선으로 되는 경우에는, 제10(b)도에 도시한 바와같이 재합성처리를 행할 수 있다(스텝 91).
상기 재합성처리에서는, "변을 공유하지 않는"쪽이 "변을 공유하는" 경우에 비해서 3각형이 적게 결합되어 있으므로, 처리가 단순하고 고속으로 된다. 이 처리에 의해서, 3각형면의 데이터량을 감소시킬 수 있다. 이상이 형상합연산에 대한 처리순서이다.
다음에, 형상의 교차연산에 대해서 설명한다. 교차연산에 대한 처리는 합집합연산의 경우와 전적으로 동일하다. 유일하게 다른 것은 스텝 88의 처리가 각각의 형상의 외부에 있는 3각형을 소거한다고 하는 것이다.
다음에, 형상의 감산연산에 대해서 설명한다. 이 경우에는, 형상(A)로부터 형상(B)를 감산한다. 사전처리로서, 형상(B)의 3각형면데이터는, 삼각형의 표면을 각각 뒤집어지도록 재배열한다. 다음에, 입체형상의 교차연산을 행한다.
다음에, 다수의 특성계산(체적, 중심(重心), 관성모멘트등)에 대해서 설명한다. 다수의 특성을 계산할 경우에는, 그 형상을 표현하고 있는 3각형 데이터로부터 3차원 런렝쓰데이터를 구하고, 이 데이터를 사용하여 다수의 특성계산을 행한다.
상기 실시예에서는, 런렝쓰데이터의 방향을 Y축방향으로 가정한다. 제11(a)도, 제11(b)도에 도시된 흐름도를 참조하면서, 3각형면데이터처리연산을 이하 설명한다. 먼저, i=0을 초기조건으로 설정한다(스텝 100). 다음에, 3각형면데이터(t1)를 3각형면데이터메모리(13)로부터 순차적으로 판독한다(스텝 101).
그리고, 상기 3각형면데이터에 존재하는 X좌표 및 Z좌표의 범위(Xmin, Zmin)-(Xmax, Zmax)를 계산한다(스텝 103). 다음에, Z=Zmin, X=Xmin을 초기의 조건으로 설정한다(스텝 104, 스텝 105).
그리고, Y축에 평행한 직선(X,Z)과 3각형면데이터(t1) 사이의 교차점에서 Y좌표(y)를 계산한다(스텝 106). 교차점이 존재하지 않을 경우에는 스텝 107에서 스텝 114로 점프한다. 다음에, 메모리(11)에 저장되어 있는 런렝쓰데이터의 시점(y11)/종점(y21)과 Y좌표(y)간의 비교를 행한다. 런렝쓰데이터(j)에 대한 조건에(y1j)<y<y2j)이 성립될 경우에는, 스텝 109로 이행되고, 런렝쓰데이터(j)와 런렝쓰데이터(j+1) 사이의 조건(y2j<y<y1(j+1))이 성립될 경우에는, 스텝 110으로 이행된다(스텝 108).
스텝 109에서 3각형면데이터(t1)의 법선벡터의 Y좌표(ny1)의 부호를 검사한다. 검사결과가 부(-)일 경우에는 스텝 111로 이행되고, 검사결과가 정(+)일 경우에는 스텝 112로 이행된다.
스텝 111에서 런렝쓰데이터의 플래그(fj)의 값을 검사한다. 값이 1일 경우에는 경우 ①로 이행되고, 값이 2일 경우에는 경우 ②로 이행되고, 값이 3일 경우에는 경우 ③으로 이행된다. 여기서, 플래그(fj)의 값이 1일 경우에는, 런렝쓰데이터(j)의 개시점만이 확정되고, 플래그(fj)의 값이 2일 경우에는, 런렝쓰데이터(j)의 종료점만이 확정된다. 또한, 상기 값이 3일 경우에는, 런렝쓰데이터(j)의 개시점과 종료점이 각각 확정된다. 개시점과 종료점이 미정일 경우에는 인접하는 런렝쓰데이터의 값이 임시값으로 메모리에 저장된다.
스텝(112)에서도, 스텝(111)과 마찬가지로 런렝쓰데이터의 플래그(fj)의 값을 검사한다. 값이 1일 경우에는 경우 ④로 이행되고, 값이 2일 경우에는 경우 ⑤로 이행되고, 값이 3일 경우에는 경우 ⑥으로 이행된다.
스텝(110)에서도, 스텝(109)와 마찬가지로, Y좌표(ny1)의 부호를 검사한다. 검사결과가 부(-)일 경우에는 경우 ⑦로 이행되고, 검사결과가 정(+)일 경우에는 경우 ⑧로 이행된다.
경우 ①~경우 ⑧과 스텝(113)에서, 경우 ①~경우 ⑧의 상태에 따라서 런렝쓰데이터를 수정과 부가를 행한다. 수정과 부가를 행한 데이터를 메모리(11)에 저장한다.
스텝(106)~스텝(113)의 상기 처리를, Xmin
Figure kpo00001
X
Figure kpo00002
Xmax, Zmin
Figure kpo00003
Z
Figure kpo00004
Zmax를 만족하는 모든 주사라인(X,Z)에 관련하여 행한다.
스텝(101)~스텝(118)에 관계되는 상기 처리를, 모든 3각형면데이터(t1)에 관련하여 행한다. 결과적으로, 3각형면데이터로부터 3차원 런렝쓰데이터가 생성된다. 3차원 런렝쓰데이터로부터 다수의 특성을 구하는 방법은 일본국 특개소 62-1075호 공보에 상세히 설명되어 있으므로 생략한다.
다음에, 은선소거처리를 행하는 방법에 대해서 이하 설명한다. 시스템이 최종적으로 변데이터와 3각형면데이터 사이의 깊이를 비교하기 전에, 초기에 3차원형상을 지정하는 3각형면에 의한 변데이터를 결정함으로써, 상기 은선소거처리를 순차적으로 행한다.
3각형면데이터로부터 변데이터를 구하는 방법을, 제12도에 도시된 흐름도를 참조하면서 상세히 이하 설명한다.
먼저, i=0을 초기조건으로 설정한다(스텝 120). 그리고, 3각형면데이터(t1)(i=0,1,……)를 3각형면데이터메모리(13)로부터 순차적으로 판독한다(스텝 121). 시선방향에서 본 삼각형면데이터(t1)의 법선을 구하고(스텝 123), 시선방향에서 볼 경우 표면인지 이면인지를 판정한다(스텝 124). 처리장치가 이면을 식별할 경우에는 다음의 3각형면데이터를 판독한다. 다음에, t1에 인접하는 3각형면데이터(tk)를 판독한다(스텝 125). 제13(a)도에 도시한 바와같이 삼각형면데이터(tk)는 최대로 6개이다. 그리고, 데이터(tk)의 법선벡터를 구한다(스텝 126). 상기 데이터(tl), (tk)의 법선벡터가 서로 일치하는지의 여부를 판정함으로서, 변데이터의 생성여부를 처리장치에서 판정한다. 변데이터가 생성되지 않을 경우에는 다음의 3각형면데이터를 판독한다(스텝 127). 변데이터가 생성가능하다고 처리장치가 판정하면, 처리장치는 변데이터 값(V1V2)를 구하여 변데이터메모리(15)에 저장한다(스텝 128). 제13(b),(c),(d)도에 도시한 바와같이, 3종류의 변데이터패턴이 있다. 그리고, 개시점(V1)을 데이터(V0)로 메모리에 저장한다(스텝 129).
다음에, 처리장치는 개시점(V2)을 가지는 변을 생성하는 한쌍의 3각형면데이터(tj,tk)를 구한다(스텝 130). 그리고 처리장치는 변데이터(v1,v2)를 구하여 변데이터메모리(15)에 저장한다(스텝 131).
이상의 스텝(130)과 스텝(131)의 처리를, 개시점(V0)으로 복구될때까지 반복한다. 그리고, 이상의 스텝(121)로부터 스텝(133)까지의 처리를 모든 3각형면데이터(t1)에 대해서 행한다. 결과적으로, 모든 변데이터는, 변데이터기억장치(15)에 최종적으로 기록되기 전에 생성된다.
다음에, 변데이터와 3각형면데이터간의 깊이를 판정하고, 변데이터가 3각형면데이터에 의해서 은폐되는 변데이터의 부분을 소거하는 처리(은선소거)에 대하여 제14(a)도, 제14(b)도에 도시된 흐름도를 참조하면서 상세히 이하 설명한다.
먼저, 변데이터(V1V2)를 변데이터메모리(15)로부터 판독한다(스텝 140). 그리고, 3각형면데이터(t)를 3각형면데이터메모리(13)로부터 순차적으로 판독한다(스텝 142). 다음에, 시선방향(Z축의 방향)으로부터 관찰할 경우, 변데이터(V1V2)와 3각형면데이터(t)가 교차하는 다음의 점을 구한다(스텝 144), 제15도 참조).
P(px, py, pz), Q(qx, qy, qz)
R(rx, ry, rz), S(sx, sy, sz)
여기서, P, Q는 변데이터(V1V2)위에 있는 점이고, R, S는 3각형면의 변위에 있는 점이다. P는 R에 대응하고 있고, Q는 S에 대응하고 있다. 또, m1,m2는 각각, V1=0, V2=1일 경우, 변데이터(V1V2)위에 있는 P,Q의 1차원 좌표값이다.
다음에, 시선방향(Z축 방향)으로부터 볼 경우 변데이터(V1V2)와 3각형면데이터(t)가 서로 교차하는지의 여부를 검사한다. 교차하지 않을 경우에는(1
Figure kpo00005
m1또는 m2
Figure kpo00006
0일때), 스텝 142로 다시 되돌아가서, 처리장치는 다음의 3각형면데이터를 판독한다. 교차할 경우에는, 다음의 스텝으로 진행한다(스텝 145). 그리고, m1
Figure kpo00007
0일때 스텝 147로 이행하고, 0<m1<1일때 스텝 167로 이행한다(스텝 146). 스텝 147에서 0
Figure kpo00008
m2<1일때 스텝 148로 이행하고, 1
Figure kpo00009
m2일때 스텝 158로 이행한다. 스텝 148에서, 제16도에 도시한 바와같이, P가 변데이터(V1V2)의 상부위치를 떠나기 때문에, 다음 방정식을 적용한다.
P'(px, py, pz)=V1(v1x, v1y, v1z)
다음에, 조건(P)에 따라서, 처리장치는 R를 R'로 수정한다.
다음에, pz
Figure kpo00010
rz일 경우에는 스텝 150으로 이행하고, 그렇지 않으면 스텝 154로 이행한다(스텝 149). 스텝 150에서, qz
Figure kpo00011
sz일 경우에는, 변데이터(V1V2)를 3각형면에 의해서 은폐시킬 수 없기 때문에, 다음의 3각형면데이터 판독하는 스텝 142로 복구하고, 그렇지 않으면 스텝 151로 이행한다. 그리고, 변데이터(V1V2)와 3각형면데이터(t) 사이의 교찬점(G)를 구한다(스텝 151). 다음에, 처리장치는 Q는 V1'로 대치하고, V2는 V2'로 대치하고, 변데이터메모리(15)의 변데이터(V1V2)를, V2=G로 수정한다(스텝 152). 그리고, 변데이터메모리(15)에 변데이터(V1'V2')를 기억(삽입)시키고, 다음의 3각형면데이터를 판독하는 스텝 142로 복구한다(스텝 153).
또한, 스텝 154에서, qz
Figure kpo00012
sz일 경우에는 스텝 155로 이행하고, 그렇지 않으면 스텝 157로 이행한다. 그리고, 스텝 155에서 변데이터(V1V2)와 3각형면데이터(t) 사이의 교차점(G)를 구한다. 그리고, 변데이터메모리(15)의 변데이터(V1V2)를, V1=G으로 수정한다(스텝 156). 스텝 157에서, 변데이터기억장치(15)의 변데이터(V1V2)를, V1=Q로 수정한다. 그리고, 다음의 3각형면데이터를 판독하는(스텝 142)으로 복구한다.
제17(a)도는, 시선방향(Z축 방향)으로부터 보는 바와같이, 스텝 148에서부터 스텝 157까지의 처리를 나타내고 있다.
마찬가지로, 제17(b)도는 스텝 158에서부터 스텝 166까지의 처리를 나타내고, 제17(c)도는 스텝 168에서부터 스텝 178까지의 처리를 나타내고, 제17(d)도는 스텝 179에서부터 스텝 188까지의 처리를 나타낸다.
스텝 148에서부터 스텝 157까지의 범위내에 있는 상기 경우와 마찬가지로, 제17(b)도~제17(d)도에 도시된 각각의 경우를 처리할 경우, 필요에 따라서 변데이터메모리(15)에 저장된 변데이터(V1V2)를 수정하거나 소거하고, 또한 변데이터메모리(15)에 변데이터(V1'V2')를 삽입한다.
다음에, 본 발명의 제 2 실시예에 대해서 제18도를 참조하면서 상세히 설명한다. 제 2 실시예는 제 1 실시예의 도형처리 시스템에 표시장치를 부가한 도형처리시스템에 관한 것이다. 즉, 제 1 실시예에서는, 3각형면데이터의 생성, 형상집합연산, 다수의 특성계산, 은면과 은선소거처리등의 입체기능이 실행된다. 제 1 실시예의 시스템은, 은면과 은선소거처리로부터 생성된 변데이터를 표시하기 위하여 통신인터페이스(12)를 개재해서, 그래픽디스플레이장치와 접속하여 사용하지 않으면 안된다. 그리하여, 제 2 실시예는 표시장치를 부가하여 표시기능을 가진 시스템을 제공한다. 결과적으로, 제 2 실시예는 높은 기능연산을 행할 수 있는 3차원도형처리장치를 실현하는데 있다.
제18도에 도시된 바와같이, 제 1 실시예의 기본구성에, 표시용데이터를 기억하는 프레임메모리(16), 표시스크린으로 이루어진 CRT(17), 프레임메모리의 데이터를 CRT에 표시하는 비디오제어기(17)를 부가하여 제공한다.
보다 상세하게는, 표시데이터인 은면과 은선소거처리로부터 생성된 변데이터는, 도형처리연산장치(10)에 의해 변데이터메모리(15)로부터 판독한 후, 변데이터를 표시가능한 데이터로 변환하여 프레임메모리(16)에 저장한다. 이 프레임메모리에 저장된 데이터는 비디오제어기(17)에 의해 최종적으로 CRT(18)에 표시된다.
상기의 설명으로부터 명백한 바와같이, 본 발명은 3차원 입체형상을 "입체도형의 변형 반드시 공유하지 않는 삼각형면을 사용한 B-REP표현방법"에 의해 표현한다. 이 방법에 의해, 입체형상을 표현하는 데이터구조는 3각형면데이터와 그 정점데이터만으로 구성되고, 변데이터는 불필요하게 된다. 또한, 상기 데이터구조는 1차원 고정길이의 리스트로 되므로, 본 발명의 시스템에 의해 처리되는 모든 데이터는 콤퓨터적용 데이터처리연산에 실질적인 편리를 제공한다. 이에 의해, 형성집합연산, 다수의 특성계산, 은면과 은선소거처리등의 입체연산기능을 간단한 알고리즘과 처리장치에 의해 실현하는 일이 가능하다. 결과적으로, 데이터처리기능의 신뢰성이 향상되고, 또한 처리속도도 고속화된다. 또, 변을 공유하는 3각형면데이터를 사용하는 경우에 비해서 데이터량이 대폭적으로 적어도 된다.

Claims (3)

  1. 임의의 3차원형상을 모형화하는 단계와, 상기 형상사이에 합집합연산, 교차연산, 감산연산의 형상집합연산을 행하는 단계와, 3차원형상의 체적, 중심, 관성모우먼트를 포함한 다수의 특성을 계산하는 단계와, 3차원형상을 은선소거처리하여 표시하는 단계로 이루어진 3차원도형처리방법에 있어서, 상기 모형화하는 단계에서는, 임의의 3차원형상의 표면을, 3차원형상의 변을 공유하지 않는 3각형면과 3차원형상의 변을 공유하는 3각형면의 집합에 의해서 표현하여 처리하고, 상기 형상집합연산을 행하는 단계에서는, 각각의 형상을 구성하고 있는 3각형면 사이에 상호간섭의 관계를 판정하고, 3각형면이 교차하는 경우에는, 상기 3각형을 미세분할하는 형상연산을 행함으로써 정밀한 형상을 구하고, 상기 다수의 특성을 계산하는 단계에서는, 상기 형상을 표현하고 있는 3각형면 데이터로부터 3차원 런렝쓰데이터를 구하고, 이 런렝쓰데이터를 사용하여 다수의 특성을 계산하고, 은선소거처리하여 표시하는 단계에서는, 3차원형상을 표현하고 있는 3각형면데이터로부터 변데이터를 구하고, 이 변데이터와 3각형면데이터사이의 깊이를 판정함으로써, 은선소거처리를 행하여 형상을 표시하는 것을 특징으로 하는 3차원도형처리방법.
  2. 3차원형상의 표면을 구성하는 3각형면데이터를 기억하는 3각형면데이터메모리와, 상기 3각형면데이터의 정점데이터를 기억하는 정점데이터메모리와, 상기 3각형면데이터의 변데이터를 기억하는 변데이터메모리와, 형상집합연산, 다수의 특정계산을 포함한 여러가지의 연산을 행하는 도형처리연산장치로 이루어진 3차원도형처리장치에 있어서, 상기 도형연산처리장치는, 3차원형상의 표면을, 3차원형상의 변을 공유하지 않은 3각형면과 3차원형상의 변을 공유하는 3각형면으로 분할하는 수단과, 각각의 3차원형상의 표면을 표현하고 있는 3각형면 사이에 상호간섭의 관계를 판정하고, 3각형면이 교차하는 경우에는, 상기 3각형면을 미세분할하는 형상연산을 행함으로써, 정밀한 형상을 구하는 수단과, 3차원형상의 표면을 표현하고 있는 3각형면데이터로부터 3차원런렝쓰데이터를 구하고, 이 런렝쓰데이터를 사용하여 다수의 특성을 계산하는 수단과, 3차원형상을 표현하고 있는 3각형면데이터로부터 변데이터를 구하고, 이 변데이터와 3각형면데이터사이의 깊이를 판정함으로써 은선소거처리를 행하여 형상을 표시하는 수단을 구비한 것을 특징으로 하는 3차원도형처리장치.
  3. 3차원형상의 표면을 구성하는 3각형면데이터를 기억하는 3각형면데이터메모리와, 상기 3각형면데이터의 정점데이터를 기억하는 정점데이터메모리와, 상기 3각형면데이터의 변데이터를 기억하는 변데이터메모리와, 형상집합연산, 다수의 특정계산을 포함한 여러가지의 연산을 행하는 도형처리연산장치로 이루어진 3차원도형처리장치에 있어서, 은면과 은선소거처리로부터 생성된 변데이터를 표시하도록 비디오영상데이터를 기억하는 프레임메모리장치와, 래스터형 표시장치와, 상기 표시장치에 대하여 상기 비디오영상데이터에 응답해서 영상을 표시하는 장치를 부가하여 구성하고, 또한 상기 도형처리연산장치는, 3차원형상의 표면을, 3차원형상의 변을 공유하지 않는 3각형면과 3차원형상의 변을 공유하는 3각형면으로 분할하는 수단과, 각각의 3차원형상의 표면을 표현하고 있는 3각형면 사이에 상호간섭의 관계를 판정하고, 3각형의 면이 교차하는 경우에는 상기 3각형을 미세분할하는 형상연산을 행함으로써, 정밀한 형상을 구하는 수단과, 3차원형상의 표면을 표현하고 있는 3각형면데이터로부터 3차원런렝쓰데이터를 구하고, 이 런렝쓰데이터를 사용하여 다수의 특성을 계산하는 수단과, 3차원형상을 표현하고 있는 3각형면데이터로부터 변데이터를 구하고, 이 변데이터와 3각형면데이터사이의 깊이를 판정함으로써 은선소거처리를 행하여 형상을 표시하는 수단을 구비한 것을 특징으로 하는 3차원도형처리장치.
KR1019890014560A 1988-10-12 1989-10-11 3차원도형 처리방법 및 그 장치 KR930003811B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP63256352A JPH02103687A (ja) 1988-10-12 1988-10-12 3次元図形処理方法及びその装置
JP63-256352 1988-10-12

Publications (2)

Publication Number Publication Date
KR900006882A KR900006882A (ko) 1990-05-09
KR930003811B1 true KR930003811B1 (ko) 1993-05-13

Family

ID=17291491

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019890014560A KR930003811B1 (ko) 1988-10-12 1989-10-11 3차원도형 처리방법 및 그 장치

Country Status (4)

Country Link
EP (1) EP0364243B1 (ko)
JP (1) JPH02103687A (ko)
KR (1) KR930003811B1 (ko)
DE (1) DE68926208T2 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6628836B1 (en) * 1999-10-05 2003-09-30 Hewlett-Packard Development Company, L.P. Sort middle, screen space, graphics geometry compression through redundancy elimination
JP2002092633A (ja) * 2000-09-20 2002-03-29 Namco Ltd ゲームシステム及び情報記憶媒体
US7033327B2 (en) 2002-09-13 2006-04-25 3M Innovative Properties Company Method of determining the long axis of an object

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60256874A (ja) * 1984-06-01 1985-12-18 Hitachi Ltd 表示図形定義方式
JPH0769971B2 (ja) * 1984-11-20 1995-07-31 松下電器産業株式会社 3次元図形処理方法

Also Published As

Publication number Publication date
DE68926208D1 (de) 1996-05-15
EP0364243A3 (en) 1992-07-01
DE68926208T2 (de) 1996-10-31
EP0364243A2 (en) 1990-04-18
KR900006882A (ko) 1990-05-09
EP0364243B1 (en) 1996-04-10
JPH02103687A (ja) 1990-04-16

Similar Documents

Publication Publication Date Title
CN110910505B (zh) 一种场景模型的加速渲染方法
EP0531157B1 (en) Three dimensional graphics processing
Gallagher et al. Computer visualization: graphics techniques for engineering and scientific analysis
EP1271410B1 (en) Image-based method of representation and rendering of three-dimensional object
EP2051533B1 (en) 3D image rendering apparatus and method
JP3203160B2 (ja) ボリューム・レンダリング装置及び方法
US8860733B2 (en) Device for displaying cutting simulation, method for displaying cutting simulation, and program for displaying cutting simulation
US5956041A (en) Method and device for volume rendering using concentric spherical slicing isosurfaces
EP1024457A2 (en) Method for rendering graphical objects represented as surface elements
EP0854441A2 (en) Method and apparatus for rapidly rendering computer generated images of complex structures
EP1081656A2 (en) Method for interactively modeling graphical objects
JP2006506744A (ja) 区間解析を使用するコンピュータ・グラフィックスの際の可視面決定システムおよび方法
JPH0769971B2 (ja) 3次元図形処理方法
Forrest On the rendering of surfaces
JP2009116856A (ja) 画像処理装置、画像処理方法
US7567249B2 (en) Three-dimensional drawing model generation method, three-dimensional model drawing method, and program thereof
EP1026638A2 (en) Method for modeling graphical objects represented as surface elements
WO2018179253A1 (ja) ポリゴンモデル生成装置、ポリゴンモデル生成方法及びプログラム
KR930003811B1 (ko) 3차원도형 처리방법 및 그 장치
KR100298814B1 (ko) 실시간 처리가 가능한 타원해석 볼륨렌더링 방법
JP2548742B2 (ja) 3次元シーン表示装置
Crocker Screen-area coherence for interactive scanline display algorithms
KR100219587B1 (ko) 강체를 3차원 컴퓨터 그래픽으로 표현하기 위한 블럭 자료구조와 전후 스캐닝 은면 제거 방법
JP3132220B2 (ja) 3次元モデルの形状作成方法
Hertzmann New Insights in Smooth Occluding Contours for Nonphotorealistic Rendering

Legal Events

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

Payment date: 19980507

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee