KR910001394B1 - 컴퓨터의 원 그래픽 방법 - Google Patents

컴퓨터의 원 그래픽 방법 Download PDF

Info

Publication number
KR910001394B1
KR910001394B1 KR1019880001216A KR880001216A KR910001394B1 KR 910001394 B1 KR910001394 B1 KR 910001394B1 KR 1019880001216 A KR1019880001216 A KR 1019880001216A KR 880001216 A KR880001216 A KR 880001216A KR 910001394 B1 KR910001394 B1 KR 910001394B1
Authority
KR
South Korea
Prior art keywords
coordinates
axis
circle
variable
coordinate
Prior art date
Application number
KR1019880001216A
Other languages
English (en)
Other versions
KR890013575A (ko
Inventor
위환
Original Assignee
금성기전 주식회사
홍종선
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 금성기전 주식회사, 홍종선 filed Critical 금성기전 주식회사
Priority to KR1019880001216A priority Critical patent/KR910001394B1/ko
Publication of KR890013575A publication Critical patent/KR890013575A/ko
Application granted granted Critical
Publication of KR910001394B1 publication Critical patent/KR910001394B1/ko

Links

Images

Classifications

    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

내용 없음.

Description

컴퓨터의 원 그래픽 방법
제1도는 종래의 원 그래픽 방법을 설명하기 위한 설명도.
제2도는 본 발명의 회로도.
제3도의(가)-(다)는 본 발명의 방법을 보인 신호흐름도.
제4도 및 제5도는 본 발명의 방법을 설명하기 위한 설명도.
* 도면의 주요부분에 대한 부호의 설명
1 : 중앙처리장치 2 : 입출력디코더
3 : 비디오램 4 : 램
5 : 롬 6 : 표시제어부
7 : 입출력인터페이스 8 : 모니터
9 : 태블릿 10 : 키보드부
본 발명은 컴퓨터의 그래픽 방법에 관한 것으로, 특히 CAD(Computer Aided Design) 등에 적당하도록 원(circle)을 그래픽하는 컴퓨터의 원 그래픽 방법에 관한 것이다.
종래에는 원을 형성하는 각각의 점을 미분방정식으로 계산하여 원을 그래픽하였다.
즉, 제1도에 도시된 바와 같이 시작점(start point)인 점 P1및 끝점(end point)인 점 P2를 태블릿(tablet)에 적으면,
Figure kpo00001
를 지름으로 하는 원이 생성되고, 이때 원의 방정식은 다음과 같다.
Figure kpo00002
여기서, X 및 Y는 좌표이고, R은 원의 반지름이다.
상기의 식에서 점 P1및 점 P2의 좌표를 (P1X, P1Y), (P2X, P2Y)라고 가정하면,
Figure kpo00003
Figure kpo00004
이 성립된다.
여기서, 원의 중심 C의 좌표를 (CX, CY)라고 가정하면, 중심 C와 원주상의 임의의 한점 P와의 수직벡터 성분이 존재하고, 벡터성분 즉, 접선의 식은 미분방정식으로 나타나며, 이를 식으로 풀면
Figure kpo00005
가 된다.
그리고, 원을 형성하는 각각의 점을 계산하기 위해서는 상기의 미분방정식을 풀어 적용하는 절차를 반복하여 수행하고, 해상도(MONITOR RESOLUTiON)의 특성에 따라 구한 값을 정수로 반올림하여 화면에 표현한다.
그러나, 이와 같이 원을 그래픽하는 방법은 원을 형성하는 각 점마다 미분방정식을 풀어 나타내야 되므로 원을 그래픽하는 속도가 매우 느리고, 또한 소프트웨어가 매우 복잡하게 되는 결함이 있었다.
본 발명은 이와 같은 종래의 결함을 감안하여, 원의 대칭성을 이용하여 그래픽 즉, 원의
Figure kpo00006
에 해당되는 각 점의 좌표를 구하여 기억부에 저장하고, 원의 나머지
Figure kpo00007
의 부분은 기억부에 저장한 원의
Figure kpo00008
부분의 각 점의 좌표를 좌표 변환하여 그래픽하게 창안한 것으로, 이를 첨부된 제2도 내지 제5도의 도면에 의하여 상세히 설명하면 다음과 같다.
제2도는 본 발명의 회로도로서, 이에 도시한 바와 같이 부호 1은 연산부 및 제어부, 입력부, 출력부 등을 관제하는 중앙처리장치로서, 주변장치를 제어하고, 부호 2는 입출력디코더로서 비디오램(3) 및 램(4), 롬(5), 표시제어부(6), 입출력인터페이스(7)를 선택하며, 롬(5)은 프로그램을 저장하는 피롬으로 구성되고, 램(4)은 롬(5)에 저장한 프로그램을 수행하는 동안에 버퍼로서 사용된다.
그리고, 비디오램(3)은 모터니(8)에 디스플레이할 데이타를 저장하고, 표시제어부(6)에 의해 모니터(8)의 해상도에 따라 비디오램(3)에 저장된 값을 모니터(8)상의 좌표와 대응되어 디스플레이되도록 하며, 입출력인터페이스(7)는 터블릿(9) 및 키보드부(10)의 입력부로서, 입력되는 신호를 해독하여 프로그램으로 좌표계산등을 수행할 수 있게 한다.
이와 같은 본 발명은 제3도의 (가)에 도시한 바와 같이 램(4)의 영역을 선정하고, 그래픽할 원의 좌표P1, P2를 리드한 후 그 원의 좌표 P1, P2에서 중심점 좌표 C를 구한다. 즉, P1의 좌표를 (P1X, P1Y)라 하고, P2의 좌표를 (P2X, P2Y)라 하며, 중심점 좌표 C를 (CX,CY)라 하면, 좌표 CX, CY는 다음과 같다.
Figure kpo00009
이와 같이하여 중심점 좌표 C(CX, CY)를 구하면, 제4도에 도시한 바와 같이 그 중심점 좌표 C(CX, CY)를 원점으로 이동시키고, 중심점 좌표에서 위치좌표까지의 거리 즉, 다음과 같이 그래픽할 원의 반지름 R을 계산한다.
Figure kpo00010
그리고 상기의 식에서 구한 원의 반지름 R에 Cos 45°를 곱하여 원의
Figure kpo00011
에 해당되는 X축의 경계값 Z 즉, X9를 구하고, 램(4)의 시작어드레스에 반지름 R의 값을 저장 즉, 그래픽할 원의 첫번깨 점 R1의 X축값은 반지름 R의 값과 동일하므로 램(4)의 시작어드레스에 점 R1의 좌표인(X12, 0)를 저장한 후 그래픽점 설정루틴을 수행하여 Y축의 좌표를 1씩 증가 즉, Y축을 Y1, Y2, Y3‥‥로 순차증가시키면서 그래픽할 원의
Figure kpo00012
에 해당하는 X축 좌표를 찾아 그 X축 및 Y축의 좌표를 램(4)의 다음번 어드레스에 순차적으로 저장한다.
즉, 제3도의 (나)에 도시한 바와 같이 X축의 변수 RX에 반지름 R의 값을 저장하고, Y축의 변수 RY
0을 저장한 후 변수 Rl에 1을 더하여 Yl으로 한 후 변수 RX및 RY의 좌표와, 변수 RX에서 1을 뺀 RX-1및 RY의 두좌표 중에서 어느 좌표가 원점에서의 거리가 반지름 R의 거리와 가까운지를 다음의 식으로 판별하여 가까운 좌표를 선택한다.
Figure kpo00013
Figure kpo00014
상기의 식에서 |R2-XA 2|<|R2-XB 2|이므로 다음번의 좌표로(RX, RY)를 설정 즉, (X12, Y1)을 다음번 좌표로 설정하고, 다시 변수 RY에 1을 더하여 Y축을 Y2로 한 후 상기의 동작을 반복하여 X축의 좌표가 경계값 Z로 될때까지 반지름 R에 해당하는 각 좌표를 설정하며, 그리고, |R2-XA 2| > | R2-XB 2|이 되면, 다음번의 좌표로 (RX-1,RY)로 설정하고, 변수 RX를 XB로 만들며, 이때 래(4)에는 R1, R3, R5, R7, R8, R11, R15, R16즉, 좌표 (X12, Y0), (X12, Y1), (X12, Y2), (X12, Y3), (X11, Y4), (X11, Y5), (X10, Y6), (X10, Y7), (X9, Y8), 이 순차적으로 저장된다.
이와 같이 하여 그래픽할 원의
Figure kpo00015
에 해당하는 좌표가 결정되어 램(4)에 저장되면, 좌표변환 루틴으로 X축 및 축의 좌표를 변환하면서 원의 나머지
Figure kpo00016
에 해당하는 각 좌표를 찾고 그래픽한다.
즉, 제3도의 (다)에 도시한 바와 같이 램(4)에 저장한 좌표(RX, RY)를 그대로 출력하여 제5도에 도시한바와 같이 원의 RA부분을 그래픽하고, X축좌표 및 Y축좌표를 Y축좌표 및 X축좌표로 좌표변환하여 RA부분과 원점에 대하여 45°되는 축을 중심으로 대칭인 원의 RB부분을 그래픽하며, X축좌표 및 Y축좌표를 Y축좌표 및 -X축좌표로 좌표변환하여 RB부분과 Y축대칭인 RC부분을 그래픽하며, X축좌표는 -X축좌표로 좌표변환하고 Y축좌표는 그대로 Y축좌표로하여 RA부분과 Y축대칭인 RD부분을 그래픽한다.
그리고, X축좌표 및 Y축좌표를 -X축 및 -Y축좌표로 좌표변환하여 RA부분과 원점을 중심으로 대칭인RE부분을 그래픽하고, X축좌표 및 Y축좌표를 -Y축 및 -X축좌표로 좌표변환하여 RB부분과 원점을 중심으로 대칭인 RF부분을 그래픽하며, X축좌표 및 Y축좌표를 -Y축 및 X축좌표로 좌표변환하여 RB부분과 X축대칭인 RG부분을 그래픽하며, X축좌표는 그대로 X축좌표로 두고, Y축좌표는 -Y축좌표로 좌표변환하여 RA부분과 X축대칭인 RH부분을 그래픽한다.
이상에서 상세히 설명한 바와 같이 본 발명은 원을 그래픽할 경우에 원의
Figure kpo00017
에 해당되는 부분의 좌표를 구하고, 그 구한 좌표를 좌표변환하여 원의 나머지
Figure kpo00018
부분을 그래픽하므로 원의 그래픽속도가 매우 빠르고, 원의 대칭을 이용하여 좌표변환하므로 간단히 소프트웨어를 제작하는 효과가 있다.

Claims (3)

  1. 입력한 위치좌표 P1, P2의 중심점 좌표 C(CX, CY)를 계산하여 그 중심점 좌표를 원점으로 하고, 그 위치좌표 P1및 P2간의 간격을
    Figure kpo00019
    로 나누어 그래픽할 원의 반지름 R을 구하며, 그 반지름 R에 Cos 45°를 곱하여 원의
    Figure kpo00020
    부분에 해당되는 X축의 경계갑 Z를 구한후 램(4)의 시작어드레스에 X축 및 Y축 좌표로 곱하여 원의 부분에 해당되는 X축의 경계값 Z를 구한 후 램(4)의 시작어드레스에 X축 및 Y축 좌표로 반지름 R의 값 및 0을 저장하는 기준 좌표 성정루틴과, Y축의 좌표는 1씩 증가시키고, Y축의 좌표는 축의 좌표가 1씩 증가함에 따라 인접되는 두좌표중에서 반지름 R의 값에 가까운 좌표를 결정하고, 램(4)의 다음 어드레스에 순차적으로 저장하는 것을 X축의 좌표가 상기의 경계값 Z와 동일할때까지의 반복수행하는 그래프점 설정루틴과, 램(4)에 저장된 X축 및 Y축좌표로 원의 부분을 그래픽함과 아울러 그 램(4)에 저장된 X축 및 Y축 좌표를 좌표변환하여 원의 나머지
    Figure kpo00021
    부분을 그래픽함과 아울러 그 램(4)에 저장된 X축 및 Y축 좌표를 좌표변환하여 원의 나머지
    Figure kpo00007
    부분을 그래픽하는 좌표 변환 루틴으로 위치좌표 P1, P2를 지름으로하는 원을 그래픽함을 특징으로하는 컴퓨터의 원 그래픽 방법.
  2. 제1항에 있어서, 그래픽점 설정루틴은 X축의 변수 RX에 반지름 R의 값을 저장하고, Y축의 변수 RY에 0을 저장한 후, 변수 RY에 1을 더하고 RX 2+RY 2및 (RX-1)2+RY 2을 하여 변수 XA 2및 XB 2을 구하여|R2-XA 2|<|R2-XB 2|일 병우에는 변수 RX에 변수 XA를 저장하고 |R2-XA 2|>|R2-XB 2| 일 경우에는 변수 RX에 변수 XB를 저장하여 변수 RX, RY의 좌표를 램(4)에 순차적으로 저장하는 것을 변수 RX가 경계값 Z와 동일하게 될때까지 반복하게 함을 특징으로하는 컴퓨터의 원 그래픽 방법.
  3. 제1항에 있어서, 좌표변환루틴은 램(4)에 저장한 X축 및 Y축좌표를 순차출력하여 원의
    Figure kpo00023
    부분을 그래픽한 후 그 X축 및 Y축좌표를 Y축 및 X축좌표와, Y축 및 -X축좌표와, -X축 및 Y축좌표와, -X축 및 -Y축좌표와, -Y축 및 -X축좌표와, -Y축 및 -X축 좌표와, X축 및 -Y축 좌표로 순차적으로 좌표변환한 후 출력하여 원의
    Figure kpo00024
    부분을 그래픽하게 함을 특징으로하는 컴퓨터의 원 그래픽 방법.
KR1019880001216A 1988-02-09 1988-02-09 컴퓨터의 원 그래픽 방법 KR910001394B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019880001216A KR910001394B1 (ko) 1988-02-09 1988-02-09 컴퓨터의 원 그래픽 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019880001216A KR910001394B1 (ko) 1988-02-09 1988-02-09 컴퓨터의 원 그래픽 방법

Publications (2)

Publication Number Publication Date
KR890013575A KR890013575A (ko) 1989-09-25
KR910001394B1 true KR910001394B1 (ko) 1991-03-04

Family

ID=19272045

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019880001216A KR910001394B1 (ko) 1988-02-09 1988-02-09 컴퓨터의 원 그래픽 방법

Country Status (1)

Country Link
KR (1) KR910001394B1 (ko)

Also Published As

Publication number Publication date
KR890013575A (ko) 1989-09-25

Similar Documents

Publication Publication Date Title
JP3164617B2 (ja) 文字図形変形処理装置および方法
JPH03185496A (ja) 表示画面スクロール方式
JPH05307610A (ja) テクスチャマッピング方法およびその装置
JPH0746391B2 (ja) 図形シエ−デイング装置
JP3786995B2 (ja) オブジェクトにテクスチャを表示するためにテクセル値を計算する方法及び装置
US4675665A (en) Realtime tracking of a movable cursor
JPWO2003001457A1 (ja) 情報処理装置
KR100277803B1 (ko) 3차원 그래픽 표시장치
KR910001394B1 (ko) 컴퓨터의 원 그래픽 방법
JP3278501B2 (ja) 画像処理装置および方法
JPH02150975A (ja) 図形表示方式
JP2787497B2 (ja) 図形描画方法及び装置
JPH01241681A (ja) 画像処理装置
JP2686607B2 (ja) 画像処理方法
JP3502901B2 (ja) 3次元グラフィックス画像表示装置及び方法
JPH0345428B2 (ko)
JPH0737121A (ja) 画像処理方法
JPS62205482A (ja) Crtデイスプレイ装置のセグメント発生回路
JPS62189580A (ja) カ−ソル表示装置
JPH05274411A (ja) 図形処理方法
JP2822672B2 (ja) 図形描画方法および装置
JPS63241625A (ja) 線画入力装置
JPH02183877A (ja) 図形表示装置
JPH1186026A (ja) 画像処理装置
JPH0346826B2 (ko)

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

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee