KR970003327B1 - 패턴데이터 생성시스템 - Google Patents

패턴데이터 생성시스템 Download PDF

Info

Publication number
KR970003327B1
KR970003327B1 KR1019890001001A KR890001001A KR970003327B1 KR 970003327 B1 KR970003327 B1 KR 970003327B1 KR 1019890001001 A KR1019890001001 A KR 1019890001001A KR 890001001 A KR890001001 A KR 890001001A KR 970003327 B1 KR970003327 B1 KR 970003327B1
Authority
KR
South Korea
Prior art keywords
point
data
memory
pattern data
value
Prior art date
Application number
KR1019890001001A
Other languages
English (en)
Other versions
KR890012244A (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 KR890012244A publication Critical patent/KR890012244A/ko
Application granted granted Critical
Publication of KR970003327B1 publication Critical patent/KR970003327B1/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
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

내용없음.

Description

패턴데이터 생성시스템
제1도는 본 발명에 따른 패턴데이터생성시스템의 1실시예를 설명하기 위한 플로우챠트.
제2도는 본 발명에 따른 패턴데이터생성시스템을 실현하기 위해 사용되는 하드웨어의 구성을 나타낸 블럭도.
제3도는 제1도에 나타낸 플로우챠트중 규칙을 통합해서 나타낸 도면.
제4도는 상기 규칙을 정의하는 좌표를 나타낸 도면.
제5도 내지 제9도는 각각 상기 실시예를 설명하기 위해 사용되는 데이터의 상태를 나타낸 도면.
제10도 내지 제13도는 각각 상기 실시예를 설명하기 위해 사용되는 데이터의 상태를 나타낸 도면.
제14도는 본 발명에 따른 패턴데이터생성시스템의 다른 실시예를 설명하기 위한 플로우챠트.
제15도는 제14도에 나타낸 플로우챠트중 규칙을 통합해서 나타낸 도면.
제16도는 상기 규칙의 일부를 설명하기 위한 도면.
제17도 내지 제20도는 각각 상기 실시예를 설명하기 위해 사용되는 데이터의 상태를 나타낸 도면.
제21도 및 제22도는 각각 본 발명에 따른 응용예를 설명하기 위한 도면.
제23도는 본 발명에 따른 패턴데이터생성시스템에 사용되는 전용 하드웨어구성의 일예를 나타낸 블록도.
제24도는 제23도에 나타낸 하드웨어를 사용하는 본 발명에 따른 응용에 장치의 구성을 나타낸 블록도.
제25도는 제24도에 나타낸 장치를 사용해서 한자의 도포처리를 수행한 결과를 나타낸 도면.
제26도 및 제27도는 각각 종래 방식을 설명하기 위한 도면이다.
* 도면의 주요부분에 대한 부호의 설명
11 : 입력장치 12 : 처리기
13 : 메모리 14 : 표시장치
15 : 버스 dX, dY : 좌표변화량
V0, V1, R : 레지스터 21 : 호스트 인터페이스부
22 : 배저부(Bezier部) 23 : DDA부
24 : 도포제어부 25 : 메모리 인터페이스부
31 : 아우트라인 폰트 메모리 32 : 호스트 CPU
33 : 시스템메모리 34 : 직접기억장소억세스제어기
35 : 폰트발생기 36, 37 : 버퍼메모리
AB : 어드레스버스 DB : 데이터버스
CB : 제어버스 D1∼D4 : 상한
[산업상의 이용분야]
본 발명은 2차원 비트맵(bit map)상에서 경계데이터가 정의된 임의의 폐도형에 도포가 수행된 패턴데이터를 생성하는 패턴데이터생성시스템에 관한 것이다.
[종래의 기술 및 그 문제점]
그래픽분야에서는 경계가 다각형인 영역을 도포해서 패턴데이터를 만드는 요구가 높아지고 있고, 또 DDA(디지털 미분해석기) 등의 하드웨어를 이용해서 임의의 곡선을 1점씩 발생시켜 그 내부를 도포하는 요구도 높아지고 있다. 종래에는 이와 같은 요구에 대해 다각형의 스캔변환(scan 變換)을 이용해서 도포를 수행했는데, 이 스캔변화에서는 2차원 비트맵의 한쪽 방향을 선택해서 이것을 스캔방향이라 하고 이것에 평행한 직선을 스캔선이라 하였다. 여기서 도포시에는 각 스캔선마다 폐도형중에 포함되는 선분 양단의 좌표를 구한 후, 이 선분을 전부 도포함으로써 폐도형 전체의 도포를 수행하도록 하고 있었다.
다음에 종래의 다각형의 스캔변환에 의한 도포처리를 제26도 및 제27도(a) 내지 제27도(c)를 이용해서 설명한다.
제26도에 있어서 참조부호 71은 스캔변환이 수행되는 구형영역(矩形領域), 72 내지 77은 각각 경계에 대한 다각형의 정점, 78 내지 83은 각각 다각형의 변, 91은 한개의 스캔선을 나타낸다.
① 먼저 한개의 스캔선(91)에 대해 다각형의 변과의 교점(P0, P1, P2, P3)을 구한 후, 그 교점(P0, P1, P2, P3)을 스캔방향에 따른 좌표값의 차례로 정렬(sort)시킨다.
② 이어 교점이 변의 끝 즉 다각형의 정점인 경우에는 다각형의 변의 연결방향에 따라 처리를수행한다. 예컨대 제27도(a)의 경우에는 정점(A)이 통상의 교점과 동일하게 취급되고, 제27도(b)의 경우에는 정점(B, C)중 한쪽이 교점으로 취급되며, 제27도(c)의 경우에는 정점(D)이 교점 2개분으로 취급된다.
③ 이어 정렬된 교점을 2개씩 쌍으로 한 후, 그 쌍을 양끝으로 하는 선분[제26도중 선분(84, 85)]을 도포한다.
이 때문에 종래에는 정렬 등의 소프트웨어에 의한 처리시간이 걸림에 따라 고속도처리를 수행할 수 없었으며 하드웨어화도 곤란하였다. 또 선분을 도포할 때에는 상기 ②에서 설명한 바와 같이 정점에 대해 특별한 처리가 필요하고, 또 경계를 정의하는 곡선의 1점마다의 변화가 처리기에 의해 소프트웨어적으로나 DDA 등의 하드웨어에 의해 생성된 경우에도 스캔변화에서는 1점마다의 변화를 1개의 선분으로 취급해야 하기 때문에 취급하는 데이터량이 방대하게 된다는 결점이 있었다.
상기와 같이 종래에는 폐도형을 도포할 경우 고속으로 처리할 수 없었고 또한 하드웨어화 곤란하다는 등의 여러가지 결점이 있었다.
[발명의 목적]
이에 본 발명은 상기한 점을 감안해서 발명된 것으로, 폐도형을 고속으로 도포할 수 있으면서 하드웨어화가 용이한 패턴데이터생성시스템을 제공하고자 함에 그 목적이 있다.
[발명의 구성]
상기 목적을 달성하기 위해 본 발명의 패턴데이터생성시스템은, 비트맵상에서 폐곡선으로 둘러싸인 영역의 도포처리가 수행될 경우에 개시점의 x, y좌표와 각각 +1, -1, 0의 값을 갖는 1점마다의 좌표변화량이 영역의 경계선이면서 좌회전 또는 우회전방향이 정의된 폐곡선의 데이터로서 주어지도록 되어 있는 데이터생성시스템에 있어서, 제1 및 제2메모리와, 상기 좌표변화량을 기초로 상기 폐곡선의 경계에 대응하는 점을 차례로 발생시켜 상기 제1메모리에 기록하는 제1제어기능과, 상기 좌표변화량을 기초로 상기 폐곡선의 영역의 도포에 필요한 점을 소정의 규칙에 따라 차례로 발생시켜 상기 제2메모리에 기록하는 제2제어기능, 상기 제2메모리상에서 1개의 방향을 스캔방향으로 했을 때 하나의 스캔선상에서 b0, b1, …, b(w-2), b(w-1)로 이루어지는 w개(w는 양의 정수)의 점이 존재하는 경우에 점(b(j), j는 0 이상이고 w 미만)에 대응한 위치에 점(b0, b1, …, b(j-1))의 데이터의 배타적 논리합 데이터를 차례로 기록하는 제3제어기능 및, 상기 제1메모리의 임의의 정의 데이터와 상기 배타적 논리합 데이터가 기록된 후 상기 제2메모리의 대응하는 점의 데이터와의 연산을 수행해서 최종의 도포가 수행된 패턴데이터를 얻는 제4제어기능을 수행하도록 된 처리기를 구비하고 있다.
그리고 상기 제2제어기능은 임의의 점에 대해 그것보다도 한개 앞의 점으로부터의 dx, dy의 값과 임의의 묘사점에 대해 그것보다도 한개 뒤의 점으로의 dx, dy에 따라 도포에 필요한 점을 발생시키거나 또는 임의의 점에 대해 그것보다도 앞의 점으로부터 dy와 임의의 점에 대해 그것보다도 뒤의 점으로의 dy에 따라 도포에 필요한 점을 발생시킨다.
또 상기 제4제어기능은 상기 제1메모리의 임의의 점의 데이터와 제2메모리의 대응하는 점의 데이터의 논리합연산을 수행하는 것에 의해 최종도포가 수행된 패턴데이터를 얻도록 하고, 제1메모리의 임의의 점의 데이터를 반전시킨 것과 제2메모리의 대응하는 점의 데이터의 논리적연산(論理積演算)을 수행함으로써 최종의 도포가 수행된 패턴데이터를 얻을 수 있도록 한다.
또한 본 발명에서는 도포가 수행되는 폐곡선이 제1 및 제2메모리보다도 큰 영역에 존재하는 경우에는 폐곡선을 복수의 상한(象限)으로 분할하는 수단과, 스캔방향에 인접하는 2개의 상한중 좌측 상한의 폐곡선에 대해 제1 내지 제4제어기능을 이용해서 생성된 패턴데이터의 우단 종1렬분의 데이터를 유지하는 데이터유지수단을 더 구비하고서, 스캔방향에 인접하는 2개의 상한중 우측 상한의 폐곡선에 대한 패턴생성시에 상기 유지데이터를 초기값으로 이용하게 된다.
[작용]
상기와 같이 구성된 본 발명은, 도포가 수행될 영역에 대해 경계데이터는 우회전이나 좌회전에 대한 어느 방향이 정의되고 있고, 상기 경계데이터는 폐곡선의 개시점의 좌표와 1점마다의 변화량(dx, dy)으로서 주어지게 된다. 여기서 dx와 dy는 각각 +1과 -1 및 0 중 어느 하나의 값을 취한다.
이와 같은 데이터로부터 도포처리를 해서 패턴데이터를 생성하기 위해 제1 및 제2메모리를 사용하여 dx, dy의 데이터로부터 폐곡선의 경계에 대응하는 점을 발생시켜 제1메모리에 기록하고, 또 폐곡선영역의 도포에 필요한 점을 발생시켜 제2메모리에 기록한다. 여기서 상기 제1메모리에 기록되는 점은 반드시 경계상의 점이어야 하지만, 상기 제2메모리에 기록되는 점은 반드시 경계선상의 점일 필요는 없다.
이렇게 해서 상기 점을 제1 및 제2메모리에 기록한 후, 제2메모리상에서 한쪽 방향을 스캔방향으로 정하여 한개의 스캔선상에 b0, b1, …, b(w-2), b(w-1)로 이루어지는 w개(w는 양의 정수)의 점이 존재하는 경우, 점 [b(j) ; j는 0 이상 w 미만]에 대응하는 제2메모리상의 위치에 점(b0, b1, …, b(j-1)]의 데이터의 배타적 논리합 데이터를 차례로 기록한다. 그리고 제1메모리의 임의의 점의 데이터와, 상기 배타적 논리합 데이터가 기록된 후의 상기 제2메모리의 대응하는 점의 데이터와의 연산을 수행해서 최종의 도포가 수행된 패턴데이터를 얻게 된다.
여기서 상기 연산으로서 제1메모리의 임의의 점의 데이터와 이에 대응하는 제2메모리의 점의 데이터의 논리합연산을 수행함으로써 폐곡선의 경계를 포함하는 영역이 도포된 패턴데이터가 얻어지게 되고, 제1메모리의 임의의 점의 데이터를 반점시킨 것과 이에 대응하는 제2메모리의 대응하는 점의 데이터의 논리적연산을 수행함으로써 경계가 포함되지 않는 영역이 도포된 패턴데이터가 얻어지게 된다.
또 도포가 수행되는 폐곡선이 제1 및 제2메모리보다도 큰 영역에 존재하는 경우에도 폐곡선을 복수의 상한으로 분할함으로써 패턴데이터를 얻을 수 있게 된다.
[실시예]
이하 예시 도면에 의거해서 본 발명의 1실시예를 상세히 설명한다.
제2도는 본 발명에 따른 패턴데이터생성방식을 실현하기 위해 사용되는 하드웨어의 구성을 나타낸 블럭도이다. 동 도면에서 참조부호 11은 예컨대 호스트 컴퓨터(host computer) 등으로 이루어지는 입력장치, 12는 처리기, 13은 각각 2차원 비트맵의 구형영역에 대응하는 A면 및 B면의 2면을 갖춘 메모리, 14는 표시장치이고, 이들은 버스(15)에 의해 서로 접속되어 있다.
상기 입력장치(11)은 도포가 수행되는 경계선에 대해 우회전 또는 좌회전방향이 정의된 폐곡선의 데이터로서 개시점의 x, y좌표와 각각 +1, -1, 0의 값을 취하는 1점마다의 좌표변화량(dx, dy)을 차례로 출력한다.
그리고 상기 처리기(12)는 상기 데이터(dx, dy)를 기초로 상기 경계에 대응하는 점을 차례로 발생시켜 이렇게 발생된 데이터를 메모리(13)의 A면에 묘사함과 더불어 상기 데이터(dx, dy)를 기초로 상기 폐곡선의 도포에 필요한 점을 소정의 규칙에 따라 차례로 발생시켜 이렇게 발생된 데이터를 메모리(13)의 B면에 묘사한다. 또 상기 처리기(12)는 상기 입력장치(11)의 대신에 상기 변화량(dx, dy)를 기초로 상기 폐곡선의 도포에 필요한 점을 소정의 규칙에 따라 차례로 발생시켜 이렇게 발생된 데이터를 메모리(13)의 B면에 묘사한다. 또 상기 처리기(12)는 상기 입력장치(11)의 대신에 상기 변화량(dx, dy)을 출력할 수도 있다. 또한 상기 처리기(12)는 메모리(13)의 B면에 묘사된 한개의 스캔선상의 각 점의 데이터를 이용해서 연산을 수행함으로써 얻어진 데이터를 재차 메모리(13)의 B면에 묘사하고, 메모리(13)의 A면과 B면의 대응하는 점의 데이터사이에서 연산을 수행하여 최종적인 패턴데이터를 생성한다. 이렇게 생성된 패턴데이터는 예컨대 메모리(13)의 B면에 묘사되지만, 이 메모리 이외의 영역 또는 다른 메모리에 묘사할 수도 있다.
상기 패턴데이터는 표시장치(14)에 보내진 후, 이 표시장치(14)에서 상기 폐곡선의 영역이 도포된 패턴이 표시된다.
이와 같은 하드웨어를 사용해서 패턴데이터를 생성할 때의 차례는 다음과 같다.
① 먼저 메모리(13)의 A면 및 B면의 데이터가 전부 "0"으로 클리어된다.
② 이어 다각형의 한개의 점이 개시점으로 선택된다.
③ 상기 다각형의 변 위에 있는 점이 입력장치(11)에서 우회전하면서 차례로 발생되고, 앞 점으로부터 변화량(dx, dy)이 차례로 출력된다. 상기 처리기(12)에서는 제1도 또는 제4도의 플로우챠트에 나타낸 바와 같은 알고리즘에 따라 A면 및 B면에 묘사될 점이 차례로 발생되고 이렇게 발생된 점이 메모리(13)에 기록된다.
④ 이어 B면에 있어서 한개의 스캔선이 w비트로 이루어지고 이 스캔선이 비트 데이터를 d0, d1, …, d(w-1)로 하면, 다음의 (1)식 또는 (2)식으로 나타낸 바와 같은 연산을 수행함으로써 새로운 데이터[d0 , d1 , …, d(w-1) ]가 발생되어 이것이 B면에 재차 묘사된다.
Figure kpo00001
Figure kpo00002
⑤ A면과 B면의 대응하는 점과의 사이에서 논리합연산을 수행하거나, 또 A면의 점의 데이터를 반전시킨 것과 B면의 대응하는 점의 데이터와의 논리적연산 등이 수행되어 최종적인 패턴데이터가 생성된다.
제1도의 플로우챠트에서는 먼저 단계 S1에서 개시점의 x, y좌표(xc, yc)와 최초의 dx, dy가 주어지고, 상기 좌표(xc, yc)와 최초의 dx, dy가 유지된다. 이어 단계 S2에서 다음의 dxi와 dyi가 입력되고, 그후 단계 S3으로 진행해서 묘사될 점의 어드레스가 계산되는데, 이 계산은 개시점의 x, y좌표(xc, yc)와 각 방향의 변화량(dx, dy)을 가산함으로써 이루어진다. 어드레스계산후 단계 S4로 진행해서 현재의 묘사점에 대한 앞 점으로부터의 y방향 변화량(dy1)의 절대치 │dy1│와 현재의 묘사점에 대한 다음 점으로부터의 y방향 변화량(dy)의 절대치 │dy│가 비교된 후, 상기 절대치가 모두 1인 경우에는 단계 S5로 진행해서 dy1=dy가 판단되는 바, dy1=dy이면 단계 S6에서 정수 a가 "1"로 되고, dy1≠dy이면 단계 S7에서 정수 a가 "0"으로 된다.
한편 상기 단계 S4에서 절대치가 모두 "1"이 아닌 것으로 판단된 경우에는 단계 S8로 진행해서 dy1과 dy가 모두 0인지가 판단된 후, 0인 경우에는 단계 S9로 진행해서 dx1=dx가 판단되는 바, dx1=dx이면 단계 S10에서 정수 a가 "0"으로 되고, dx1≠dx이면 단계 S11에서 정수 a가 "1"로 된다. 또 상기 단계 S8에서 양쪽이 모두 0이 아닌 것으로 판단된 경우에는 단계 S12로 진행해서 |dy|=1인지의 여부가 판단된 후, 1인 경우에는 단계 S13로 진행하고, 1이 아닌 경우에는 단계 S14로 진행한다. 상기 단계 S13에서는 dx1과 dy가 모두 +1인지의 여부 또는 모두 -1인지의 여부가 판단되는 바, 모두 +1 또는 -1이면 단계 S15에서 정수 a가 "1"로 되고, 모두 +1 또는 -1이 아니면 단계 S16에서 정수 a가 "0"으로 된다. 또 상기 단계 S14에서는 dy1이 +1이면서 dx가 -1인지의 여부와 dy1이 -1이면서 dx가 +1인지의 여부가 판단되는데, 이 조건이 만족되면 단계 S17에서 정수 a가 "1"로 되고, 만족되지 않으면 단계 S18에서 정수 a가 "0"으로 된다.
상기 단계 S6과 단계 S7, 단계 S10, 단계 S11, 단계 S15, 단계 S16, 단계 S17 및 단계 S18에서 정수값이 설정된 후에는 단계 S19 및 단계 S20으로 진행하게 된다. 상기 단계 S19 및 단계 S20에서는 A면 및 B면에 대해 상기 단계 S3에서 계산된 어드레스의 좌표에 대응하는 점에 메모리의 묘사가 이루어지는 바, 이때 A면에는 무조건 "1"이 묘사되지만 B면에서는 그 좌표의 원래 데이터와 상기 정수 a 사이의 배타적 논리합으로 이루어진 결과가 묘사된다. A면 및 B면이 묘사된 후 단계 S21로 진행해서 dx와 dy가 앞 점에 대한 변화량(dx1, dy1)으로 된다. 단계 S21후 단계 S22로 진행해서 종료플래그(end flag)가 1로 설정되어 있는지의 여부가 판정된 후, 1이 설정되어 있지 않으면 이어 단계 S23로 진행해서 경로종료(path end)인지의 여부가 판단된다. 여기서 경로종료는 패턴데이터가 발생될 폐도형에 대해 모든 dx, dy가 입력된 것을 의미하는 것인 바, 경로종료로 되지 않으면 다시 단계 S2로 되돌아가 dxi와 dyi의 입력이 이루어진다. 한편 상기 단계 S23의 판단결과가 경로종료로 되면 S24로 진행해서 종료플래그가 1로 설정된 다음에 단계 S25로 진행한다. 단계 S25에서는 단계 S1에서 최초로 입력된 dx와 dy가 개시점에 대한 다음 점으로의 변화량으로서 설정되고 이후 단계 S3로 진행한다.
단계 S22에서 종료플래그가 1로 설정되어 있는 것으로 판정되면 단계 S26으로 진행하는데, 이 단계 S26에서는 단계 S3에서 최후에 계산된 어드레스에 대응하는 좌표가 개시점과 일치하고 있는지의 여부가 판단되는 바, 일치하고 있으면 "통과(Pass)"로 되고, 일치하고 있지 않으면 경계선이 닫혀 있지 않는 것으로 판단해서 에러처리 "Error" 등이 이루어지게 된다.
한편 상기 제1도의 플로우챠트에 있어서 단계 S4에서 단계 S18까지는 메모리(13)의 B면에 점을 묘사하는 경우에 사용되는 정수 a를 결정하기 위한 규칙을 기술한 것인 바, 이것을 통합한 것이 제3도이다. 또 x, y좌표값의 증감은 제4도에 나타낸 바와 같은 묘사영역을 고려한 경우, 오른쪽 방향이 x좌표값이 증가하는 방향이고 아래쪽 방향이 y좌표값이 증가하는 방향으로 되어 있다.
다음에 상기 차례에 의해 예컨대 제5도에 나타난 바와 같은 경계를 갖는 다각형을 도포한 경우를 설명한다.
여기서 제5도는 상기 도포가 수행될 다각형의 통상의 연속된 경계선을 1점마다의 데이터를 기초로 A면에 묘사될 도형을 나타낸 것으로, 경계상의 점에는 도시된 바와 같이 1∼33의 번호를 붙혔다.
먼저 A면 및 B면이 모두 클리어되고 그후 개시점의 번호가 1로 설정되면, 개시점(픽셀)에서의 좌표(xc, yc)와 다음 2번점에 대한 데이터(dx, dy)가 입력된다(제1도의 단계 S1). 이때 상기 개시점에 대해 A면을 묘사하거나 하지 않거나 어느 것이라도 좋지만 이 경우에는 묘사하지 않는 것으로 하고, B면도 마찬가지로 묘사하지 않는 것으로 한다.
이어 3번점에 대한 데이터(dx, dy)가 입력되는데(제1도의 단계 S2), 이 경우 미리 단계 S21에서 2번점에 대한 앞점(1번점)으로부터의 x, y방향의 변화량(dx, dy)이 (dx1, dy1)로 되어 있어서 이 값이 (-1, 0)이고, 2번점에 대한 다음 점으로의 x, y방향의 변화량(dx, dy)은 (-1, 0)로 된다. 이때 제3도의 규칙에 적용하면 2번점은 수평선상에 있기 때문에 정수 a는 "0"으로 되고, 이후 단계 S19에서 A면에 이 2번점이 무조건 묘사된다. 한편 단계 S20에서 B면에는 상기 2번점의 원래 데이터(클리어후의 "0")와 정수 a의 배타적 논리합 데이터가 묘사되는 바, 이 경우 정수 a가 "0"이므로 B면의 묘사상태를 제6도에 나타낸 바와 같이 상기 2번점에는 실질적으로 묘사가 되지 않는다.
다음에 3번점을 묘사하기 위해 앞의 (-1, 0)의 값인 (dx, dy)가 (dx1, dy1)로 된 후, 4번점에 대한 (dx, dy)가 입력된다. 이때(dx, dy)=(0, -1)인데, 이것을 상기 제3도의 규칙에 적용하면 3번점은 수평방향에서 수직방향으로 우회전하도록 구부러진 각(角)에 위치하고 있기 때문에 정수 a는 "1"로 되어, 이후 단계 S19에서 A면에는 상기 3번점이 무조건 묘사된다. 한편 단계 S20에서 B면에는 3번점의 원래 데이터와 정수 a의 배타적 논리합이 묘사되는데, 이 경우 정수 a가 "1"이므로 B면에는 상기 3번점에 "1"이 묘사된다.
계속해서 4번점을 묘사하기 위해 앞의 (0, -1)의 값인 (dx, dy)가 (dx1, dy1)으로 된 후, 5번점의 대한(dx, dy)가 입력된다. 이때(dx, dy)=(0, -1)인데, 이 상태를 상기 제3도의 규칙에 적용하면 4번점은 수직선 또는 경사선상에 위치하므로 정수 a는 "1"로 된다. 이후 A면에는 상기 4번점이 무조건 묘사되고, B면에는 4번점의 원래 데이터와 정수 a는 "1"과의 배타적 논리합 데이터인 "1"이 묘사된다.
이어 5번점의 묘사가 수행되지만, 5번점부터 7번점까지는 4번점과 조건이 동일하기 때문에 A면과 B면에 "1"이 묘사된다. 또 A면에는 반드시 "1"이 묘사되기 때문에 이후의 설명에서는 B면의 묘사에 대해서만 설명한다.
다음에 8번점을 묘사하기 위해 앞의 (0, -1)의 값인 (dx, dy)가 (dx1, dy1)로 된 후, 다음 9번점에 대한 (dx, dy)가 입력된다. 이때(dx, dy)=(+1, 0)인데, 이 상태를 상기 제3도의 규칙에 적용하면 9번점이 수직방향에서 수평방향으로 우회전하도록 구부러진 각이기 때문에 정수 a가 "1"로 되어 B면의 8번점에는 "1"이 묘사된다.
B면의 9번점에서 12번점까지에 대해서는 상기 설명과 동일하게 되어 9번점과 10번점에는 "0"이 묘사되고 11번점과 12번점에는 "1"이 각각 묘사된다.
이어 13번점을 묘사하기 위해 앞의 (0, +1)의 값인 (dx, dy)가 (dx1, dy1)로 된 후, 다음의 14번점에 대한 (dx, dy)가 입력된다. 이때 (dx, dy)=(+1, 0)인데, 이 상태를 상기 제3도의 규칙에 적용하면 13번점이 수직방향에서 수평방향으로 좌회전하도록 구부러진 각이므로 정수 a가 "0"으로 되어 B면의 13번점까지의 점에 대해서는 동일하게 묘사가 수행되어 제6도에 나타낸 바와 같이 14∼16번점과 19번점, 20번점 및 27∼31번점에 각각 "0"이 묘사되고, 17번점과 18번점 및 21∼26번점에는 "1"이 각각 묘사된다.
다음에 32번점을 묘사하기 위해 앞의 (-1, 0)의 값인 (dx, dy)가 (dx1, dy1)로 된 후, 다음의 33번점에 대한 (dx, dy)가 입력된다. 이때 (dx, dy)=(-1, -1)인데, 이 상태를 상기 제3도의 규칙에 적용하면 32번점이 정점 또는 골(谷)로 되어 정수 a가 "0"으로 되기 때문에 B면의 32번점에는 "0"이 묘사된다.
계속해서 33번점을 묘사하기 위해 앞의 (-1, -1)의 값인 (dx, dy)가 (dx1, dy1)로 된 후, 다음 1번점(개시점)에 대한 (dx, dy)가 입력된다. 이때 (dx, dy)=(-1, 0)인데, 이 상태를 상기 제3도의 규칙에 적용하면 33번점이 수직방향에서 수평방향으로 좌회전하도록 구부러진 각이기 때문에 정수 a가 "0"으로 되어 B면의 33번점에는 "0"이 묘사된다.
이어 1번점을 묘사하기 위해 앞의 (-1, 0)의 값인 (dx, dy)가 (dx1, dy1)로 된 후 상기 단계 S23에서 경로종료인 것으로 판단된다면, 상기 단계 S1에서 미리 유지되어 있던 다음의 2번점에 대한 (dx, dy)가 상기 개시점에 대한 다음점의 변화량(dx, dy)으로서 설정되는데, 이때 (dx, dy)=(-1, 0)이다. 이 상태를 상기 제3도의 규칙에 적용하면 1번점이 수평선상에 있기 때문에 정수 a가 "0"으로 되어 B면의 1번의 개시점에는 "0"이 묘사된다.
이와 같이 해서 메모리의 A면에는 제5도에 나타낸 바와 같이 경계선상의 모든 점에 "1"이 묘사되고, B면에는 제6도에 나타낸 바와 같이 경계선상의 필요한 점에만 "1"이 묘사된다. 또 개시점을 묘사한 결과 경계선이 닫혀져 있으면 묘사개시점의 좌표와 최종 좌표가 일치하는 것이고, 이것이 일치하지 않으면 경계선은 닫혀져 있지 않은 것으로 판단되어 이후에 에러처리 등이 이루어지게 된다.
다음에 제6도에 나타낸 바와 같은 B면의 데이터를 이용해서 상기 의 차례에서 (1)식 또는 (2)식의 연산이 각 스캔선에서 수행된 후, 그 연산결과가 다시 B면에 기록되는데, 이때 상기 (1)식의 연산을 수행한 경우에는 제7도에 나타낸 바와 같이 데이터가 얻어지고, 상기 (2)식의 연산을 수행한 경우에는 제9도에 나타낸 바와 같은 데이터가 얻어지게 된다. 여기서 제7도 및 제9도중 동그라미표시는 그 점의 데이터가 "1"인 것을 나타내고 있다.
계속해서 상기 의 차례에서 연산이 제5도에 나타낸 A면의 데이터와 제7도 또는 제9도에 나타낸 B면의 데이터사이에서 이루어지는데, 여기서 예컨대 A면의 데이터와 B면의 데이터사이의 논리합연산을 수행함으로써 제8도에 나타낸 바와 같은 최종적인 패턴데이터가 생성된다.
상기 제8도에 나타낸 최종적인 패턴데이터는 B면에 기록되도록 해도 되지만, 다른 메모리로 옮겨지도록 해도 된다. 최종결과를 A면과 B면이외의 다른 메모리에 기록하면서 동시에 도포가 종료된 부분의 A면과 B면의 데이터를 클리어함으로써 최종적으로 도포가 종료된 후에는 A면과 B면도 클리어되게 된다. 따라서 이 경우에는 다음 폐도형의 묘사 및 그 도포동작에 필요한 전준비(前準備)인 클리어동작의 시간경감이 도모된다.
그런데 상기 제5도에 나타낸 바와 같은 경계를 갖춘 다각형을 도포하는 경우에는 상기 제3도에 나타낸 모든 규칙은 사용되지 않는다. 그래서 상기 설명에서는 사용되지 않았던 규칙이 사용되는 제10도에 나타낸 바와 같은 경계를 갖춘 폐도형을 도포하는 경우에 대해 설명한다. 또 제10도는 이 도포를 수행하게 될 다각형의 통상의 연속된 경계선을 1점마다의 데이터를 기초로 A면에 묘사될 도형을 나타내고 있고, 경계선상의 점에는 도시한 바와 같이 1∼24의 번호를 붙혔다. 상기 제10도와 같은 경계를 갖춘 폐도형의 특징은 12번점과 18번점과, 13번점과 17번점, 14번점과 16번점 및, 15번점이 단순한 수평면상에 있는 것이 아니고 경계가 동일한 수평선상에서 되접어꺾여 있는 것이다. 이 되접어꺾인 점은 15번점으로 이 되접어 꺾인 점의 묘사에 대해 상기 제3도에 나타낸 규칙에 따르면 15번점에 대한 (dx1, dy1)은 (+1, 0)으로 되고, 16번점에 대한 (dx, dy)는 (-1, 0)으로 되는데, 이것은 동일 수평선상에서 되접어꺾인 것으로 된다. 즉 이 경우에 정수 a는 "1"로 되어 제11도에 나타낸 바와 같이 B면에서는 상기 15번에 대한 점에 "1"의 묘사가 수행된다. 또 B면에서 그외의 점에 대해서는 상기 경우와 마찬가지로 묘사되므로 그에 대한 설명은 생략하기로 한다. 이와 같이 메모리의 A면에는 제10도에 나타낸 바와 같이 경계선상의 모든 점에 "1"이 묘사되고, B면에는 제11도에 나타낸 바와 같이 경계선상의 필요한 점에만 "1"이 묘사된다.
이후 제11도에 나타낸 B면의 데이터를 이용해서 상기 ④의 차례에서 (1)식 또는 (2)식의 연산이 각 스캔선마다 수행되고 그 연산결과가 다시 B면에 기록되는데, 이때 상기 (1)식의 연산을 수행한 경우에는 제12도에 나타낸 바와 같은 데이터가 얻어진다. 이어 상기 ⑤의 차례에서 논리합연산이 제10도에 나타낸 A면의 데이터와 제12도에 나타낸 B면의 데이터간에서 수행됨으로써 수행됨으로써 제13도에 나타낸 바와 같은 최종적인 패턴데이터가 생성된다.
이와 같이 상기 실시예에 의하면 종래의 스캔변환방식과 같이 좌표의 정렬처리가 불필요하기 때문에 폐도형을 고속으로 도포처리할 수 있게 되고, 또 1점마다의 좌표변화량(dx, dy)에 의해 단번에 그려진 폐도형이면 어떠한 것이라도 도포할 수 있으며 또 어느점에서 좌표가 개시되어도 정확하게 도포를 수행할 수 있게 된다.
또한 상기 실시예에서는 폐도형의 경계선의 묘사방향에 제한이 없기 때문에 "8"이라던지 "∞"등과 같이 묘사방향이 교차하여도 묘사를 할 수 있고, 또 폐도형이 단순하거나 복잡함에 관계없이 도포영역이 동일하면 도포속도는 일정하게 된다.
제14도의 플로우챠트에서는 먼저 단계 S31에서 처리기(12)의 내부레지스터(V0, V1)가 클리어된 후, 단계 S32에서 개시점의 x, y좌표(xc, yc)와 최초의 dx, dy인 dx0, dy0가 주어진다. 그리고 상기 좌표의 최초의 dx, dy가 유지되고, 이어 단계 S33에서 다음 이후의 dxi, dyi가 입력된 다음에 단계 S34로 진행한다. 이 단계 S34에서는 V0의 값이 점검되는데, V0가 0인 경우에 dy1이 +1 또는 -1이면 dy의 값이 V0로 설정된다. 이어 단계 S35로 진행해서 dy1과 dy의 값으로 현재 점에서의 데이터사이에서 배타적 논리합을 취하기 위해 정수 a의 값이 소정규칙에 따라 결정되고, 이어 단계 S36으로 진행한다. 이 단계 S36에서는 dy의 값의 변화가 점검되는데, -1 또는 +1로 변화되면 V1에 그 변화된 값이 설정된다. 또 dy의 값이 -1또는 +1로 변환되는 것은 묘사될 점이 수직 또는 경사방향으로 변화하든가 정점과 골 및 각과 같은 경우이다.
이어 단계 S37로 진행해서 묘사점의 어드레스가 계산되는 바, 이 계산은 개시점의 x, y좌표(xc, yc)에 각 방향의 변화량(dx, dy)을 가산함으로써 이루어진다. 이렇게 어드레스를 계산한 다음에 단계 S38로 진행하고, 여기서 상기 단계 S37에서 계산된 어드레스의 좌표에 대응하는 메모리의 A면 및 B면의 점에 묘사가 이루어지는데, 이때 A면에는 무조건 "1"이 묘사되지만 B면에는 그 좌표의 원래 데이터와 상기 정수 a사이에서의 배타적 논리합을 취한 결과가 묘사된다. A면과 B면의 묘사후 dx, dy가 앞점에 대한 변화량(dx1, dy1)으로 되고 이어 단계 S39로 진행한다. 이 단계 S39에서는 종료플래그가 1로 설정되어 있는지의 여부가 판정되는데, 1이 설정되어 있지 않으면 단계 S40으로 진행해서 경로종료인지의 여부가 판단된다. 여기서 단계 S40의 판단결과 경로종료가 아니면 다시 단계 S33으로 되돌아가 dxi, dyi의 입력이 이루어지고, 경로종료이면 단계 S41에서 종료플래그가 1로 설정된 후 단계 S42로 진행하게 된다. 이 단계 S42에서는 단계 S32에서 최초로 입력된 (dx0, dy0)이 개시점에 대한 다음 점으로의 변화량(dx, dy)으로서 설정된 다음에 단계 S43으로 진행한다. 이 단계 S43에서는 dy가 0인지의 여부가 판단되는데, dy=0이면 단계 S44로 진행한다. 이 단계 S44에서는 V0가 +1또는 -1인지의 여부가 판단되는데, +1또는 -1이면 단계 S45로 진행한다. 이 단계 S45에서는 V0=V1인지가 판단되는데, V0=V1이면 다음의 단계 S46에서 정수 a이 "1"설정된 다음에 단계 S37로 진행한다.
한편 상기 단계 S43에서 dy≠0와 단계 S44에서 V0≠+1, -1 및 단계 S45에서 V0≠V1로 각각 판단되면 이후 상기 단계 S34로 진행한다.
또 상기 단계 S39에서 종료플래그가 1로 설정되어 있으면 이후 상기 제1도의 플로우챠트의 단계 S26의 경우와 마찬가지로 단계 S37에서 최종적으로 계산된 어드레스에 대응하는 좌표가 개시점과 일치하고 있는지의 여부가 판단되는데, 일치하고 있으면 통과(Pass)로 되고, 일치하고 있지 않으면 경계선이 닫혀 있지 않은 것으로 판단해서 에러처리 "Error"등이 수행된다.
상기 제14도의 플로우챠트에 있어서, 단계 S35에서는 상기 메모리(13)의 B면에 점을 묘사하는 경우에 사용되는 정수 a를 결정하게 되는데, 이것을 결정하기 위한 규칙을 통합해서 기술한 것이 제15도이다. 또 이 경우 x, y좌표값의 증감방향은 제16도에 나타낸 바와 같이 x좌표치는 상기 제4도의 경우와 마찬가지이지만 y좌표치는 제4도의 경우와는 역으로 된다.
상기 제15도중 묘사점이 수평방향에서 수직 또는 경사방향으로 변화하는 각에 위치하고 있을 때의 「비교」는, 그 이전에 dy1이 +1 또는 -1로 변화한 경우의 최신의 값과 현재의 묘사점의 dy를 비교한다는 의미인 바, 이 비교결과에 따라 정수 a의 값이 결정된다. 예컨대 제16도(a)에 나타낸 바와 같이 이전의 점 E에서 dy1이 +1이고 현재의 점 F에서도 dy가 +1인 경우에는 정수 a가 "1"로 되고, 또한 제16도(b)에 나타낸 바와 같이 이전의 점 E에서 dy1이 +1이고 현재의 점 F에서 dy가 -1인 경우에는 정수 a가 "0"으로 된다.
이어 상기 차례에 따라 제17도에 나타낸 바와 같이 경계를 갖춘 폐도형으로 도포하는 경우를 설명한다. 여기서 제17도는 상기 도포를 수행할 폐도형의 통상의 연속된 경계선을 1점마다의 데이터를 기초로 A면에 묘사될 도형을 나타낸 것으로, 경계선상의 점에는 도시한 바와 같이 1∼21의 번호를 붙혔다.
먼저 A면 및 B면이 전부 클리어되고 레지스터(V0, V1)가 클리어된다. 이어 1번점인 개시점에서 좌표(xc, yc)와 다음 2번점에 대한 데이터(dx, dy)=(0, +1)가 입력되는데(제14도의 단계 S32), 이때는 A면과 B면이 묘사되지 않는다.
다음에 2번점에 대해 3번점으로의 데이터(dx, dy)=(0, +1)가 입력되는데(제14도의 단계 S33), 이 경우 V0=0이고 2번점에 대한 앞점(1번점)으로부터 x, y방향의 변화량(dx, dy)이 (dx1, dy1)로 되어 있고 dy1=+1이기 때문에 V0에는 +1의 값이 설정된다(단계 S34).
상기 2번점에서는 dy1=dy=+1인 바, 이것을 상기 제15도의 규칙에 적용하면 2번점은 수직선 또는 경사선상에 위치하기 때문에 정수 a는 "1"로 되고, 이후 제17도에 나타낸 바와 같이 A면에는 상기 2번점에 "1"이 무조건 묘사되면서 제18도에 나타낸 바와 같이 B면에는 상기 2번점의 원래 데이터(클리어된 후의 "0")와 정수 a의 배타적 논리합 데이터인 "1"이 묘사된다(단계 S38).
이어 3번점은 묘사하기 위해 앞의 (0, +1)의 값인 (dx, dy)가 (dx1, dy1)로 된 후, 다음의 4번점에 대한 (dx, dy)가 입력된다. 이때 (dx, dy)=(0, +1)로서 2번점의 경우와 동일하기 때문에 제17도에 나타낸 바와 같이 A면에는 상기 3번점에 "1"이 무조건 묘사되고 제18도에 나타낸 바와 같이 B면에는 상기 3번점에 "1"이 묘사된다.
다음에 4번점을 묘사하기 위해 앞의( (0, +1)의 값인 (dx, dy)가 (dx1, dy1)로 된 후, 5번점에 대한 (dx, dy)=(+1, 0)이 입력된다. 이때 dy1=+1이고 dy=0인데, 이것을 상기 제15도의 규칙에 적용하면 4번점은 수직 또는 경사방향으로부터 수평방향으로 변화하는 각이므로, 정수 a가 "0"으로 된다.
이후 제17도에 나타낸 바와 같이 A면에는 상기 4번점에 1이 무조건 묘사된다.
한편 B면에는 상기 4번점의 원래 데이터와 정수 a의 배타적 논리합 데이터인 "0"이 묘사되지만, 제18도에 나타낸 바와 같이 상기 점은 실질적으로 묘사되지 않는다. 또 A면에는 반드시 "1"이 묘사되기 때문에, 이후에는 그에 대한 설명은 생략한다.
계속해서 5번점을 묘사하기 위해 앞의 (+1, 0)의 값인 (dx, dy)가 (dx1, dy1)로 된 후, 6번점에 대한 (dx, dy)=(+1, 0)이 입력된다. 이때 dy1=dy=0인데, 이것을 상기 제15도의 규칙에 적용하면 5번점은 수평선상에 있기 때문에 정수 a는 "0"으로 된다. 따라서 B면에는 상기 5번점이 묘사되지 않게 된다.
이어 6번점을 묘사하기 위해 앞의 (+1, 0)의 값인 (dx, dy)가 (dx1, dy1)로 된 후, 7번점에 대한 (dx, dy)=(0, +1)이 입력된다. 이때 dy1=0이고 dy=+1인데, 이것을 상기 제15도의 규칙에 적용하면 6번점은 수평방향으로부터 수직 또는 경사방향으로 변화하는 각으로 된다. 이 때문에 현재의 묘사점보다 이전에 묘사된 점중 dy가 +1 또는 -1인 최선의 dy(이 경우에는 4번점의 dy)와 7번점으로의 변화량(dy)이 비교된다. 여기서는 모두 +1이면서 일치하기 때문에 정수 a는 "1"로 되어 B면에는 상기 6번점이 묘사된다.
다음에 7번점을 묘사하기 위해 앞의 (0, +1)의 값인 (dx, dy)가 (dx1, dy1)로 된 후, 8번점에 대한 (dx, dy)=(0, +1)이 입력된다. 이때 dy1=dy=+1인데, 이 상태를 상기 제15도의 규칙에 적용하면 7번점은 수직선 또는 경사선상에 있기 때문에 정수 a는 "1"로 되어 B면의 7번점에는 "1"이 묘사된다.
이하 마찬가지로 20번점까지의 묘사가 종료되고, 이어 1번점(또는 21번점)을 묘사하기 위해 앞의 (-1, 0)의 값인 (dx, dy)가 (dx1, dy1)로 된 후, 상기 제14도의 플로우챠트중 단계 S40에서 경로종료인 것으로 판단되면 단계 S32에서 미리 유지되어 있던 2번점에 대한 (dx, dy)가 이 개시점에 대한 다음 점의 변화량(dx, dy)으로서 설정된다. 이때 (dx, dy)=(+1, 0)인데, 이 상태를 상기 제15도의 규칙에 적용하면 1번점은 수평선으로부터 수직 또는 경사방향으로 변화하는 각에 위치하고 있기 때문에 상기와 같이 dy와 비교가 이루어진다. 이 경우 양쪽이 일치하지 않기 때문에 정수 a가 "0"으로 되고 B면에는 묘사가 이루어지지 않게 된다.
이와 같이 해서 메모리의 A면에는 제5도에 나타낸 바와 같이 경계선상의 모든점에 "1"이 묘사되고 B면에는 제6도에 나타낸 바와 같이 경계선상의 필요한 점에만 "1"이 묘사된다. 또 제14도의 플로우챠트에 있어서 단계 S42∼S46은 개서점을 묘사하기 위한 처리인 바, 개시점이 제17도중의 4번점과 5번점인 경우에만 단계 S46까지 처리가 이루어진다.
다음에 제18도에 나타낸 B면에 데이터를 이용해서 상기 ④의 차례에서 (1)식 또는 (2)식의 연산이 각 스캔선마다 이루어지고, 그 연산결과가 다시 B면에 기록되는데, 이때 상기 (1)식의 연산을 수행한 결과를 제19도에 나타냈다. 이후는 상기 ⑤의 차례에서 연산이 제17도에 나타낸 A면의 데이터와 제19도에 나타낸 B면의 데이터 사이에서 이루어지는데, 여기서 예컨대 A면의 데이터와 B면의 데이터사이에서 논리합연산을 수행함으로써 제20도에 나타낸 바와 같은 최종적인 패턴데이터가 생성된다.
이와 같이 상기 실시예에 의하면 종래에 비해 정렬처리가 불필요하고, 소프트웨어적으로 처리한 경우에 소프트웨어의 처리가 경감되어 고속처리를 실현할 수 있게 된다. 또 1점마다의 좌표변화량(dx, dy)에 의해 단번에 그려진 폐도형으로부터 전체적인 도포가 가능하고, 또 어느 점으로부터 좌표가 개시되어도 도포를 할 수 있게 된다. 또한 폐도형의 경계선의 묘사방향에 제한이 없기 때문에 "8"이라던지 "∞"등과 같이 묘사방향이 교차하고 있어도 묘사가 가능하고, 또 폐도형의 형상이 단순하거나 복잡함에 관계없이 도포영역이 같으면 도포속도는 일정하게 된다.
그런데 상기 실시예에서는 메모리(13)의 A면 및 B면에 상당하는 2차원 비트맵의 구형영역내에 폐도형이 존재하는 경우에 대해 설명했지만, 실제의 경우에는 상기 구형영역보다도 큰 영역에 폐도형이 존재하게 된다.
그래서 다음에 상기한 대규모 폐도형을 도포하게 되는 본 발명의 응용예에 대해 설명한다.
예컨대 지금 도포가 수행될 폐도형이 제21도에 나타낸 바와 같이 상기 메모리(13)의 A면 또는 B면의 구형영역의 4면분에 존재하는 경우, 상기 대규모 폐도형을 4개의 상한(D1∼D4)으로 분할한 후, 각각 분할된 상한마다 독립해서 도포처리를 수행하면 정확한 결과가 얻어지지 않게 된다. 예컨대 각 상한의 스캔선을 x방향으로 정하면 분할됨에 따라 상한(D1)과 상한(D2)에 결쳐 존재하는 폐도형(F1)은 상한(D2)내에서는 폐도형으로 되지 않게 된다.
여기서 이와 같은 경우에는 먼저 대규모 폐도형을 4개의 상한(D1∼D4)으로 분할하게 되는 바, 이 분할은 상기 제2도에 나타낸 바와 같이 구성된 하드웨어의 입력장치(11)에서 이루어진다. 그리고 먼저 상한(D1)에 대해 상기 차례 ①∼⑤에 의해 도포가 이루어진 패턴데이터가 생성되고, 이때 생성된 상한(D1)에 대한 패턴데이터중 우단 1렬분의 데이터가 제22도에 나타낸 바와 같이 레지스터[R; 또는 상기 메모리(13)의 A면과 B면 이외의 영역]에 기억된다. 이어 상기 상한(D1)에 대해 스캔방향에 인접합 상한(D2)에 대해 상기 차례 ①∼⑤에 의해 도포가 이루어진 패턴데이터를 생성할 경우, 미리 레지스터[R; 또는 메모리(13)의 영역]에 기억된 상한 (D1)의 패턴데이터의 우단 1렬분의 데이터를 초기데이터로서 사용한다. 마찬가지로 상한(D3)에 대해 상기 차례 ①∼⑤에 의해 도포가 이루어진 패턴데이터를 생성되고, 이때 생성된 상한(D3)에 대한 패턴데이터의 우단 1렬분의 데이터가 상한(D4)의 패턴데이터를 생성하는 경우에 초기데이터로서 사용된다.
이와 같이 대규모 폐도형의 도포를 분할된 개개의 상한마다 수행한 경우에도 스캔방향에 인접한 우측 상한에서의 도포를 정확하게 수행할 수 있게 된다.
제23도는 본 발명에 따른 패턴데이터생성시스템에 사용되는 전용의 하드웨어구성의 일예를 나타낸 블럭도로서, 하드웨어는 호스트 인터페이스부(21; host inter-face 部)와 베저부(22; Bejer 部), DDA부(23), 도포제어부(24) 및 메모리 인터페이스부(25)로 이루어져 있다.
상기 호스트 인터페이스부(21)는 도시되지 않은 호스트CPU와 내부블럭간의 데이터전송제어를 수행하고, 또 호스트CPU는 베저부(22)와 DDA부(23) 및 도포제어부(24)의 각 블럭내의 제어레지스터라든지 메모리 인터페이스부(25)에 접속되는 상기 A면과 B면의 버퍼메모리의 억세스를 수행하는 경우에는 이 호스트 인터페이스부(21)를 경유해서 수행됨을 알 수 있다.
또 상기 베저부(22)는 호스트CPU에서 지정된 경계상의 2점외에 경계외의 2점인 합계 4점의 데이터에서 곡선근사(曲線近似)된 양자화데이터(dx, dy)를 발생시키는 바, 상기 베저부(22)는 곡선이 많은 고품질의 경계데이터의 발생에 적당하다.
또한 상기 DDA부(23)는 호스트CPU에서 지정된 경계상의 2점 데이터에서 직선근사(直線近似)된 양자화 데이터(dx, dy)를 발생시키는 바, 상기 DDA부(23)는 직선과 원 및 타원 등의 경계데이터의 발생에 적당하다.
또 상기 도포제어부(24)는 상기 차례 ①∼⑤를 실행해서 패턴데이터를 생성시키는 것으로 크게 나누어 다음의 2가지 기능이 있다.
(1) 베저부(22)와 DDA부(23) 또는 호스트CPU가 발생시킨 x, y방향의 변화량(dx, dy)을 기초로 2쌍으로 구성된 A면과 B면의 버퍼메모리에 경계점의 묘사를 수행하는 바, 이 경우 상기한 바와 같이 A면의 버퍼메모리에 대해서는 모든 (dx, dy)에 대해 경계를 묘사하고, 또 B면의 버퍼메모리에 대해서는 상기 제3도 또는 제15도의 규칙에 따라 필요한 점만을 묘사한다.
(2) 상기 (1)식의 기능에 의해 묘사된 경계내부의 도포처리를 수행하는 바, 이 처리는 A면 및 B면의 버퍼메모리의 데이터를 사용해서 수행되고, 그 도포결과는 B면의 버퍼메모리에 기록되는가 또는 호스트CPU에 전송된다. 또 상기 메모리 인터페이스부(25)는 도포제어부(24)와, A면과 B면의 버퍼메모리간의 데이터전송제어를 수행한다.
이와 같이 본 발명에 따른 패턴데이터생성시스템에서는 하드웨어구성을 단순하게 조합시킨 회로로 실현할 수 있다.
제24도는 상기 제23도에 나타낸 바와 같은 하드웨어를 사용한 본 발명의 응용을 장치의 구성을 나타내는 블럭도이다. 이 장치는 워드프로세서에 탑재되는 것인 바, 아우트라인 폰트 메모리(31; Outline Font Memory)에 기억된 폰트의 도포처리를 수행하는 것으로서, 아우트라인 폰트 메모리(31)외에 호스트CPU(32)와 시스템메모리(33). 직접기억장소억세스제어기(34; DMAC), 상기 제23도의 하드웨어와 동일한 구성을 갖춘 폰트발생기(35), A면의 버퍼메모리(36), B면의 버퍼메모리(37), 어드레스버퍼(AD), 데이터버스(DA) 및 제어버스(CB)로 구성되어 있다.
상기 아우트라인 폰트 메모리(31)에는 폰트발생기(35)내의 베저부(22) 및 DDA부(23; 모두 제23도에 나타냄)의 블럭에 대하 지정을 수행하기 위한 경계데이터가 기억되어 있다.
상기 DMAC(34)는 폰트발생기(35)에서의 도포처리결과의 데이터 또는 A면의 버퍼메모리(36), B면의 버퍼메모리(37)와 시스템메모리(33)간에서 고속의 데이터전송제어를 수행한다.
제25도는 상기 제24도의 장치에 의해 상기 제1도의 플로우챠트에 표시된 알고리즘을 사용해서 「夢」이라는 한자의 도포처리를 수행한 결과를 나타낸 것으로, 제25도(a)는 A면의 버퍼메모리(36)에 대해 묘사가 수행된 결과를 나타낸 것이고, 제25도(b)는 B면의 버퍼메모리(37)에 대해 묘사가 수행된 결과를 나타낸 것이며, 제25도(c)는 A면의 버퍼메모리(37)의 내용과 B면의 버퍼메모리(37)의 내용에 대해 도포처리가 수행된 결과의 논리합연산의 수행된 후의 결과를 각각 나타낸 것이다.
이 장치를 사용하면 폰트 등과 같이 복잡한 도형의 도포처리를 고속으로 실행할 수 있게 된다.
또 본 발명은 상기 실시예에 한정되지 않고 여러가지로 변형해서 실시할 수 있는 바, 예컨대 상기 제5도에 나타낸 바와 같은 A면의 데이터와 상기 제6도 또는 제7도에 나타낸 바와 같은 B면의 데이터의 논리연산을 수행해서 최종 결과를 얻는 경우에 A면이 데이터와 B면의 데이터의 논리합연산을 수행해서 상기 제8도에 나타낸 바와 같이 원래의 경계를 포함해서 도포를 수행하는 경우에 대해 설명했지만, 이것은 A면의 반전데이터와 B면의 데이터의 논리적연산을 수행함으로써 원래의 경계를 포함하지 않고서 도포를 수행할 수도 있다.
또한 상기 실시예에서는 1점마다의 변화량(dx, dy)이 우회전방향으로 주어진 경우에 대해 설명했지만, 이것을 좌회전방향으로 주어지도록 구성해도 된다.
또 상기 실시예에서는 도포처리를 수행할 경우 스캔방향이 x방향인 경우에 대하 설명했지만, 이것은 dx1을 dy1로 스캔하고, dx를 dy로 각각 치환하는 것에 의해 y방향으로 스캔하도록 해도 되는 바, 이 치환에 따라 상기 제3도중 현재 묘사점의 위치명칭인 「수평」이 「수직」으로, 「정점 또는 골」이 「양단부」로 각각 변화된다.
한편 특허청구의 범위의 각 구성요소에 병기한 도면에 대응하는 참조부호는 본 발명의 이해를 용이하게 하기 위한 것일 뿐, 본 발명의 기술적 범위를 도면에 나타낸 실시예에 한정할 의도로 병기한 것은 아니다.
[발명의 효과]
이상에서 설명한 바와 같이 본 발명에 따르면, 종래의 스캔변화방식에서 이루어진 좌표값의 정렬처리가 불필요하기 때문에 폐도형의 고속도포처리가 실행될 수 있고, 또 하드웨어구성을 단순하게 조합해서 구성한 회로로 실현할 수 있게 된다. 또 1점마다의 좌표변화량(dx, dy)에 의해 단번에 그려진 폐도형이면 모든 도포가 가능하고, 또 어느 점으로부터 좌표가 개시되도록 도포를 할 수 있게 된다.
본 발명에서는 폐도형의 경계선의 묘사방향에 제한이 없기 때문에 "8"이라던지 "∞" 등과 같이 묘사방향이 교차하고 있어도 묘사가 가능하고, 또 폐도형의 형상이 단순하든가 복잡함에 관계없이 도포영역이 동일하면 도포속도는 일정하게 된다.

Claims (6)

  1. 비트맵상에서 폐곡선으로 둘러싸인 영역의 도포처리가 수행될 경우에 개시점의 x, y좌표와 각각 +1, -1, 0의 값을 갖는 1점마다의 좌표변화량(dx, dy)이 영역의 경계선이면서 좌회전 또는 우회전방향이 정의된 폐곡선의 데이터로서 주어지도록 되어 있는 데이터생성시스템에 있어서, 제1 및 제2메모리(13)와; 상기 좌표변화량(dx, dy)을 기초로 상기 폐곡선의 경계에 대응하는 점을 차례로 발생시켜 상기 제1메모리에 기록하는 제1제어 기능과, 상기 좌표변화량(dx, dy)을 기초로 상기 폐곡선의 영역의 도포에 필요한 점을 소정의 규칙에 따라 차례로 발생시켜 상기 제2메모리에 기억하는 제2제어기능, 상기 제2메모리상에서 1개의 방향을 스캔방향으로 했을때 스캔선상에서 b0, b1, …, b(w-2), b(w-1)로 이루어지는 w개(w는 양의 정수)의 점이 존재하는 경우에 점(b(j), j는 0이상이고 w미만)에 대응한 위치에 점(b0, b1, …,b(j-1)의 데이터의 배타적 논리합 데이터를 차례로 기록하는 제3제어기능 및, 상기 제1메모리의 임의의 점의 데이터와 상기 배타적 논리합 데이터가 기록된 후 상기 제2메모리의 대응하는 점의 데이터와의 연산을 수행해서 최종의 도포가 수행된 패턴데이터를 얻는 제4제어기능을 수행하도록 된 처리기(12)를 구비해서 이루어진 것을 특징으로 하는 패턴데이터생성시스템.
  2. 제1항에 있어서, 상기 제2제어기능이 임의의 점에 대해 그것보다 한개 앞의 점으로부터의 dx, dy의 값과 임의의 묘사점에 대해 그것보다도 한개 뒤의 점으로의 dx, dy의 값에 따라 도포에 필요한 점을 발생시키도록 구성되어 있는 것을 특징으로 하는 패턴데이터생성시스템.
  3. 제1항에 있어서, 상기 제2제어기능이 임의의 점에 대해 그것보다도 앞의 점에서 dy의 값이 0이외로 변화한 때의 그 dy의 값과 임의의 점에 대해 그것보다도 한개 뒤의 점으로의 dy의 값에 따라 도포에 필요한 점을 발생시키도록 구성된 것을 특징으로 하는 패턴데이터생성시스템.
  4. 제1항에 있어서, 상기 제4제어기능이 상기 제1메모리의 임의의 점의 데이터와 상기 제2메모리의 대응하는 점의 데이터와의 논리합연산을 수행해서 최종의 도포가 수행된 패턴데이터를 얻도록 구성되어 있는 것을 특징으로 하는 패턴데이터생성시스템.
  5. 제1항에 있어서, 상기 제4제어기능이 상기 제1메모리의 임의의 점의 데이터를 반전시킨 것과 상기 제2메모리의 대응하는 점의 데이터와의 논리적연산을 수행해서 최종도포가 수행된 패턴데이터를 얻도록 구성되어 있는 것을 특징으로 하는 패턴데이터생성시스템.
  6. 제1항에 있어서, 도포를 행하는 폐곡선이 상기 제1 및 제2메모리보다 큰 영역에 존재할 경우에는 폐곡선을 복수개의 상한으로 분할하는 수단과, 상기 스캔방향에서 인접하는 2개의 상한중 좌측 상환의 폐곡선에 대해 상기 제1 내지 제4제어기능을 이용해서 생성된 패턴데이터의 우단 종1렬분의 데이터를 유지하는 데이터유지수단을 더 구비하고서, 상기 스캔방향에서 인접하는 2개의 상한중 우측의 상한의 폐곡선에 대한 패턴데이터생성시에 상기 유지데이터를 초기값으로 이용하도록 구성된 것을 특징으로 하는 패턴데이터생성시스템.
KR1019890001001A 1988-01-30 1989-01-30 패턴데이터 생성시스템 KR970003327B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP63-20314 1988-01-30
JP63020314A JPH01196675A (ja) 1988-01-30 1988-01-30 パターンデータ生成方式

Publications (2)

Publication Number Publication Date
KR890012244A KR890012244A (ko) 1989-08-25
KR970003327B1 true KR970003327B1 (ko) 1997-03-17

Family

ID=12023673

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019890001001A KR970003327B1 (ko) 1988-01-30 1989-01-30 패턴데이터 생성시스템

Country Status (5)

Country Link
US (1) US5016001A (ko)
EP (1) EP0327003B1 (ko)
JP (1) JPH01196675A (ko)
KR (1) KR970003327B1 (ko)
DE (1) DE68915006T2 (ko)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5241654A (en) * 1988-12-28 1993-08-31 Kabushiki Kaisha Toshiba Apparatus for generating an arbitrary parameter curve represented as an n-th order Bezier curve
DE69033390T2 (de) * 1989-03-08 2000-05-11 Canon Kk Ausgabevorrichtung
JPH0439782A (ja) * 1990-06-05 1992-02-10 Yamaha Corp 図形の塗り潰し装置
JP2982973B2 (ja) * 1990-07-03 1999-11-29 株式会社東芝 パターン塗り潰し方法
JPH0486961A (ja) * 1990-07-31 1992-03-19 Toshiba Corp 塗りつぶしパターン発生装置および発生方法
JPH0719295B2 (ja) * 1990-08-06 1995-03-06 富士ゼロックス株式会社 図形の塗り潰し方法
JP2770582B2 (ja) * 1991-03-12 1998-07-02 富士ゼロックス株式会社 図形塗潰し装置
EP0522877B1 (en) * 1991-07-12 1998-09-23 Canon Kabushiki Kaisha Image processing
JP2757614B2 (ja) * 1991-09-06 1998-05-25 日本電気株式会社 図形塗りつぶし装置
JP2821296B2 (ja) * 1991-12-06 1998-11-05 キヤノン株式会社 印刷方法及び装置
US5577171A (en) * 1992-03-02 1996-11-19 Kabushiki Kaisha Toshiba Figure pattern generating apparatus for detecting pattern defects
US5305431A (en) * 1992-08-18 1994-04-19 International Business Machines Corporation Method and system for rendering polygons on a raster display
US5579410A (en) * 1992-10-09 1996-11-26 Mitsubishi Electric Semiconductor Software Corporation Region filling circuit and method of filling a region
JP3021278B2 (ja) * 1993-08-30 2000-03-15 シャープ株式会社 均一幅線の生成装置及び均一幅線の生成方法
DE69426758D1 (de) * 1993-12-30 2001-04-05 Canon Kk Anordnung und Verfahren zur Verarbeitung von Zeichenmustern
US6356268B1 (en) * 1996-04-26 2002-03-12 Apple Computer, Inc. Method and system for providing multiple glyphs at a time from a font scaler sub-system
JP3315861B2 (ja) * 1996-05-13 2002-08-19 シャープ株式会社 文字生成装置
JPH10104168A (ja) * 1996-09-26 1998-04-24 Toshiba Corp 設計データに基づく図形データ展開装置
US6504543B1 (en) * 1999-01-06 2003-01-07 Matsushita Electric Industrial Co., Ltd. Polygon drawing method and polygon drawing apparatus
JP4100945B2 (ja) * 2002-03-27 2008-06-11 富士通株式会社 図形描画装置
ATE539436T1 (de) 2003-02-20 2012-01-15 Koninkl Philips Electronics Nv Informationsträger, der zugangsinformationen umfasst
US8749561B1 (en) 2003-03-14 2014-06-10 Nvidia Corporation Method and system for coordinated data execution using a primary graphics processor and a secondary graphics processor
US8743019B1 (en) * 2005-05-17 2014-06-03 Nvidia Corporation System and method for abstracting computer displays across a host-client network
US8345056B2 (en) * 2008-01-18 2013-01-01 Autodesk, Inc User-directed path-based region filling
US9418459B2 (en) * 2008-01-18 2016-08-16 Autodesk, Inc. Region filling using matching criteria
US8736617B2 (en) * 2008-08-04 2014-05-27 Nvidia Corporation Hybrid graphic display
TWI383336B (zh) * 2008-11-14 2013-01-21 Delta Electronics Inc 多邊形快速填色方法
US8799425B2 (en) * 2008-11-24 2014-08-05 Nvidia Corporation Configuring display properties of display units on remote systems
US9075559B2 (en) * 2009-02-27 2015-07-07 Nvidia Corporation Multiple graphics processing unit system and method
US9135675B2 (en) * 2009-06-15 2015-09-15 Nvidia Corporation Multiple graphics processing unit display synchronization system and method
US8766989B2 (en) * 2009-07-29 2014-07-01 Nvidia Corporation Method and system for dynamically adding and removing display modes coordinated across multiple graphics processing units
US8780122B2 (en) * 2009-09-16 2014-07-15 Nvidia Corporation Techniques for transferring graphics data from system memory to a discrete GPU
US9111325B2 (en) * 2009-12-31 2015-08-18 Nvidia Corporation Shared buffer techniques for heterogeneous hybrid graphics
JP5597096B2 (ja) * 2010-10-18 2014-10-01 キヤノン株式会社 画像処理装置、画像処理方法、およびプログラム
US9818379B2 (en) 2013-08-08 2017-11-14 Nvidia Corporation Pixel data transmission over multiple pixel interfaces
US9842532B2 (en) 2013-09-09 2017-12-12 Nvidia Corporation Remote display rendering for electronic devices

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2641708C3 (de) * 1976-09-16 1980-02-21 Paul 6456 Langenselbold Gutermuth Unterdecke, insbesondere für gewerbliche Küchen, Schlachthauser, Waschkuchen u.dgl
US4396989A (en) * 1981-05-19 1983-08-02 Bell Telephone Laboratories, Incorporated Method and apparatus for providing a video display of concatenated lines and filled polygons
JPS5971093A (ja) * 1982-10-18 1984-04-21 株式会社日立製作所 塗潰し図形発生装置
SE448789B (sv) * 1983-03-29 1987-03-16 Ericsson Telefon Ab L M Anordning for att i ett datorstyrt presentationssystem generera bilder i raster pa en bildskerm
JPS6061867A (ja) * 1983-09-14 1985-04-09 Matsushita Electric Ind Co Ltd 図形処理装置における図形塗りつぶし方法
EP0145821B1 (en) * 1983-12-22 1988-05-11 International Business Machines Corporation Area filling hardware for a colour graphics frame buffer
JPS61241880A (ja) * 1985-04-19 1986-10-28 Hitachi Ltd 閉図形塗りつぶし装置
US4791582A (en) * 1985-09-27 1988-12-13 Daikin Industries, Ltd. Polygon-filling apparatus used in a scanning display unit and method of filling the same
FR2600185B1 (fr) * 1985-12-13 1988-08-19 Sintra Procede de surfacage de zones d'images delimitees par des contours pour processeur graphique et processeur de surfacage pour la mise en oeuvre de ce procede
US4815009A (en) * 1987-04-21 1989-03-21 Xerox Corporation Algorithm for filling an image outline

Also Published As

Publication number Publication date
EP0327003A2 (en) 1989-08-09
DE68915006T2 (de) 1994-08-25
US5016001A (en) 1991-05-14
EP0327003B1 (en) 1994-05-04
DE68915006D1 (de) 1994-06-09
EP0327003A3 (en) 1991-05-29
KR890012244A (ko) 1989-08-25
JPH01196675A (ja) 1989-08-08

Similar Documents

Publication Publication Date Title
KR970003327B1 (ko) 패턴데이터 생성시스템
US8698808B2 (en) Conversion of dashed strokes into quadratic Bèzier segment sequences
US20060044312A1 (en) Rendering outline fonts
JPH04287292A (ja) トリミングされたパラメトリック面のレンダリング方法及び装置
JPS5995669A (ja) 図形処理装置
EP0344686A2 (en) Clipping process and processor
JP2634851B2 (ja) 画像処理装置
EP0464794B1 (en) Painting pattern generation system and pattern painting method using the system
JPH07503087A (ja) 改善されたパターン性能を有するビデオグラフィック制御器
JPH07118024B2 (ja) パターンデータ生成方式
KR930000693B1 (ko) 패턴 데이터 발생장치
JP2770582B2 (ja) 図形塗潰し装置
KR100361387B1 (ko) 다각형 묘화 방법, 및 다각형 묘화 장치
US5371843A (en) Method and system for filling non-complex polygons using vertical spans
US5444834A (en) Filling pattern generation apparatus and method including correction for pattern overflow
JPH07504052A (ja) 改善された計算性能を有するビデオグラフィック制御器
JP2613653B2 (ja) 画像処理装置
EP0288629A1 (en) Gouraud shading on graphics display apparatus
JP2610825B2 (ja) 図形処理装置
JP2782904B2 (ja) 多角形塗りつぶし方式
JPH02168361A (ja) 座標データを発生するパターンデータ発生装置及びプロセッサ
JP2835056B2 (ja) 高品質文字パターン発生方式
JPH0727572B2 (ja) 比較を行い信号を発生する装置およびその方法
JP2605609B2 (ja) ドット表示処理装置
JPH03212689A (ja) 画像処理装置

Legal Events

Date Code Title Description
A201 Request for examination
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: 20070731

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee