KR100737221B1 - 숨겨진 라인이 제거된 벡터 이미지를 제공하는 방법 - Google Patents

숨겨진 라인이 제거된 벡터 이미지를 제공하는 방법 Download PDF

Info

Publication number
KR100737221B1
KR100737221B1 KR1020040059074A KR20040059074A KR100737221B1 KR 100737221 B1 KR100737221 B1 KR 100737221B1 KR 1020040059074 A KR1020040059074 A KR 1020040059074A KR 20040059074 A KR20040059074 A KR 20040059074A KR 100737221 B1 KR100737221 B1 KR 100737221B1
Authority
KR
South Korea
Prior art keywords
line
bitmap image
image
modeled object
pixels
Prior art date
Application number
KR1020040059074A
Other languages
English (en)
Other versions
KR20050013511A (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 KR20050013511A publication Critical patent/KR20050013511A/ko
Application granted granted Critical
Publication of KR100737221B1 publication Critical patent/KR100737221B1/ko

Links

Images

Classifications

    • 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

Abstract

숨겨진 라인이 제거된 모델링된 물체의 도의 벡터 이미지를 계산하기 위하여, 숨겨진 라인이 제거된 모델링된 물체의 비트맵 이미지가 먼저 그래픽 카드에서 계산된다(22). 모델링된 물체의 각각의 라인에 대하여, 동일한 도에서의 라인의 래스터가 계산된다(26). 래스터의 픽셀은 비트맵 이미지의 대응하는 픽셀과 비교되어 (30), 비트맵 이미지에 래스터의 픽셀과 대응하는 픽셀이 존재하는지 여부를 결정한다. 비교의 결과에 따라서, 라인의 보이는 부분은 결정된다 (38).
벡터 이미지, 모델링된 물체, 숨겨진 라인

Description

숨겨진 라인이 제거된 벡터 이미지를 제공하는 방법{A PROCESS FOR PROVIDING A VECTOR IMAGE WITH REMOVED HIDDEN LINES}
비한정적인 예시의 방법으로 다음의 도면을 참조하여 본 발명을 구현하는 컴퓨터-에이디드 디자인 시스템을 설명한다.
도 1 은 모델링된 물체의 개략적인 와이어-프레임 (wire-frame) 도.
도 2 및 도 3 은 도 1 과 유사하나, 숨겨진 라인이 제거된 도.
도 4 는 본 발명의 제 1 실시형태에서의 방법의 플로우 차트.
도 5 는 도 2 의 물체의 비트맵 이미지의 확대된 도.
도 6 내지 도 12 는 종래 기술 해결책 및 본 발명의 방법을 이용하여 얻어진 모델링된 물체의 도.
※ 도면의 주요 부분의 부호의 설명 ※
2 : 베이시스 4 : 실린더
6, 8 : 수직 라인 14, 16 : 포인트
본 발명은 컴퓨터 프로그램 및 시스템 분야, 더 자세하게는 부품 디자인 프로그램 및 시스템에 관한 것이다.
CATIA 라는 상표로 본 출원인에 의해 제공되는 것과 같은, 부품 또는 부품의 어셈블리의 디자인에 대한 시장에, 다수의 시스템 및 프로그램이 제공된다. 이러한 소위 컴퓨터-에이디드 디자인 (CAD) 시스템은 사용자가 부품 또는 부품의 어셈블리의 복잡한 3 차원 (3D) 모델을 구성하고 취급할 수 있게 한다. 어셈블리의 모델을 생성하기 위해, 다수의 상이한 모델링 기술이 이용될 수 있다. 이러한 기술은 솔리드 모델링 (solid modelling), 와이어-프레임 모델링 (wire-frame modellimg), 및 서패이스 모델링 (surface modelling) 을 포함한다. 솔리드 모델링 기술은, 예를 들어 토폴로지 3D 모델에 대해 제공되며, 여기서 3D 모델은 상호연결된 에지 (edge) 와 면 (face) 의 집합이다. 기하학적으로, 3D 솔리드 모델은 폐쇄 스킨 (closed skin) 을 정의하는 트림드 서패이스 (trimmed surfaces) 또는 한정된 서패이스의 집합이다. 트림드 서패이스는 에지에 의해 경계지어지는 토폴로지 면에 대응한다. 폐쇄 스킨은 부품의 재료로 채워진 3D 공간의 경계 영역을 정의한다. 한편, 와이어-프레임 모델링 기술은 모델을 간단한 3D 라인의 집합으로 표시하는데 이용될 수 있으나, 반면에 서패이스 모델링은 모델을 외부 서패이스의 집합으로 표시하는데 이용될 수 있다. CAD 시스템은 이러한 모델링 기술들을 파라미터 모델링 기술 등의 모델링 기술과 결합시킬 수 있다. 따라서, CAD 시스템은 에지 또는 라인을 이용한, 어떤 경우에는 면을 이용한, 모델링된 물체의 표현을 제공한다. 예를 들어, 비-균일한 래셔널 B-스플라인 (NURBS; non-uniform rational B-spline) 과 같은 다양한 방법으로 라인 또는 에지가 표현될 수도 있다.
CAD 시스템의 사용자들에게 일반적으로 요구되는 하나의 기능은, 예를 들어 드로잉 등을 생성하기 위한, 모델링된 물체의 이미지를 생성하는 능력이다. 아래에 설명하는 것과 같이, 그러한 이미지에서 모델링된 물체는 라인의 세트로 표현되며, 라인은 일반적으로 모델링된 물체의 에지 및 실루엣에 대응하고, 실루엣은 보이는 라인이다. 실재 물체가 보여진다 하더라도, 숨겨진 라인을 제거하는 것, 즉 이미지로부터 사용자에 의해 보일 수 없는 물체의 라인의 표시를 제거하는 것은 유용할 수도 있다. CAD 시스템의 구성요소들의 정의뿐만 아니라 이러한 기능은 도 1 내지 도 3 을 참조하여 예시되어 있다.
도 1 은 상부 표면에 실린더 (4) 를 구비한 평행 육면체 베이시스 (2; basis) 가 형성된 물체의 와이어 프레임 도를 도시한다. 베이시스는 6 개의 면으로 형성되며, 각각의 면은 무한한 평면의 한정된 면이다. 실린더는 3 개의 면을 가지는 것으로 보일 수 있고, 상부 면 및 하부 면은 디스크이다. 디스크는 무한한 평면의 한정이다. 실린더의 옆면은 원통 모양의 벽이다. 원통모양의 벽은 튜브를 형성하는 무한 표면의 한정이다. 이 표면은 두 개의 원에 의해 경계지워지거나 한정된다. 모자이크식 표현 (tessellated representation) 에서, 물체는 면의 세트로 표시될 수 있으며, 면은 다각형, 대개는 삼각형이다. 제안된 예에서, 베이시스의 옆 면 및 하부 면은 각각 두 개의 삼각형, 베이시스 (2) 의 상부 면, 실린더 (4) 의 하부 디스크의 외부로 표시될 수 있고, 실린더의 옆 면 및 상부 면은 많은 수의 면으로 표시될 수 있다. "에지" 라는 용어는 면의 토폴로지 경계를 결정하고, "와이어" 라는 용어는 모노파라미터 요소를 결정한다. "실루엣" (또는 아웃라인) 이라는 용어는 아래에서 예시한 바와 같이, 보이는 모노파라미터 요소이다. 상세한 설명의 나머지에서, "라인" 이라는 용어는 에지, 와이어, 실루엣 또는 다른 모노파라미터 커브를 포함한다.
도 1 의 예에서, 실린더 (4) 의 에지 뿐만 아니라 베이시스 (2) 의 에지를 나타내는 라인이 표현된다. 또한 도 1 은 실린더의 경계를 표시하는 2 개의 수직 라인 (6 및 8) 을 도시한다. 이러한 라인들은 실제로는 모델링된 물체의 에지는 아니지만, 여전히 이미지 상에는 나타나며, 이러한 라인들은 실제로는 도 (view) 에 의존하기 때문에 보이는 라인 또는 실루엣이다. 도 1 의 와이어 프레임 도에서, 모델링된 물체의 모든 라인들이 표현된다. 이러한 라인들은 보통은 숨겨진 에지 또는 에지의 부분을 포함한다.
도 2 는, 숨겨진 라인이 제거된 도 1 의 모델링된 물체의 도를 도시한다. 도 2 에서, 이러한 숨겨진 라인들은 전혀 표시되지 않는다. 예를 들어, 베이시스 (2) 의 라인 (10) 은 중간 부근에서, 뷰어 (viewer) 로부터 실린더 (4) 에 의해 숨겨진 부분에서, 가로막힌다. 포인트 (14 및 16) 는 라인 (10) 과 수직 라인 (6 및 8) 과의 교점을 도시한다. 도 2 의 라인 (12) 는 베이시스 (4) 의 앞 하부 라인이기 때문에 완전히 보인다.
도 3 은 숨겨진 라인이 제거된 도 1 의 모델링된 물체의 도를 도시하고, 도 3 에서는 이러한 숨겨진 라인들은 점선으로 표시된다. 예를 들어, 베이시스 (2) 의 라인 (10) 은 중간 부근에서 점선으로 표시된다. 제도공을 위해, 도 2 및 도 3 양자는 숨겨진 라인이 제거된 도를 도시한다. 예를 들어, 또한 숨겨진 라인에 대하여 다른 컬러 등을 이용하여 다른 그래픽 표시를 또한 선택할 수 있다. 이러한 사양에서의 숨겨진 라인의 제거는, 라인 또는 에지의 표시가 관계되는 도에서 숨겨지는지 또는 보이는지에 따라서 변하는 모든 예들을 커버한다. 도 1 의 표시가 사시도라 할 지라도, 숨겨진 라인을 제거할 때의 동일한 문제는 평면도 또는 측면도와 같은 다른 타입의 도에서도 나타난다.
모델링된 물체의 이미지는 다른 타입일 수도 있다. 비트맵 이미지는 이미지를 컴퓨터 스크린 상의 최종 사용자에게 디스플레이하기 위한 목적으로 현저하게 사용된다. 컴퓨터 스크린은 2 차원 픽셀의 매트릭스이고 비트맵 이미지는 2차원 값의 매트릭스이다. 이러한 값들은 블랙 및 화이트 디스플레이를 위한 이진수일 수도 있고 또는 예를 들어 컬러 디스플레이를 위한 더 복잡한 값일 수도 있다. 따라서, 비트맵 이미지는 이미지의 다른 픽셀에 대한 컬러 값을 표시하는 값들의 세트이다. 벡터 이미지는 라인 또는 커브로 형성되며 단순한 픽셀 엘리먼트로 형성되지는 않는다. 따라서 벡터 이미지는 일련의 라인에 의해 표시된다. 예를 들어, 도 1 의 비트맵 이미지는 다양한 라인을 표시하기 위한 다수의 픽셀을 포함한다. 도 1 의 벡터 이미지는 14 개의 라인 및 2 개의 원을 포함한다. 다른 식으로, 원은 다수의 직선 단편으로서 정의될 수 있다. 당업자들은 벡터 이미지에서 사용되는 라인을 표시하는 타입은 이미지 포맷에 따라 변할 수도 있다는 것을 안다.
숨겨진 라인을 제거하는 해결책은 공지되어 있다. "페인터 알고리즘" 이라고 알려진 하나의 알고리즘은 모델링된 물체의 모자이크식 표현, 즉 에지 및 파 셋 (facet) 의 세트로서의 모델링된 물체의 표시를 시작 베이시스로 이용한다. 본 알고리즘은 이미지에서 각각의 에지 및 파셋을 연속적으로 드로잉하는 것에 있다. 에지 또는 면의 픽셀이 드로잉될 때, 알고리즘은 이 픽셀이 이미지 상에 이미 드로잉된 픽셀의 앞 또는 뒤에서 도에 나타나는지 여부를 체크한다. 후자의 경우, 픽셀은 도시되지 않는다. 전자의 경우, 에지 또는 면의 픽셀은 이미지에 존재하는 픽셀을 대신한다. 본 알고리즘은 이미지 상에 드로잉된 각각의 픽셀에 대한 도에서의 픽셀의 깊이를 표시하는 깊이 값을 저장하는 것을 필요로 한다. 본 알고리즘은 숨겨진 라인이 제거된 모델링된 물체의 비트맵 이미지를 제공한다. 본 알로리즘의 부산물은 깊이 이미지이며, 여기에는 이미지의 각각의 드로잉된 픽셀에 대한 도에서 깊이를 표시하는 저장된 값이 있다. 예를 들어, 본 알고리즘은 "OpenGL Programming Guide, Third Edition, Addison Wesley" 에 개시된다. 본 알고리즘은 빠르게 응답하지만, 단지 픽셀 이미지를 제공하는 것에 적합하다.
CATIA 상표로 팔리는 디자인 시스템에서, 모델링된 물체의 벡터 이미지를 제공하는 프로그램이 제공된다. 본 프로그램은 모델링된 물체의 표시에서의 각각의 에지에 대해, 이 에지가 다른 에지 또는 모델링된 물체의 면에 의해 감추어지는지 여부를 결정함으로써 동작한다. 본 프로그램은 만족스럽지만, 그러나 복잡한 이미지에 대해 디자인 시스템의 사용자들이 느끼기에 충분한 중요한 계산 시간을 요구할 수 있다.
이미지로부터 숨겨진 라인을 제거하는 해결책은 "쉐이딩(shading)" 이란 용 어로 공지되며, 쉐이딩의 상세한 타입은 "숨겨진 라인 동적 제거기" 이다. 쉐이딩은 "OpenGL Programming Guide, Third Edition, Addison Wesley, pp.584 et seq" 에 개시된다. 숨겨진 라인 동적 제거기는 CATIA V5 에 사용된다. 본 마지막 해결책은 모델링된 물체의 모자이크식 표현에서 면의 컬러를 변경한다. 면의 컬러는 배경 컬러로 변경된다. 수정된 모자이크식 물체는 그래픽 카드에 적용된다. 결과물은 숨겨진 라인을 가지고 있는 비트맵 이미지이며, 면은 배경과 동일한 컬러를 가지고 있기 때문에 사용자에게 나타나지 않는다. 그러나, 실제로 면은 그래픽 카드에는 드로잉되고, 리어(rear) 에지는 숨겨져 나타난다. 예를 들어 본 해결책은 스크린 상에 모델링된 물체의 이미지를 디스플레이할 때는 만족스럽지만, 단지 비트맵 이미지만을 제공한다.
따라서, 숨겨진 라인이 제거된 모델링된 물체의 벡터 이미지를 제공하는 해결책에 대한 필요성이 존재한다. 심지어 큰 모델링된 물체에 대해서도 해결책이 쉽게 구현되고, 과도한 CPU 시간 또는 메모리 공간을 요구하지 않는 것이 바람직하다.
본 발명에 따라서, 숨겨진 라인이 제거된 모델링된 물체의 도의 벡터 이미지를 제공하는 컴퓨터-구현된 방법이 제공되며, 본 방법은
- 숨겨진 라인이 제거된, 모델링된 물체의 비트맵 이미지의 도를 제공하는 단계;
- 벡터 이미지의 라인에 대하여,
도에서의 라인의 래스터를 제공하는 단계,
래스터 픽셀과 비트맵 이미지의 픽셀을 비교하는 단계, 및
본 비교하는 단계의 결과에 따라, 라인의 보이는 부분을 결정하는 단계를 포함한다.
바람직한 실시형태에서, 비트맵 이미지를 제공하는 단계는 하드웨어 로직의 비트맵 이미지, 예를 들어 그래픽 카드에서 계산된 비트맵 이미지를 계산하는 단계를 포함한다.
바람직하게는, 모델링된 물체는 에지 및 면을 가지는 모자이크식 표현으로 제공되며, 라인은 모자이크식 표현의 에지 및 실루엣을 포함한다.
또다른 바람직한 실시형태에서, 모델링된 물체의 라인은 표시되고, 비트맵 이미지를 제공하는 단계는 비트맵 이미지에 픽셀을 표시하는 것을 더 포함한다. 상이한 라인은 상이한 표시가 제공되는 것이 좋다.
바람직하게는, 본 발명의 방법은 주어진 표시를 가지고 있는 라인에 대하여,
- 비트맵 이미지가 주어진 표시를 가지는 픽셀을 포함하고 있는 경우에는, 탐색을 하는 단계 및
- 비트맵 이미지가 주어진 표시를 가지는 픽셀을 포함하고 있지 않은 경우에는, 라인이 벡터 이미지에서 보이지 않는 것으로 결정하는 단계를 더 포함한다.
바람직한 실시형태에서, 비교하는 단계는 라인의 표시과 비트맵 이미지의 픽셀의 표시를 비교하는 단계를 더 포함하고, 모델링된 물체의 라인은 컬러-표시된 다.
또 다른 바람직한 실시형태에서, 모델링된 물체는 에지 및 파셋을 가지는 모자이크식 표현에 제공되고, 결정하는 단계는,
- 라인을 숨기는 파셋을 발견하는 단계, 및
- 파셋과 라인의 교차점을 계산하는 단계를 포함한다.
또 다른 해결책에서, 모델링된 물체는 에지 및 파셋을 가지는 모자이크식 표현으로 제공되고, 결정하는 단계는,
- 라인을 숨기는 파셋을 발견하는 단계, 및
- 라인과 파셋에 연관된 면과의 교차점을 계산하는 단계를 포함한다.
본 발명은 또한 숨겨진 라인이 제거된 모델링된 물체의 도의 벡터 이미지를 제공하는 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체를 또한 제공하며, 본 발명은 컴퓨터가
- 숨겨진 라인이 제거된, 모델링된 물체의 도의 비트맵 이미지를 수신하는 루틴;
- 도에서 모델링된 물체의 라인의 래스터를 제공하기 위한 루틴;
- 라인의 래스터의 픽셀과 비트맵 이미지의 픽셀을 비교하기 위한 루틴 및
- 비교하는 루틴에 의해 제공된 결과에 따라서, 라인의 보이는 부분을 결정하는 루틴을 수행하도록 한다.
바람직하게는, 본 프로그램은 에지 및 파셋을 가지는, 모델링된 물체의 모자이크식 표현을 수신하기에 구성된다.
바람직한 실시형태에서, 본 프로그램은 표시된 라인을 가지는 모델링된 물체 및 표시된 픽셀을 가지는 비트맵 이미지를 수신하도록 구성된다.
본 발명의 프로그램은, 비트맵 이미지가 모델링된 물체의 라인의 표시를 가지고 있는 픽셀을 포함하는지 여부를 컴퓨터가 탐색하기 위한 루틴을 추가적으로 수행하도록 한다. 본 프로그램이 컬러 표시된 모델링된 물체 및 컬러 표시된 픽셀을 가지는 비트맵 이미지를 수신하기에 적합한 것이 바람직하다.
바람직한 실시형태에서, 본 발명은 모자이크식 표현에서 에지 및 파셋을 가지는 모델링된 물체를 수신하는 것이 적합하고, 결정하는 루틴은,
- 라인을 숨기는 파셋을 발견하는 것 및
- 파셋과 라인과의 교차점을 계산하는 것에 적합하다.
다른 바람직한 실시형태에서, 본 발명은 모자이크식 표현에서 에지 및 파셋을 가지는 모델링된 물체를 수신하는 것이 적합하고, 결정하는 루틴은,
- 라인을 숨기는 파셋을 발견하는 것 및
- 라인과 파셋에 의해 표시되는 면의 교차점을 계산하는 것에 적합하다.
본 발명은 컴퓨터 그래픽 카드에서 구현된 것과 같이, 숨겨진 라인이 제거된 모델링된 물체의 비트맵 이미지를 제공하기 위한 기존의 해결책을 이용한다. 모델링된 물체의 도에서의 벡터 이미지를 제공하기 위하여, 본 발명은 모델링된 물체의 도에서의 비트맵 이미지를 이용하고, 숨겨진 라인은 이미지 상에서 제거된다.
모델링된 물체의 주어진 라인, 물체의 모자이크식 표현의 예에서의 에지에 대하여, 본 발명은 라인의 래스터를 동일한 도에서 드로잉하는 것을 제안한다. 사실, 래스터는 도에서 라인의 픽셀 표시이다. 래스터를 제공하는 것은 유일하 게 라인을 포함하는 모델링된 물체의 비트맵 이미지 도를 제공하는 것과 동등하다. 그 다음, 래스터의 픽셀과 비트맵 이미지에서의 대응하는 픽셀을 비교할 수 있다. 만약 래스터의 픽셀이 비트맵 이미지에 포함되지 않는다면, 그것은 라인의 대응하는 부분이 숨겨지고, 벡터 이미지에서 나타나지 않아야 한다는 것을 의미한다. 따라서, 본 비교는 벡터 이미지에서 보여져야 하는 라인의 부분, 벡터 이미지에서 숨겨져야 하는 라인의 부분의 결정을 가능하게 한다.
가장 간단한 실시형태에서 본 방법은 벡터 이미지의 모든 라인에서 반복될 수도 있다. 본 방법을 가속화하는 해결책을 하기에 설명한다.
본 발명은 다음 이점을 제공한다. 첫째, 본 발명은 모델링된 물체에서의 라인 수의 선형 함수인 복잡성을 갖는다. 각각의 라인이 모델링된 물체에서의 다른 모든 라인 및 면들과 비교되어야 하기 때문에, 이것은 복잡성이 라인 수의 2차 함수인 상술한 종래 프로그램과 비교되어야만 한다.
둘째, 본 발명은 간단하게 비트맵 이미지 및 래스터의 입도 (granularity) 를 간단하게 변경함으로써, 해상도를 적합하게 하는 것을 가능하게 한다. 해상도의 선택은, 전체 이미지에 대하여 동일한 해상도를 갖는, 포괄적일 수 있고 다른 해상도 또한 동일한 이미지에 사용될 수도 있다. 따라서 조잡한 해상도를 가진 모델링된 물체의 대강의 벡터 이미지를 매우 빠르게 제공할 수 있다.
셋째, 이하 상술한 바와 같이 해상도는 비트맵 이미지에서의 픽셀 사이즈보다 훨씬 작도록 증가될 수 있다.
넷째, 본 발명은 로버스트하다. 비트맵 이미지가 오류가 있지 않다는 가 정 하에서, 벡터 이미지에서 라인 상의 에러의 상한은 비트맵 이미지의 픽셀 사이즈이다. 이것은 본 발명에 따라 제공된 벡터가 비트맵 이미지만큼 믿을 수 있다는 것을 의미한다. 비트맵 이미지가 오류가 없다고 가정하는 것은 확실하므로, 따라서, 벡터 이미지는 숨겨져야만 했던 풀 (full) 라인과 같은, 심한 오류를 포함하지 않을 것이다.
본 발명의 다른 이점을 다음의 설명에서 상술한다. 위에서 기재한 바와 같이, "라인" 이란 용어는 임의의 타입의 에지, 와이어, 커브 및 실루엣 또는 단일파라미터 엘리먼트를 포함한다. 따라서, "라인" 이라는 용어는 기하학의 영역에서 직선의 기존의 의미를 넘어서 연장된다.
본 발명은 설명을 위하여 모델링된 물체의 모자이크식 표현의 예로 상술된다. 따라서 모델링된 물체는 Ei 및 Fi 로 각각 표시되는 에지 및 파셋의 세트로서 표시되며, i 및 j 는 자연수이다. 디자인 시스템의 당업자는 본 발명이 모델링된 물체의 다른 표시에도 적용될 수 있다는 것을 이해한다.
도 4 는 본 발명의 실시형태에서의 방법의 플로우 차트이다.
단계 (20) 에서, 모델링된 물체의 모자이크식 표현이 제공된다. 그러한 표시를 제공하는 방법은 당업자들에게 공지되어 있으므로, 여기에 상술되지는 않는다.
다음 단계 (22)에서, 숨겨진 라인이 제거된 모델링된 물체의 비트맵 이미지가 제공된다. 이 단계에서 소프트웨어 또는 하드웨어 해결책 또는 양 자의 혼합을 이용할 수도 있다. 예시적인 하드웨어 해결책은 그래픽 카드를 이용하고 그래픽 카드를 모델링된 물체에 적용하는데 있고, 이러한 해결책은 그래픽 카드가 제공된 어떠한 컴퓨터에서 이용될 수 있는 이점을 가지고 있다. 또한, 이것은 본 단계가 빠르게 실행될 수 있다는 것을 보장한다. 비트맵 이미지는 모니터 상에서 디스플레이하기 위해 사용되는 것일 수도 있고, 디스플레이되도록 의도되지 않은 임의의 사이즈를 가지는 가상 이미지일 수도 있다. 이미지는 메모리에 저장될 수도 있고, 온더플라이로 발생될 수도 있다.
이러한 하드웨어 해결책이 널리 바람직하다 할지라도, 또한 요구되는 비트맵 이미지를 제공하는 다른 해결책을 이용할 수 있다. 이 단계에서, 비트맵 이미지는 도 1 에서의 정면 사시도와 같은 주어진 도에서 모델링된 물체의 이미지라는 것을 이해한다.
단계 (24) 에서, 제 1 에지가 선택된다. 여기에서 상술하는 본 발명의 가장 간단한 실시형태에서, 모델링된 물체의 모자이크식 표현에서 제 1 에지 (E1) 을 간단하게 선택할 수도 있다. 후술하는 바와 같이, 모델링된 물체의 에지의 서브세트를 고려하는 것으로 충분할 수 있으며, 에지의 선형 스캔은 또한 본 방법을 수행하기 위한 요구조건이 또한 아니다.
단계 (26) 에서, 선택된 에지의 래스터가 제공된다. 상술한 바와 같이, 래스터는 비트맵 이미지를 위해 선택된 도에 대응하는 도에서, 에지의 픽셀 표시이다. 예를 들어, 만약 도가 주어진 스케일에서의 정면 사시도라면, 동일한 정면 사시도에서의 에지의 래스터를 동일한 스케일에 제공한다. 이것은, 만약 에지가 비트맵 이미지에 숨겨지지 않는다면, 래스터는 비트맵 이미지에서 에지의 표시와 슈퍼임포징하는 효과를 갖는다. 도 2 의 예에서, 에지 (12) 의 래스터는 비트맵 이미지에서 에지 (12) 의 픽셀과 슈퍼임포징할 것이다. 에지 (10) 의 래스터는, 비트맵 이미지에서의 에지의 보이는 부분에서만, 비트맵 이미지의 픽셀과 슈퍼임포징 할 것이다.
래스터를 제공하는 다양한 해결책이 있다. 요구되는 도에서의 에지를 드로잉하기 위한 소프트웨어 알고리즘을 간단하게 사용할 수 있고, 그 후 드로잉된 에지를 픽셀로 분리할 수도 있다. 또한 에지가 단일의 에지로 형성된 실제로는 모자이크식 물체라는 것을 고려할 수 있고, 본 물체의 비트맵 이미지는 에지의 래스터를 제공한다. 그러한 비트맵 이미지는 단계 (22)를 참조하여 상술된 임의의 해결책에 의해 얻어질 수도 있다.
가장 간단한 실시형태에서, 래스터의 픽셀 사이즈는 비트맵 이미지의 픽셀 사이즈와 동일하다. 이것은 이하에서 설명할 비교 단계를 간단하게 하고, 벡터 이미지에서 얻어진 해상도를 최적화한다. 그러나, 래스터에서의 픽셀 사이즈는 비트맵 이미지에서의 픽셀 사이즈와 반드시 동일할 필요가 없다. 예를 들어, 선택된 에지는 숨겨진 라인이 제거된 벡터 이미지에서 높은 해상도를 요구하지 않을 수 있다. 이 경우에, 래스터에서의 해상도, 픽셀 사이즈가 비트맵 이미지에서의 픽셀 사이즈보다 더 높다는 것을 결정할 수 있다.
단계 (26) 의 끝에서, 에지의 래스터 및 숨겨진 라인이 제거된 비트맵 이미 지가 제공된다. 그 후 단계 (28 내지 36)에서 상술한 바와 같이, 래스터의 픽셀을 이미지의 픽셀과 비교하여 에지의 어떠한 부분이 벡터 이미지에서 보여져야 하는지를 결정할 수도 있다. 도 2 의 에지 (10 및 12) 의 예에서, 비교는 다음의 결과를 제공한다. 에지 (12) 에 대해, 비트맵 이미지에 래스터의 모든 픽셀에 대응하는 픽셀이 존재한다. 이것은 에지 (12) 가 모델링된 물체의 벡터 이미지에서 완전히 보일 수 있어야 한다는 것을 의미한다. 에지 (10) 에 관하여, 비트맵 이미지에는 래스터의 중심 근처의 픽셀에 대응하는 픽셀이 없으며, 이것은 중심 근처의 에지 (10) 의 부분은 보이지 않아야만 한다는 것을 의미한다.
단계 (28) 에서, 래스터에서 제 1 픽셀, 예를 들어 에지의 하나의 단부에 대응하는 픽셀을 고려한다. 단계 (30) 에서, 선택된 픽셀에 대하여, 비트맵 이미지에서 대응하는 픽셀이 존재하는지 여부를 탐색한다. 가장 간단한 실시형태에서, 래스터의 픽셀 사이즈가 비트맵 이미지에서의 픽셀 사이즈가 동일한 경우, 이것은 에지로부터의 픽셀이 래스터에서의 픽셀의 위치에서 드로잉되는지 여부를 비트맵 이미지에서 탐색하는데 있다. 만약 대응하는 픽셀이 존재하지 않으면, 방법은 단계 (32) 로 이동하고, 래스터 픽셀은 벡터 이미지에 숨겨질 필요가 있는 에지의 일 부분에 대응한다고 결정된다. 그렇지 않고, 만약 대응하는 픽셀이 존재한다면, 방법은 단계 (34) 로 이동하고, 래스터 픽셀이 벡터 이미지에 보여져야만 하는 에지의 일 부분에 대응한다고 결정된다. 만약 픽셀 사이즈가 비트맵 이미지와 래스터에서 다르다면, 단계 (30) 은 따라서 조절된다.
단계 (32 또는 34) 후에, 방법은 단계 (36) 로 이동하여, 다음 래스터 픽셀 을 발견하기 위한 테스트가 실행된다. 만약 다음 래스터 픽셀이 존재하면, 방법은 다음 픽셀을 위한 단계 (30) 으로 이동하고, 그렇지 않으면, 에지의 래스터는 완전히 스캔되고 방법은 단계 (38) 로 이동한다.
단계 (38)에서, 선택된 에지의 래스터 픽셀에 대한 비교가 종료된다. 그 후 비교의 결과에 기초하여 선택된 에지의 어느 부분이 벡터 이미지에서 보여져야 하는지를 결정할 수도 있다. 따라서, 하나의 해결책은 래스터를 따라서 전이, 즉 단계 (30) 의 비교에서의 변화가 있는 래스터의 픽셀을 탐색하는 것이다. 이러한 픽셀의 포지션은 에지 상에서, 에지의 보일 수 있는 부분의 단부 또는 숨겨진 부분의 단부를 결정한다. 도 2 의 예에서, 베이시스 (4) 의 에지 (12) 는 도 4 의 단계 (30 및 34) 에서 언더라잉 (underlying) 비트맵 픽셀을 가지는 픽셀을 포함할 수 있다. 이것은 에지 (12) 가 벡터 이미지에서 완전히 보여질 수 있어야만 한다는 결론에 이르게 한다. 도 2 의 에지 (10) 의 왼쪽 단부에서 출발하여 픽셀은 처음으로 보여져, 포인트 (14) 에 대응하는 픽셀까지 보여지고 이 때 다음 픽셀이 보이지 않는 천이 (transition) 가 있다. 픽셀이 다시 한 번 보이는 포인트 (16) 에서 도 2 의 에지 (10) 의 오른쪽 단부까지 제 2 천이가 있다.
천이 픽셀을 알기 때문에, 래스터를 제공하는 동작의 역 동작을 통해 에지 상에서 대응하는 포인트를 발견할 수 있다. 또한 래스터 픽셀과 에지의 픽셀 사이에서의 대응 테이블을 이용할 수 있다. 따라서 단계 (28 내지 36) 에서의 비교 결과에 기초하여, 에지의 보이는 부분(들)을 결정할 수 있다.
단계 (40) 에서, 고려되어야 하는 임의의 남아있는 에지가 있는지 여부가 체크된다. 만약 대답이 긍정적이라며, 방법은 단계 (26) 으로 이동하고, 그렇지 않다면 단계 (42)에서 벡터 이미지는 에지의 보이는 부분(들) 으로 드로잉된다. 또한 단계 (40) 전에 단계 (42) 가 시작하여, 이미지를 에지 바이 에지로 (edge by edge) 드로잉할 수 있고, 이것은 숨겨진 라인이 제거된 이미지를 저장하는 것을 피하게 한다.
하나보다 작은 픽셀로 이루어진 물체는 이미지에서 무시될 수도 있다. 다른 방법으로 또는 결합하여, 단계 (30 또는 32)에서, 만약 어떠한 픽셀도 발견되지 않는 경우, 둘러싸고 있는 픽셀을 탐색할 수도 있다. 만약 OpenGL 표준이 사용된다면, 하나의 픽셀의 오류는 본 표준에서 권한이 부여되기 때문에 이것은 특히 유용하다.
본 발명의 이점은 도 4 의 상세한 설명에 나타난다. 복잡성에 관하여, 각각의 에지는 한 번 스캔되며, 비트맵 이미지에 비교되고, 다른 모든 면 또는 에지와 비교되지 않는다. 해상도는 적합하게 될 수도 있고, 위에서 상술한 바와 같이 최대 해상도를 결정하기 위하여 비트맵 이미지의 입도를 변경할 수도 있다. 예를 들어, 고 해상도가 필요하지 않은 이미지의 에어리어에서는 래스터를 위한 상이한 입도를 또한 사용할 수 있다.
도 4 는 단지 본 발명의 한 예이다. 상술한 바와 같이, 모든 에지를 선형 스캔을 하기 위한 요구조건은 없으며, 에지가 프로세싱되는 순서는 결과 도에 영향을 주지 않으며, 또한 위에서 예시한 바와 같이 에지의 일부분을 스킵 (skip) 할 수 있다. 유사하게, 비교 단계 (28 내지 36) 에서, 에지는 하나의 단부로부터 나머지 단부까지 스캔되어, 다수의 픽셀의 평행 비교를 진행할 수 있으며, 또한 에지에 분포된 픽셀의 서브세트를 먼저 스캔하고, 그 후 파이너 (finer) 단계로의 천이를 찾는다. 구성된 해결책은 요구되는 해상도에 의존한다. 정교한 해결책이 더 빠를 수도 있다. 도 4 의 방법에서, 단계 (30) 의 테스트는 비트맵 이미지에 픽셀이 존재하는지 여부를 단지 테스트한다. 이 테스트는 블랙 및 화이트 비트맵 이미지 상에서 조차도 실행될 수 있다.
다음으로 본 발명의 다른 실시형태를 상술한다. 이러한 하나 이상의 실시형태는 도 4 의 방법과 결합될 수도 있다.
도 1 의 실루엣 (6 및 8) 과 같이, 실루엣을 에지에 부가할 수도 있다. 실루엣들의 위치는 선택된 도에 의존하기 때문에, 실루엣들은 모델링된 물체의 모자이크식 표현에서 에지 또는 라인이 아니다. 여전히, 이러한 실루엣들은 숨겨진 부분을 탐색하기 위한 에지로서 처리될 수 있다. 따라서, 물체의 모자이크식 표현을 제공하는 단계 (20) 는 실루엣을 계산하는 것을 포함할 수도 있다. 따라서, 다양한 실시형태의 상세한 설명에서 "에지" 라는 용어는 모델링된 물체의 실제 에지 뿐만 아니라 또한 실루엣을 포함할 수도 있다.
다른 실시형태에서, 에지는 표시된다. 즉, 비트맵 이미지에서 에지를 구별하기 위한 수단들이 제공된다. 먼저, 에지를 표시하는 것은 드로잉에서의 오버랩핑 에지들 사이에서의 구별을 가능하게 하며, 도 2 의 예에서, 라인 (18 및 10) 은 모델링된 물체의 정면도에서 오버랩된다. 라인 (18) 에 대한 단계 (28 내지 36)을 진행할 때, 에지를 표시하는 것은 비트맵 이미지의 정면도에서의 픽셀이 언더라잉 라인 (10) 이 아니라 라인 (18)을 표시한다는 것을 결정하는 것을 가능하게 한다. 단계 (28 내지 36) 을 진행할 때, 라인의 래스터에 대응하는 정면도의 비트맵 이미지에서의 일부 픽셀이 있음에도 불구하고, 라인이 완전히 숨겨진다는 것이 확인된다. 따라서, 라인 (18) 은 벡터 이미지에서 드로잉될 수 있지만, 라인 (10) 은 아니다. 벡터 이미지는 더욱 정확하며, 슈퍼임포징된 라인은 드로잉되지 않는다. 다른 예는 라인 사이의 교차점이다. 도 2 에서, 라인 (10) 은 라인 (6 및 8) 과 교차한다. 라인 (6 및 8) 은 라인 (10) 의 앞에 있기 때문에, 교차점은 실제로는 라인 (6), 라인 (8) 각각의 포인트이다. 에지를 표시하는 것은 교차점이 라인 (10) 이 아니라 라인 (6 또는 8) 에 드로잉되어야 한다는 것을 결정하는 것을 가능하게 한다.
또한, 에지를 표시하는 것은 방법을 더 빠르게 할 수도 있다. 만약 에지가 표시되었다면, 비트맵 이미지에 존재하는 표시 테이블을 제공할 수도 있다. 모델링된 물체의 에지를 고려할 때, 만약 에지의 표시가 비트맵 이미지에 전혀 존재하지 않는다면 비교 단계들은 실행될 필요가 없다. 이것은 비트맵 이미지에서 전혀 나타나지 않는 라인을 스캐닝하는 것을 피하는 것을 가능하게 한다. 도 4 의 방법에서, 에지를 래스터하는 단계 (26) 전에 테스트 단계를 부가할 수 있으며, 이 단계에서 선택된 에지의 표시가 비트맵 이미지에서 나타나는지 여부가 결정된다. 만약 표시가 나타나지 않는다면, 방법은 단계 (36) 으로 바로 점프할 것이다. 만약 그렇지 않는다면, 단계 (26) 및 다음 단계들이 도 4 를 참조하여 상술한 바와 같이 실행될 것이다.
에지를 표시하는 다양한 해결책이 있다. 하나의 해결책은 컬러를 다양한 에지에 귀착시키는 것이다. 이것은 모델링된 물체 또는 그것의 표시에서의 에지에 이미 부여된 컬러일 수 있다. 또한 에지에 상이한 컬러 영향을 미칠 수 있고, 본 해결책은, 에지의 수가 그래픽 카드에서 사용할 수 있는 컬러의 수보다 적다는 가정 하에서, 모델링된 물체의 모자이크식 표현에서 모든 에지에 상이한 컬러 영향을 미치는 것을 가능하게 할 수 있다는 점에서 특히 이점이 있다. 컬러의 수는 종종 2 백만보다 높아서, 컬러는 효율적인 표시를 제공한다. 대부분의 디자인 시스템 및 그래픽 카드에서 처리되어 본 표시는 또한 이점을 가지며, 표시를 위한 추가적인 툴을 제공할 필요가 없다. 이 경우, 영향을 받은 컬러를 변경할 수도 있는, 안티-얼라이싱 (anti-aliasing) 과 같은 그래픽 카드의 기능을 억제할 수도 있다.
다른 해결책은 어떤 그래픽 카드에 제공된 색인을 사용한다. 이러한 카드들은 물체가 색인되는 것을 허용한다. 따라서 색인은 에지를 표시하기 위한 해결책이다.
다른 해결책은 깊이 정보 (depth information) 를 이용하는 것이다. 위에서 상술한 바와 같이, 깊이는 방법의 부산물인 몇몇 그래픽 카드에 제공된다. 주어진 에지에 대하여 래스터가 제공되는 시간에, 래스터에서의 다양한 픽셀의 깊이를 계산한다. 깊이를 비교하는 것은 슈퍼임포징된 에지들 사이에서 구별하는 것을 가능하게 한다. 도 1 의 물체의 정면도의 예에서, 라인 (18 및 10) 은 슈 퍼임포징되었으나, 라인 (18) 은 라인 (10) 의 앞에 있다. 따라서, 라인 (10)의 래스터의 픽셀이 고려될 때, 비교 단계 (30) 은 비트맵 이미지에 대응하는 픽셀이 존재한다는 것을 도시한다. 그러나, (실제로는 라인 18 의 부분을 도시하는) 비트맵 이미지의 픽셀은 라인 (10) 의 래스터의 픽셀과 동일한 깊이에 있지 않다. 깊이를 표시로서 이용하는 본 예는, 비록 각각의 에지의 표시가 유일하지 않다 하더라도, 에지를 표시하는 것을 유용할 수 있다는 것을 보여준다.
위에서 제공된 예들에서, 각각의 에지 또는 라인의 표시는 단일한 파라미터이다. 표시는 파라미터의 세트로 형성될 수 있다. 예를 들어, 컬러 c 및 깊이 d 로 형성된 쌍 (c, d)을 표시로서 사용할 수 있다. 만약 컬러 및 깊이가 각각의 에지에 대하여 유일하지 않다면, 합성된 표시 (c, d) 는 에지 사이에서 서로 상이하기 쉽다. 에지를 식별하기 위하여, 또한 위치 정보를 이용할 수도 있다. 예를 들어, 도는 다양한 부분, 4 개의 동일한 부분으로 분리된다. 이것은 4 개의 부분의 예에서 4 개의 값들을 가지는, 에지의 위치를 표시하는 파라미터를 제공한다. 이러한 파라미터는 도 4 의 방법에서, 에지를 식별하거나 또는 에지들 사이를 구별하기 위해 사용될 수도 있다.
따라서, 에지를 표시하는 것은 방법을 고착시키고/또는, 예를 들어 도에서 라인 또는 에지가 슈퍼임포징하는, 결과적인 벡터 이미지의 정확도를 향상시킬 수도 있다.
도 4 의 방법은 라인의 교차점에 대해 더욱 정확해 질 수도 있다. 먼저, 라인 (6, 8, 및 10)을 참조로 하여 위에서 상술한 바와 같이, 에지를 표시하는 것은 어느 에지가 교차점에 속하는지를 결정하는 것을 가능하게 한다. 또한, 만약 모자이크식 표현의 면이 표시된다면, 주어진 라인을 숨기는 에지 또는 면을 결정할 수도 있다. 예를 들어, 도 2 의 예에서, 라인 (10) 은 실린더 (4) 의 서패이스에 의해 부분적으로 숨겨진다. 만약 이 서패이스의 면이 표시된다면, 비교 단계 (30 내지 36)에서 라인 (10)을 따라 진행할 때, 라인 (10)을 숨기는 모자이크식 표현에서의 제 1 면을 발견할 수도 있다. 예를 들어, 면 및 에지가 컬러 표시된다고 가정하자. 에지 (10)을 따라서 진행할 경우, 도 2 의 에지의 왼쪽 단부로부터, 에지 (10) 의 컬러를 가지는 픽셀을 비트맵 이미지에서 먼저 발견한다. 컬러가 에지의 (10) 의 컬러가 아닌 제 1 픽셀은 라인 (10)을 숨기는 실린더 면의 실루엣의 표시를 제공한다. 이 실루엣은 식별되고, 에지 (10) 의 보이는 부분의 단부는 식별된 실루엣을 이용하여 라인 (10) 의 교차점을 계산함으로써 결정될 수 있다. 물론 계산된 교차점은 도에서의 프로젝션의 교점이다. 따라서, 라인의 보이는 부분의 단부는 픽셀 사이즈에 제한되지 않고 정확하게 결정될 수 있다. 비트맵 이미지는 단지 모자이크식 표현의 어떤 에지 또는 면이 선택된 에지의 주어진 부분을 숨겼는지를 결정하는데 사용된다. 이렇게 면을 숨기는 교차점은 교차점을 계산할 목적으로 사용된다. 이것은 도 5 에서 확대된 스케일로써 표시된다. 도는 실린더 (4) 의 에지 (10) 및 면 (50)을 개략적으로 도시한다. 도 (50) 은 다양한 컬러로 드로잉된 다양한 면으로 형성된다. 면 (52) 는 라인 (10) 을 숨기는 제 1 면이고, 도 4 의 방법에서, 라인 (10) 이 왼쪽으로부터 오른쪽으로 스캐닝된다고 가정한다면, 먼저 방법은 단계 32 로 이동하고, 숨겨진 픽셀은 면 (52) 의 컬러를 갖는다.
또한 보이는 라인 또는 에지의 단부를 더욱 정확하게 결정할 수도 있다. 먼저, 면을 숨기는 것은 도 5를 참조하여 설명한 바와 같이 결정된다. 그 후, 이 면에 연관된 면을 발견한다. 그 다음 에지와 이 면과의 교차점을 계산할 수 있다. 도 2 및 도 5 의 예에서, 면 (52) 은 라인 (10) 을 숨긴다. 면 (52) 은 실린더 (4) 의 면의 부분이며, 이것은 에지 (10) 상의 가장 마지막 보이는 포인트가 이 에지와 실린더의 실루엣과의 교차점이라는 것을 의미한다. 보이는 부분의 단부가 결정되는 정확도는 모자이크식 표현에 의존하지 않는다. 도 2 및 도 5 의 예에서, 라인 (10) 은 직선이며, 따라서 라인 (10) 과 대응하는 에지 사이에서 어떠한 상이점도 존재하지 않는다. 일련의 에지 (E1 내지 Em) 에 의해 어림되는 복합 라인 (L) 의 경우에, 라인 (L) 의 에지 (Ek) 가 면 (Fj) 에 의해 숨겨지는 것을 결정할 수도 있고, 라인 (L) 의 포인트와 면 (Fj) 과의 교차점 또는 라인 (L) 과 면 (Fj) 로 표시되는 면 (S) 와의 교차점을 계산할 수도 있다.
본 발명의 이러한 실시형태에서, 교차점의 존재가 픽셀 해상도에 의존한다하더라도, 라인의 보이는 부분의 단부가 결정되는 정확도가 픽셀 해상도에 의존하지 않는다. 만약 교차점이 서패이스를 이용하여 계산된다면, 정확도는 모델링된 물체의 모자이크식 표현에 의존하지 않는다. 따라서, 벡터 이미지를 필요한 만큼 정확하게 제공할 수 있다. 숨겨진 라인을 가지고 있는 벡터 이미지의 정확도가 이미지에 대하여 변할 수 있다는 것을 아는 것은 중요하다. 이미지의 에어리어에 따라서,
- 비트맵 이미지에서 픽셀 사이즈를 선택;
- 라인의 래스터에서 픽셀 사이즈를 선택;
- 에지 또는 라인과, 면과의 교차점을 계산하는 것; 또는
- 에지 또는 라인과, 언더라잉 면과의 교차점을 계산함으로써, 정확도를 변경할 수 있다.
모든 방법이 동일한 벡터 이미지에서 연속적으로 또는 이미지의 다양한 에어리어에서 사용될 수 있다. 만약 방법이 연속적으로 사용된다면, 방법은 조잡한 벡터 이미지를 빠르게 제공할 수 있고, 그 후 이미지의 정확도를 개선한다. 예를 들어, 이미지의 부분을 확대하고, 이미지의 확대된 부분의 벡터 이미지의 더욱 정확한 계산을 이용할 수도 있다. 주어진 정확도를 보증하는 해결책의 사용은 확대하는 팩터 (factor) 에 의존할 수 있고, 따라서 원래 스크린 디스플레이를 위한 조잡한 벡터 이미지를 제공할 수 있고, 사용자에 의해 확대된 이미지의 부분에 대해 더욱 나은 정확도를 가진 이미지를 제공할 수 있다. 만약 방법이 동일한 이미지에서 사용되었다면, 이미지에 대한 정확도를 변경할 수도 있다. 선택된 에어리어에서 정확도를 개선하기 위하여 전체 이미지를 다시 계산할 필요는 없다. 다양한 부분에서 이미지를 분리할 수도 있고, 다양한 부분에서 해상도 또는 정확도를 변경할 수도 있다. 만약에 마지막 사용자에 대해 중요한 에어리어가 미리 결정된다면 이것은 특히 중요하다.
본 발명은 당업자에게 공지된 프로그래밍 툴 및 해결책을 이용하여 구현될 수도 있다. 예를 들어 CATIA V5 아키텍처에서 프로그래밍 언어로서 C++을 이용할 수도 있고, ATI 또는 NVIDIA 상표로 팔리는 것들과 같이 시장에서 이용되는 임의의 그래픽 카드를 이용할 수도 있다. 본 발명을 구현하는 프로그램은, 예를 들어 그래픽 카드로부터 얻어진, 비트맵 이미지 및 모델링된 물체의 표시를 수신한다. 비트맵 이미지에 기초하여, 도 4 를 참조하여 위에서 상술한 바와 같이, 프로그램은 모델링된 물체의 라인을 스캐닝한다.
도 6 내지 12 는 종래 기술의 해결책 및 본 발명의 방법에 의해 얻어진 모델링된 물체의 도이다. 도 6 은 CATIA 에서 구현된 종래 해결책으로 얻어진, 숨겨진 라인이 제거된 복합 설계된 물체의 벡터 이미지이다. CATIA V5 설계 시스템이 2.8 GHz 에서 동작하는 인텔 펜티엄 Ⅳ (상표) 프로세서, 1 Go 의 RAM 및 NVIDIA Quadro2 상표 하에 팔리는 그래픽 카드를 갖춘 컴퓨터에서 마이크로소프트 윈도우 2000 (상표) 운영 시스템 하에서 동작할 때, 도 6 의 벡터 이미지는 27 초 걸쳐 얻어졌다. 이러한 구성은 예이며, 본 발명의 방법은 임의의 다른 구성에서도 얻어질 수 있다.
도 7 은 본 발명에 따라 얻어진 벡터 이미지이며, 이 이미지는 11 초 걸려 얻어진다. 이미지의 품질은 종래 기술 이미지의 품질과 거의 유사하다.
도 8 및 도 9 는 동일한 모델링된 물체의 확대도이다. 도 8 의 이미지는 3 초 걸려 얻어진 낮은 품질의 이미지며, 도 9 의 이미지는 상기 도 7을 조금 더 나은 이해를 위해 확대하여 얻어진 도 7 의 확대도이다. 도 10 내지 도 12 는 물체의 다양한 이미지 사이에서의 품질 차이를 예시한다. 도 10 은 물체의 래스터 이미지이다. 도 11 은 도 4 의 방법을 이용하여 얻어진 이미지이다. 도 12 는 종래 기술의 해결책 덕분으로 얻어진다. 이러한 도들 사이에서의 비교는 본 발명이 종래 기술에 비해 더욱 빠르고 더 적은 자원을 필요로 하면서 유사한 이미지의 품질을 얻는 것을 가능하게 할 수 있다는 것을 보여준다. 본 발명은 상세한 설명에 제공된 예들에 한정되어서는 안 된다. 본 예들에서, 물체의 모자이크식 표현이 사용되었다. 이것은 모자이크식 표현이 바로 그래픽 카드에 입력될 수도 있다는 점에서 유익하다. NURBS, 서브디비전 서패이스 등과 같은 모델링된 물체의 임의의 다른 타입의 표시를 사용할 수도 있다. 이러한 표시는 넓은 의미에서의 라인을 또한 포함한다. 본 발명의 다양한 실시형태는 동일한 이미지 내에서 결합하여 사용될 수도 있다.
첫째, 본 발명은 모델링된 물체에서 라인 수의 선형 함수인 복잡성을 갖는다. 각각의 라인이 모델링된 물체에서의 다른 모든 라인 및 면들과 비교되어야 하기 때문에, 이것은 복잡성이 라인 수의 2 차 함수인 상술한 종래 프로그램과 비교되어야만 한다.
둘째, 본 발명은 간단하게 비트맵 이미지 및 래스터의 입도 (granularity)를 간단하게 변경함으로써, 해상도를 적합하게 하는 것을 가능하게 하며, 해상도의 선택은, 전체 이미지에 대하여 동일한 해상도를 갖는 포괄적일 수도 있고 다른 해상도 또한 동일한 이미지에 사용될 수도 있다. 따라서 조잡한 해상도를 가진 모델링된 물체의 대강의 벡터 이미지를 매우 빠르게 제공할 수 있다.
셋째, 해상도는 비트맵 이미지에서의 픽셀 사이즈보다 훨씬 작도록 증가될 수 있다.
넷째, 본 발명은 로버스트하다. 비트맵 이미지가 오류가 있지 않다는 가정 하에서, 벡터 이미지에서 라인 상의 에러의 상한은 비트맵 이미지의 픽셀 사이즈이며, 이것은 본 발명에 따라 제공된 벡터가 비트맵 이미지만큼 믿을 수 있다는 것을 의미한다. 비트맵 이미지가 오류가 없다고 가정하는 것은 확실하므로, 벡터 이미지는 숨겨져야만 했던 풀 (full) 라인과 같은, 심한 오류를 포함하지 않을 것이다.

Claims (19)

  1. 숨겨진 라인이 제거된 모델링된 물체의 도 (view) 의 벡터 이미지를 제공하는 컴퓨터-구현된 방법에 있어서,
    숨겨진 라인이 제거된, 상기 모델링된 물체의 도의 비트맵 이미지를 제공하는 단계(22);
    상기 벡터 이미지의 라인에 대하여,
    상기 도의 상기 라인의 래스터를 제공하는 단계(26);
    상기 래스터의 픽셀과 상기 비트맵 이미지의 픽셀을 비교하는 단계 (30-36); 및
    상기 비교하는 단계의 결과에 따라, 상기 라인의 보이는 부분을 결정하는 (38) 단계를 포함하는, 벡터 이미지 제공 방법.
  2. 제 1 항에 있어서,
    상기 비트맵 이미지를 제공하는 단계는 하드웨어 로직에서 비트맵 이미지를 계산하는 단계를 포함하는, 벡터 이미지 제공 방법.
  3. 제 2 항에 있어서,
    상기 비트맵 이미지를 제공하는 단계는 그래픽 카드에서 비트맵 이미지를 계산하는 단계를 포함하는, 벡터 이미지 제공 방법.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 모델링된 물체는 에지 및 면을 가진 모자이크식 표현 (tessellated representation) 으로 제공되고, 상기 라인은 모자이크식 표현의 에지를 포함하는, 벡터 이미지 제공 방법.
  5. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 라인은 실루엣을 더 포함하는, 벡터 이미지 제공 방법.
  6. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 모델링된 물체의 상기 라인은 표시되고, 상기 비트맵 이미지를 제공하는 단계 (22) 는 상기 비트맵 이미지의 픽셀을 표시하는 단계를 더 포함하는, 벡터 이미지 제공 방법.
  7. 제 6 항에 있어서,
    상이한 라인에는 상이한 표시가 제공되는, 벡터 이미지 제공 방법.
  8. 제 6 항에 있어서,
    주어진 표시를 가지는 라인에 대하여,
    상기 비트맵 이미지가 상기 주어진 표시를 가지는 픽셀을 포함하는 경우에는, 탐색을 하는 단계; 및
    상기 비트맵 이미지가 상기 주어진 표시를 가지고 있는 픽셀을 포함하고 있지 않는 경우에는, 상기 라인이 상기 벡터 이미지에서 보이지 않는 것으로 결정하는 단계를 더 포함하는, 벡터 이미지 제공 방법.
  9. 제 6 항에 있어서,
    상기 비교하는 단계는 상기 라인의 표시와 상기 비트맵 이미지의 픽셀의 표시를 비교하는 단계를 포함하는, 벡터 이미지 제공 방법.
  10. 제 6 항에 있어서,
    상기 모델링된 물체의 라인은 컬러-표시되는, 벡터 이미지 제공 방법.
  11. 제 6 항에 있어서,
    상기 모델링된 물체는 에지 및 파셋 (facet) 을 가진 모자이크식 표현으로 제공되고,
    상기 결정하는 단계는,
    라인을 숨기는 파셋을 발견하는 단계; 및
    상기 파셋과 상기 라인의 교차점을 계산하는 단계를 포함하는, 벡터 이미지 제공 방법.
  12. 제 6 항에 있어서,
    상기 모델링된 물체는 에지 및 파셋을 가진 모자이크식 표현으로 제공되고,
    상기 결정하는 단계는,
    라인을 숨기는 파셋을 발견하는 단계; 및
    상기 라인과 상기 파셋과 연관된 면의 교차점을 계산하는 단계를 포함하는, 벡터 이미지 제공 방법.
  13. 숨겨진 라인이 제거된 모델링된 물체의 도 (view) 의 벡터 이미지를 제공하는 프로그램을 기록한 컴퓨터 판독가능 기록매체에 있어서,
    숨겨진 라인이 제거된, 모델링된 물체의 도의 비트맵 이미지를 수신하는 루틴;
    상기 도의 모델링된 물체의 라인의 래스터를 제공 (26) 하는 루틴;
    상기 라인의 래스터의 픽셀과 상기 비트맵 이미지의 픽셀을 비교 (30-36) 하는 루틴; 및
    상기 비교하는 루틴에 의해 제공된 결과에 따라서, 상기 라인의 보이는 부분을 결정 (38) 하는 루틴을 포함하는 프로그램을 기록한, 컴퓨터 판독가능 기록매체.
  14. 제 13 항에 있어서,
    상기 프로그램은 에지 및 파셋을 가지는, 모델링된 물체의 모자이크식 표현을 수신하도록 구성된, 컴퓨터 판독가능 기록매체.
  15. 제 13 항 또는 제 14 항에 있어서,
    상기 프로그램은 표시된 라인을 갖는 모델링된 물체 및 표시된 픽셀을 갖는 비트맵 이미지를 수신하도록 구성된, 컴퓨터 판독가능 기록매체.
  16. 제 15 항에 있어서,
    상기 프로그램은, 상기 비트맵 이미지가 상기 모델링된 물체의 라인의 표시를 갖는 픽셀을 포함하는지 여부를 탐색하는 루틴을 더 포함하는, 컴퓨터 판독가능 기록매체.
  17. 제 15 항에 있어서,
    상기 프로그램은 컬러-표시된 라인을 갖는 모델링된 물체 및 컬러-표시된 픽셀을 갖는 비트맵 이미지를 수신하도록 구성된, 컴퓨터 판독가능 기록매체.
  18. 제 13 항 또는 제 14 항에 있어서,
    상기 프로그램은 모델링된 물체를 에지 및 파셋을 가지는 모자이크식 표현으로 수신하도록 구성되고,
    상기 결정하는 루틴은,
    라인을 숨기는 파셋을 발견하고; 그리고
    상기 파셋과 상기 라인과의 교차점을 계산하도록 구성된, 컴퓨터 판독가능 기록매체.
  19. 제 13 항 또는 제 14 항에 있어서,
    상기 프로그램은 모델링된 물체를 에지 및 파셋을 가지는 모자이크식 표현으로 수신하도록 구성되고,
    상기 결정하는 루틴은,
    라인을 숨기는 파셋을 발견하고; 그리고
    상기 라인과 상기 파셋에 의해 표현되는 면의 교차점을 계산하도록 구성 된, 컴퓨터 판독가능 기록매체.
KR1020040059074A 2003-07-28 2004-07-28 숨겨진 라인이 제거된 벡터 이미지를 제공하는 방법 KR100737221B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP03291861.7 2003-07-28
EP03291861A EP1503346B1 (en) 2003-07-28 2003-07-28 A process for providing a vector image with removed hidden lines

Publications (2)

Publication Number Publication Date
KR20050013511A KR20050013511A (ko) 2005-02-04
KR100737221B1 true KR100737221B1 (ko) 2007-07-09

Family

ID=33522459

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040059074A KR100737221B1 (ko) 2003-07-28 2004-07-28 숨겨진 라인이 제거된 벡터 이미지를 제공하는 방법

Country Status (7)

Country Link
US (1) US7289117B2 (ko)
EP (1) EP1503346B1 (ko)
JP (1) JP4425734B2 (ko)
KR (1) KR100737221B1 (ko)
AT (1) ATE325399T1 (ko)
CA (1) CA2475345C (ko)
DE (1) DE60305027T2 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008004927A1 (en) * 2006-07-07 2008-01-10 Telefonaktiebolaget Lm Ericsson (Publ) Device and method for simplifying vector graphics
US8421800B2 (en) * 2009-05-29 2013-04-16 Siemens Product Lifecycle Management Software Inc. System and method for selectable display in object models
JP5620741B2 (ja) * 2010-08-06 2014-11-05 キヤノン株式会社 情報処理装置、情報処理方法、およびプログラム
US9524572B2 (en) * 2010-11-23 2016-12-20 Microsoft Technology Licensing, Llc Parallel processing of pixel data
US9449118B2 (en) * 2011-09-29 2016-09-20 Siemens Product Lifecycle Management Software Inc. Hybrid hidden-line processor and method
TW201325935A (zh) * 2011-12-29 2013-07-01 Printing Plant Ministry Of Finance 調變網點結構組合、應用該組合製作具有隱藏圖文印刷品的影像檔的方法及由其所製得的印刷品
US9846958B1 (en) 2012-10-04 2017-12-19 Aftershock Services, Inc. System and method for display object bitmap caching
JP2022169276A (ja) 2021-04-27 2022-11-09 横河電機株式会社 冗長化方法、冗長化プログラムおよび情報処理装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0862136A2 (en) * 1997-02-28 1998-09-02 Adobe Systems, Inc. Vector map planarization and trapping

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4924414A (en) * 1986-09-24 1990-05-08 Daikin Industries, Ltd. Apparatus and method for obtaining priority numbers for drawing figures forming a display figure
US5265214A (en) * 1987-08-28 1993-11-23 Daikin Industries, Ltd. Filling processing apparatus and method
US4918626A (en) * 1987-12-09 1990-04-17 Evans & Sutherland Computer Corp. Computer graphics priority system with antialiasing
US5220646A (en) * 1990-04-30 1993-06-15 International Business Machines Corporation Single pass hidden line removal using z-buffers
US5359704A (en) * 1991-10-30 1994-10-25 International Business Machines Corporation Method for selecting silhouette and visible edges in wire frame images in a computer graphics display system
US5864342A (en) * 1995-08-04 1999-01-26 Microsoft Corporation Method and system for rendering graphical objects to image chunks
US6801215B1 (en) * 2001-11-29 2004-10-05 At&T Corp. Hardware-assisted visibility-ordering algorithm
AUPS028702A0 (en) * 2002-02-01 2002-02-28 Canon Kabushiki Kaisha Efficient display update from changing object graphics

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0862136A2 (en) * 1997-02-28 1998-09-02 Adobe Systems, Inc. Vector map planarization and trapping

Also Published As

Publication number Publication date
CA2475345A1 (en) 2005-01-28
DE60305027T2 (de) 2006-12-14
CA2475345C (en) 2008-12-09
EP1503346A1 (en) 2005-02-02
JP2005050336A (ja) 2005-02-24
KR20050013511A (ko) 2005-02-04
EP1503346B1 (en) 2006-05-03
DE60305027D1 (de) 2006-06-08
US7289117B2 (en) 2007-10-30
US20050041022A1 (en) 2005-02-24
JP4425734B2 (ja) 2010-03-03
ATE325399T1 (de) 2006-06-15

Similar Documents

Publication Publication Date Title
CN100583084C (zh) 对程序几何对象进行三角剖分
Luebke Level of detail for 3D graphics
US5809179A (en) Producing a rendered image version of an original image using an image structure map representation of the image
US5497453A (en) Method and apparatus for detecting and visualizing interferences between solids
JP2017054516A (ja) 現実環境内にバーチャルオブジェクトを描写する方法および装置
JPH07282293A (ja) 3次元画像生成方法
JPH06505817A (ja) 画像合成及び処理
JP2010541053A (ja) 現実環境内にバーチャルオブジェクトを描写する方法および装置
CN100399358C (zh) 图像处理装置及其方法
KR102278147B1 (ko) 그래픽 프리미티브의 클립핑
CN107657655A (zh) 在基于图块的图形系统中进行拣出的方法及系统
EP2887305A1 (en) Resizing an image
KR100737221B1 (ko) 숨겨진 라인이 제거된 벡터 이미지를 제공하는 방법
US10706500B2 (en) Generating enhanced digital content using piecewise parametric patch deformations
US20130060488A1 (en) Image processing system and method for ndt/ndi testing devices
US20030063084A1 (en) System and method for improving 3D data structure representations
US7170528B1 (en) Fast glyph rendering for vector based fonts
US5821942A (en) Ray tracing through an ordered array
Mulder Automatic repair of geometrically invalid 3D city building models using a voxel-based repair method
RU2364940C1 (ru) Способ расстановки бергштрихов на оригинале рельефа, компьютерный способ распознавания на оригинале рельефа частей горизонталей, проходящих через области с малыми уклонами, и компьютерный способ распознавания минимальных контуров, составленных горизонталями и рамкой оригинала рельефа
Manson et al. Contouring discrete indicator functions
JPH07271847A (ja) 造成地形のモデリング方法及び装置
Sommer et al. Geometry and rendering optimizations for the interactive visualization of crash-worthiness simultations
Arvo et al. Compressed shadow maps
US8243072B2 (en) Method for rendering an object

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: 20130620

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140701

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150602

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160628

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170623

Year of fee payment: 11