PL171287B1 - Sposób przetwarzania danych obrazu graficznego PL - Google Patents

Sposób przetwarzania danych obrazu graficznego PL

Info

Publication number
PL171287B1
PL171287B1 PL92301830A PL30183092A PL171287B1 PL 171287 B1 PL171287 B1 PL 171287B1 PL 92301830 A PL92301830 A PL 92301830A PL 30183092 A PL30183092 A PL 30183092A PL 171287 B1 PL171287 B1 PL 171287B1
Authority
PL
Poland
Prior art keywords
point
line
imaging window
periphery
border
Prior art date
Application number
PL92301830A
Other languages
English (en)
Inventor
John A Herrod
Original Assignee
Ibm
International Business Machines Corp
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 Ibm, International Business Machines Corp filed Critical Ibm
Publication of PL171287B1 publication Critical patent/PL171287B1/pl

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/30Clipping

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Digital Computer Display Output (AREA)
  • Image Generation (AREA)
  • Image Analysis (AREA)
  • Processing Or Creating Images (AREA)

Abstract

1 Sposób przetwarzania danych obrazu graficznego, zwlaszcza obcinania elementu graficznego do okna obrazowania, w którym analizuje sie dane punktów z trasowania wokól obrzeza elementu graficznego i wykrywa sie punkt wyjscia, w którym obrzeze ele- mentu graficznego przecina obrzeze okna obrazowania i wychodzi z okna obrazowania, oraz wykrywa sie punkt wejscia, w którym obrzeze elementu graficznego przecina obrzeze okna obrazowania i wchodzi do okna obrazowania, znam ienny tym, ze analizuje sie dane punktów obrzeza (6) elementu (2) graficznego i hipotetycznei linii (12), która rozpoczyna sie i rozciaga od wczesniej okreslonego punktu (P) na obrzezu (8) okna (4) obrazowania do drugiego konca znajdujacego sie na zewnatrz elementu (2) graficznego, oraz wy- krywa sie dane punktów przeciecia tej hipotetycznej linii (12) z czescia obrzeza (6) elementu (2) graficznego na zewnatrz okna (4) obrazowania pomiedzy punktem wyjscia (EX) 1 punktem wejscia (EN) nieparzysta lub parzysta liczbe razy, przy czym dla przypadku gdy hipotetyczna linia (12) przecina czesc obrzeza (6) elementu (2) graficznego nieparzysta liczbe razy, okresla sie dane, linii zamykajacej (10) wzdluz obrzeza (8) okna (4) obrazowania pomiedzy punktem wyjscia (EX) i punktem wejscia (EN), przechodzacej przez wczesniej okreslony punkt (P) na obrzezu (8) okna(4) obrazowania, zas dla przypadku gdy hipotetyczna linia (12) przecina czesc obrzeza (6) elementu (2) graficznego parzysta liczbe razy, okresla sie dane linii zamykajacej (10) wzdluz obrzeza (8) okna (4) obrazowania pomiedzy punktem wyjscia (EX) i punktem wejscia (EN), nieprzechodzacej przez wczesniej okreslony punktu (P) na obrzezu (8) okna (4) obrazowania FIG 1 PL

Description

Przedmiotem wynalazku jest sposób przetwarzania danych obrazu graficznego, zwłaszcza obcinania elementów graficznych zawierających obszary określone przez ich obrzeże do okna obrazowania.
Znane są różne sposoby obcinania obszarów obrazowania graficznego określonych przez ich obrzeża lub tak zwane okna obrazowania lub wzierniki, na przykład sposoby według algorytmu Sutherlanda-Hodgemana lub algorytmu Weilera-Athertona. Omówienie tych algorytmów można znaleźć na stronach 450 - 457 książki J.D. Foley’a i A. Van Dama “Fundamentals of Interactive Computer Graghics” (Podstawy interakcyjnej grafiki komputerowej) wydanej przez wydawnictwo Addison Wesley w 1982 r.
W sposobie przetwarzania danych obrazu graficznego według algorytmu SutherlandaHodgemana wykorzystuje się zasadę traktowania okna obrazowania jak kompozycji uzyskanej ze zbioru nieskończenie rozciągających się linii odcięcia. Zadanie obcięcia rozpatrywanego wielokąta przy wykorzystaniu nieskończenie rozciągającej się linii obcinania jest relatywnie łatwe. Część wielokąta przewidziana do obrazowania może być określona poprzez zbieranie rezultatów kolejnych obcięć realizowanych za pomocą wspomagających się linii odcięcia. Konkretny pojawiający się problemjest związany z wyjaśnieniem sposobu kreślenia tak zwanych “linii zamykających”, łączących punkty lezące na obrzeżu obcinanego wielokąta w przypadku, gdy przecina on okno obrazowania. W standardowych rozwiązaniach wytwarzane są dodatkowe linie zamykające, które muszą być usuwane za pomocą dodatkowych kroków przetwarzania. Niezbędność tego dodatkowego przetwarzania dla wyeliminowania dodatkowych krawędzi redukuje efektywność obcinania.
Alternatywnie można wykorzystywać sposób przetwarzania danych obrazu graficznego według algorytmu Weilera-Athertona. Według tego sposobu trasuje się obrzeże rozpatrywanego wielokąta w kierunku zgodnym z mchem wskazówek zegara aż do osiągnięcia przecięcia z oknem obrazowania. Jeżeli krawędź wchodzi w okno obrazowania, to realizuje się przetwarzanie wzdłuż krawędzi rozpatrywanego wielokąta. W przypadku, gdy krawędź opuszcza okno obrazowania, zmienia się kierunek działania i podąża za krawędzią okna obrazowania. W obydwu przypadkach zapamiętywany jest punkt przecięcia, co następnie jest wykorzystywane do zagwarantowania dokładnie jednego przebiegu dla wszystkich ścieżek. Chociaż w przypadku sposobu przetwarzania według algorytmu Weilera-Athertona nie istnieje problem wytworzenia dodatkowych linii zamykających, to jego wadąjest znacznie wyższa złożoność w porównaniu ze sposobem przetwarzania według algorytmu Sutherlanda-Hodgemana.
Istotą sposobu przetwarzania danych obrazu graficznego, zwłaszcza obcinania elementu graficznego do okna obrazowania, w którym analizuje się dane punktów z trasowania wokół obrzeża elementu graficznego i wykrywa się punkt wyjścia, w którym obrzeże elementu graficznego przecina obrzeże okna obrazowania i wychodzi z okna obrazowania, oraz wykrywa się punkt wejścia, w którym obrzeże elementu graficznego przecina obrzeże okna obrazowania i wchodzi do okna obrazowania, jest to, że analizuje się dane punktów obrzeża elementu graficznego i hipotetycznej linii, która rozpoczyna się i rozciąga od wcześniej określonego punktu na obrzeżu okna obrazowania do drugiego końca znajdującego się na zewnątrz elementu graficznego, oraz wykrywa się dane punktów przecięcia tej hipotetycznej linii z częścią obrzeza elementu graficznego na zewnątrz okna obrazowania pomiędzy punktem wyjścia i punktem wejścia nieparzystą lub parzystą liczbę razy, przy czym dla przypadku gdy hipotetyczna linia przecina część obrzeża elementu graficznego nieparzystą liczbę razy, określa się dane linii zamykającej wzdłuz obrzeża okna obrazowania pomiędzy punktem wyjścia i punktem wejścia, przechodzącej przez wcześniej określony punkt na obrzeżu okna obrazowania, zaś dla przypadku gdy hipotetyczna linia przecina część obrzeza elementu graficznego parzystą liczbę razy, określa się dane linii zamykającej wzdłuż obrzeza okna obrazowania pomiędzy punktem wyjścia i punktem wejścia, nieprzechodzącej przez wcześniej określony punkt na obrzeżu okna obrazowania.
Korzystne jest, gdy zgodnie z wynalazkiem jako hipotetyczną linię stosuje się linię prostą jako wcześniej określony punkt stosuje się wierzchołek obrzeża okna obrazowania, jako hipotetyczną linię stosuje się przedłużenie części obrzeza okna obrazowania tworzącego wierzchołek,
171 287 zaś nieparzystą, lub parzystą liczbę punktów przecięć wykrywa się poprzez trasowanie wokół części obrzeża okna obrazowania.
Korzystne jest także, gdy w trakcie wykrywania danych punktów przecięcia określa się, czy część obrzeża elementu graficznego zbliża się i następnie styka się z hipotetyczną linią lub styka się i następnie oddala się od hipotetycznej linii z jej pierwszej strony oraz określa się, czy część obrzeża elementu graficznego nie przecięła hipotetycznej linii, gdy część obrzeża elementu graficznego zbliża się i następnie styka się z hipotetyczną linią lub styka się i następnie oddala się od hipotetycznej linii z jej drugiej strony, przy czym wykrycie iż linia zamykająca przechodzi przez wcześniej określony punkt ma miejsce, gdy linia zamykająca oddala się od wcześniej określonego punktu z pierwszej strony hipotetycznej linii, zaś wykrycie iż linia zamykająca nie przechodzi przez wcześniej określony punkt ma miejsce, gdy linia zamykająca oddala się od wcześniej określonego punktu z drugiej strony hipotetycznej linii.
Dalsze korzyści z wynalazku uzyskuje się, gdy dla przypadku rozpoczęcia trasowania punktów danych w punkcie znajdującym się poza oknem obrazowania, pierwszy punkt wejścia łączy się w parę z ostatnim punktem wyjścia, zapamiętuje się liczbę przecięć hipotetycznej linii pomiędzy ostatnim punktem startu i punktem wejścia oraz dodaje się ją do liczby przecięć hipotetycznej linii pomiędzy ostatnim punktem wyjścia i punktem startu.
Zaletą rozwiązania według wynalazku, związanego z problemem technicznym występującym w urządzeniach do przetwarzania graficznego polegającym na wykreślaniu odpowiedniej linii zamykającej biegnącej wzdłuż krawędzi okna obrazowania pomiędzy dwoma punktami, w których krawędź obszaru przewidzianego do obrazowania przecina okno obrazowania, jest wyeliminowanie niekorzystnej złożoności występującej w znanych rozwiązaniach.
Sposób przetwarzania danych obrazu graficznego według wynalazku przedstawiono w przykładzie realizacji w oparciu o rysunek, na którym fig. 1 do 5 przedstawiają w postaci graficznej analizowane punkty danych obrazów, przy czym fig. 1 dotyczy sposobu przetwarzania dla przypadku prostych elementów graficznych, fig. 2 - dla elementu graficznego o bardziej złożonych kształtach w porównaniu z pokazanymi na fig. 1, fig. 3 - z zastosowaniem efektywnie nieskończenie rozciągającej się linii stanowiącej rozszerzenie obrzeża okna obrazowania, fig. 4 - w którym obrzeże elementu styka się lecz nie przecina efektywnie nieskończenie rozciągającej się linii, fig. 5 - w którym punkt wejścia lub punkt wyjścia zbiega się z wcześniej określonym punktem, zaś fig. 6 przedstawia sieć działań ilustrująca etapy sposobu według wynalazku, zaś fig. 7 - schemat połączeń typowego sprzętu, za pomocą którego może być zrealizowany wynalazek.
Na figurze 1 pokazano element 2 graficzny i okno 4 obrazowania. Element 2 graficzny ma obrzeże 6 elementu. Część obrzeża 6 elementu znajdująca się wewnątrz okna 4 obrazowania jest identyczna w obu przypadkach A i B. Przetwarzanie rozpoczyna się w punkcie leżącym na obrzeżu 6 elementu znajdującym się wewnątrz okna 4 obrazowania i realizując trasowanie wokół obrzeza 6 elementu najpierw wykrywa się punkt wyjścia EX, w którym obrzeże 6 elementu przecina obrzeże 8 okna i opuszcza okno 4 obrazowania. Wykonując dalsze trasowanie wokół obrzeża 6 elementu wykrywa się każdy punkt wejścia EN, w którym element obrzeza 6 przecina obrzeże 8 okna i wchodzi do okna 4 obrazowania.
Część obrzeża 6 elementu znajdująca się wewnątrz okna 4 obrazowania oraz położenie punktu wyjścia EX i punktu wejścia EN są identyczne w obydwu przypadkach. Na wstępie należy określić, jak należy kreślić linię zamykającą 10. Linia zamykająca 10 może być kreślona wzdłuż obrzeża 8 okna bezpośrednio z punktu EX do punktu EN lub może być kreślona wzdłuż obrzeża 8 okna z punktu EX do punktu EN przez narożniki b, c, d i a.
Dla rozróżnienia tych dwu przypadków sprawdza się ile razy efektywnie nieskończenie rozciągająca się hipotetyczna linia 12 przecina część obrzeża 6 elementu znajdującą się na zewnątrz okna 4 obrazowania, pomiędzy punktem wyjścia EX i punktem wejścia EN. W przypadku A analiza punktów danych wykazuje zero przecięć (liczba parzysta) wskazując, że linia zamykająca nie powinna przechodzić przez punkt P, to jest linia zamykająca 10 jest kreślona wzdłuż obrzeza 8 okna, bezpośrednio od punktu EX do punktu EN. W przypadku.. B analiza
171 287 wykazuje jedno przecięcie (liczba nieparzysta) wskazując, ze linia zamykająca 10 powinna przechodzić przez punkt P, to jest linia zamykająca 10 jest kreślona wzdłuż obrzeża 8 okna od punktu EX do punktu EN przez narożniki d i c, punki P i narożniki d ia.
Równocześnie w wykreślaniem poprawnej linii zamykającej 10 następuje zdefiniowanie zamkniętego obszaru wewnątrz okna 4 obrazowania, co może stanowić przedmiot standardowej metody wypełniania obszaru polegającej na kreskowaniu tej części elementu 2 graficznego, która jest widzialna w oknie 4 obrazowania. Powinno być zrozumiałe, ze pokazana na fig. 1 linia zamykająca 10 ma przesadną grubość, natomiast w praktyce linia zamykająca 10 może być kreślona w sposób umożliwiający uzyskanie dowolnej grubości. W niektórych przypadkach linia zamykająca 10 może mieć zerową grubość i spełnia po prostu rolę obrzeża dla przewidzianego sposobu wypełniania obszaru.
Obrzeże 6 elementu jest zdefiniowane w formie danych listy rozkazów/wektorów, na przykład obszar początkowy, wektor 1, wektor 2,..., obszar końcowy. Wektory mogąmieć postać danych współrzędnych początku i końca, krzywych określonych przez punkt początkowy, punkt końcowy' i krzywiznę lub każdą, inną wygodną reprezentację. Trasowanie wzdłuz obrzeza 6 elementu obejmuje przetwarzanie danych listwy wektorów i określanie dla każdego wektora czy linia, którą ten wektor definiuje, przecina obrzeże okna. We wcześniejszych znanych rozwiązaniach stosowano sekwencyjne czytanie wektorów, obcinanie tych wektorów względem okna 4 obrazowania i obrazowanie w postaci obciętej. Znane sposoby obcinania uzupełniono o dodatkowe kroki przetwarzania służące do określania poprawnej linii zamykającej 10. Z chwilą gdy zostanie określona poprawna linia zamykająca 10, jest ona dodawana do linii obciętych wektorów, które będą wysłane z procesora nadrzędnego do urządzenia obrazującego.
Na figurze 2 pokazano przypadek elementu 2 graficznego o bardziej złożonych kształtach. W tym przypadku analizuje się dane z trasowania wokół części obrzeża 6 elementu znajdującego się na zewnątrz okna 4 obrazowania, pomiędzy punktem EX wyjścia i punktem EN wejścia, dla wykrycia liczby przecięć tej części obrzeza 6 elementu z hipotetyczną linią 12 rozciągającą się efektywnie nieskończenie na zewnątrz od punktu P.
Biorąc pod uwagę pokazane na rysunku punkt P i hipotetyczną linię 12, można stwierdzić trzy przecięcia w i1, i2, i i3. Ta nieparzysta liczba przecięć wskazuje, że linia zamykająca 10 powinna przechodzić przez punkt P. Jak można zauważyć, jest to odpowiedni wynik dla tego wcześniej określonego punktu P. Pokazany został również punkt P’ i linia 12’. Linia 12’ ma dwa punkty przecięcia 14 i 15. Oznacza to, ze linia zamykająca 10 nie powinna przechodzć przez punkt P’. Można również zauważyć, że jest to właściwy wynik dla punktu P’.
Figura 3 ilustruje zalecaną analizę danych obrazu dla efektywnie nieskończenie rozciągającej się hipotetycznej linii 12 stanowiącej kontynuację jednej z krawędzi okna 4 obrazowania. Punkt P pokrywa się z narożnikiem b. Takie rozmieszczenie uznaje się za zalecane, przy wykrywaniu punktu wyjścia EX i punktu wejścia EN zgodnie ze znanymi sposobami, zostały już wykryte przecięcia obrzeża 6 elementu z nieskończenie rozciągającą się linią, łącznie z krawędzią okna 4 obrazowania. Linia zamykająca 10 będzie przechodziła przez punkt P w przypadku, gdy obrzeże 6 elementu wznosi się do przecięcia i 1, natomiast linia zamykająca 10 nie będzie przechodziła przez punkt P, jeżeli obrzeże elementu nie wznosi się w kierunku przecięć.
Na figurze 4 pokazano przypadek z obrzeżami 6 elementu, które stykają się lecz nie przecinaj ą hipotetycznej linii 12. Część obrzeża 6 elementu, zarówno biegnąca w kierunku, a następnie stykająca się z hipotetyczną linią 12, jak i stykająca się następnie oddalająca się od hipotetycznej linii 12zpierwszej strony hipotetycznej linii 12, jest traktowana jako przecinająca się z tą linią. Odpowiednio do tego przyjmuje się, że element 22 graficzny przecina hipotetyczną linię 12 dwukrotnie. Część 18 obrzeża 6 biegnąca w kierunku hipotetycznej linii 12 i następnie stykająca się z tąliniąjest uznawana za przecinającą się, a część 20 obrzeża 6 elementu stykająca się z hipotetyczną linią 12, a następnie oddalająca się od tej linii jest traktowana jako przecięcie.
171 287
Na odwrót, część obrzeza 6 elementu bądź to biegnąca w kierunku hipotetycznej linii 12 a następnie stykająca się z tą linią, bądź to stykająca się a następnie oddalająca się od tej linii z iei drugiej strony 16 jest uznawana za nieprzecinającą hipotetyczną linię 12. Odpowiednio do tego, element 24 graficzny jest uznawany za nieprzecinający hipotetyczną linię 12.
Na figurze 5 pokazano w jaki sposób przetwarza się dane obrazu w sytuacji, gdy wstępnie określony punkt P, pokrywa się z punktem wyjścia EX lub punktem wejścia EN. Punkt P jest uważany za część hipotetycznej linii 12, a reguła ustalania, czy hipotetyczna linia 12 jest przecinana przez obrzeże 6 elementu, jest taka samajak podano wyżej. Reguła ustalania czy linia zamykająca 10 przechodzi przez punkt P, musi być logicznie zgodna z regułą ustalania, czy obrzeże 6 elementu przecina hipotetyczną linię 12. Uważa się, że linia zamykająca 10, której koniec pokrywa się z punktem P, przechodzi przez punkt P, jeżeli część linii zamykającej 10 prowadząca do lub od punktu P znajduje się z pierwszej strony 14 hipotetycznej linii 12. Część linii prowadząca do lub od punktu P znajdująca się z drugiej strony 16 nie jest traktowana jako przechodząca przez punkt P.
Odpowiednio do tego na figurze 5 drugi element 26 graficzny ma obrzeże 6 elementu, dla którego przyjmuje się, że przecina ono hipotetyczną linię 12 jeden raz wówczas, gdy zawiera część obrzeża 6 elementu, która styka się, a następnie oddala od hipotetycznej linii 12 w obszarze pierwszej strony 14 tej linii. W pokazanym na rysunku przypadku wykrywa się, czy punkt P znajduje się wewnątrz drugiego elementu 26 graficznego, wykrywa, że punkt P znajduje się wewnątrz drugiego elementu 26 graficznego, a linia zamykająca 10 powinna przechodzić przez punkt P. Przyjmuje się, że linia zamykająca 10 kreślona bezpośrednio z punktu wyjścia EX do punktu wejścia EN powinna przechodzić przez punkt P, ponieważ część linii zamykającej 10 biegnie od punktu P z pierwszej strony 14. To świadczy o tym, że linia zamykająca 10 została wykonana poprawnie.
Odwrotnie, trzeci element 28 graficzny ma obrzeże 6 elementu, dla którego przyjmuje się, ze nie przecina hipotetycznej linii 12 ponieważ uważa się, że część obrzeża 6 elementu, która styka się a następnie oddala od hipotetycznej linii 12 z drugiej strony 16 nie przecina linii. Przy zerowej liczbie (liczba parzysta) przecięć punktu P stwierdza się, że punkt P znajduje się na zewnątrz trzeciego elementu 28 graficznego i powinna być wykreślona linia zamykająca 10, nie przechodząca przez punkt P. Linia zamykająca 10 biegnie od punktu wyjścia EX do punktu wejścia EN przez narożniki b, c, d i a, i przyjmuje się, że nie przechodzi ona przez punkt P, gdyż część opuszczająca punkt P nie znajduje się z drugiej strony 16. Ponownie linia zamykająca 10 została wykonana poprawnie.
Na figurze 6 zamieszczono sieć działań ilustrującą, w jaki sposób realizowane są etapy sposobu według jednego z wykonań wynalazku. W kroku 32 wykrywane punkty, w których obrzeże elementu wychodzi i wchodzi w okno zobrazowania. W kroku 33 odbywa się sprawdzenie, czy liczba takich przecięć jest równa zeru. Jeżeli ten przypadek ma miejsce, to oznacza, że element graficzny albo znajduje się całkowicie w oknie obrazowania, albo okno obrazowania znajduje się w całości wewnątrz elementu graficznego. Te dwa przypadki są rozróżniane w kroku 34, w którym zlicza się liczbę przecięć linii hipotetycznej. Liczba ta może wynosić zero (liczba parzysta - element graficzny znajduje się wewnątrz okna obrazowania,) lub jeden, trzy, pięć, ... (liczba nieparzysta - okno obrazowania znajduje się wewnątrz elementu graficznego). W przypadku liczby parzystej nie jest wymagana żadna linia zamykająca i element graficzny jest kreślony wewnątrz okna obrazowania (krok 35). Jeżeli otrzymywana jest liczba nieparzysta, to linia zamykająca jest kreślona wzdłuż całego obrzeza okna (krok 36).
W przypadku, gdy w kroku 33 wykryte zostały punkty wejścia i wyjścia, to w kroku 37 są kreślone fragmenty obrzeża elementu znajdującego się wewnątrz okna. W kroku 38 są identyfikowane następujące bezpośrednio po sobie kroki wyjściowy i wejściowy. Wykonuje się to przez trasowanie wokół elementu z punktu startu na obrzeżu, który może znajdować się wewnątrz lub na zewnątrz obrzeża elementu. W przypadku, gdy punkt startu znajduje się wewnątrz okna obrazowania, to wykryty będzie pierwszy punkt wyjścia i odpowiedni punkt wejścia. W kroku 39 określanajest liczba przecięć, a wykonanie kroków 40 i 41 lub 42 gwarantuj e
171 287 wykreślenie poprawnej linii zamykającej. Tym niemniej, jeżeli punkt startu znajduje się na zewnątrz okna obrazowania, to pierwsze przecięcie obrzeża okna będzie punktem wejścia. Odpowiedni punkt wyjścia (dla określenia linii zamknięcia) będzie osratnim osiągniętym punktem wyjścia przed wytyczeniem linii zamknięcia. Dla uniknięcia niekoniecznych powtórzeń określana jest liczba przecięć hipotetycznej linii pomiędzy punktem startu i pierwszym punktem wyjścia. Liczba ta jest zapamiętywana, a następnie dodawana do liczby przecięć pomiędzy ostatnim punktem wyjścia i z powrotem do punktu startu. Następnie, w sposób podobny do poprzedniego jest wykonywany test kierunku linii zamykającej. W końcu, jeżeli w kroku 43. przy wykonywaniu testu sprawdzającego, czy zostały narysowane wszystkie linie zamykające stwierdza się, że to nie zachodzi, proces wraca do kroku 38.
Na figurze 7 pokazano schemat połączeń typowego sprzętu komputerowego, w którym może być realizowany wynalazek. Cały zestaw pokazany na fig. 7 może być określony jako urządzenie 48 do przetwarzania graficznego. Urządzenie to składa się z komputera 68 centralnego sterującego wieloma monitorami ekranowymi/terminalami 50, 52. Komputer 68 ma jednostkę centralną 54, zamapiętany program graficzny (GDDM) 56 i zapamiętane dane graficzne (dane elementów graficznych z list wektorów) 58, które będą przetwarzane i obrazowane. Jednostka centralna 54 podczas pracy pod nadzorem programu 56 pełni funkcje logiki obcinającej realizującej wymagane obcinanie elementów graficznych 64, 66 przeznaczonych do zobrazowania na monitorach ekranowych 50, 52. Jak pokazano na rysunku, różne elementy graficzne 64, 66 są obcinane przez logikę obcinającą 54, 56 w taki sposób, ze obrazowane są tylko te ich części, które są widziane w oknach obrazowania 60, 62.
171 287
171 287
FIG. 2
171 287
FIG. 3
z
F!G. 4
FIG. 5
171 287
Cstart )
37OKREŚL LICZBĘ (n) ?RZECIĘĆ OBRZEŻA ELEMENTU Z HIPOTEifCZNĄ LINIĄ PO4IĘDZY WYJŚCIEM I EJSCIEM
DETEKCJA PUNKTÓW WEJŚCIA I WYJŚCIA OBRZEŻA ELEMENTU
WYBIERZ KOLEJNE jPUNKTY WYJŚCIA
I WEJŚCIA
KREŚL CZĘŚCI OBRZEŻA ELEMENTU ZNAJDUJĄCE SIE WEWNĄTRZ OKNA
ELEMENT ZNAJDUJE SIĘ W CAŁOŚCI WEWNĄTRZ OKNA,
NIE JEST POTRZEBNA < LINIA ZAMYKAJĄCA, KREŚL ELEMENT
CZY
TAK
Ψνιε 41·} ,
KREŚL LINIĘ ZAMYKAJĄCĄ WZDŁUŻ CZĘŚCI OBRZEZA OKNA NIE PRZECHODZĄCEJ PRZEZ KONIEC HIPOTETYCZNEJ LINII Z kREŚL LINIĘ ZAMY- KAJĄCĄ WZDŁUŻ CZĘŚCI OBRZEZA PKNA PRZECHODZĄCEJ PRZEZ KONIEC HIPOTETYCZNEJ LINII
FIG.
171 287
FIG. 7
171 287
F1G.1
Departament Wydawnictw UP RP Nakład 90 egz.
Cena 4,00 zł

Claims (7)

  1. Zastrzeżenia patentowe
    1. Sposób przetwarzania danych obrazu graficznego, zwłaszcza obcinania elementu graficznego do okna obrazowania, w którym analizuje się dane punktów z trasowania wokół obrzeża elementu graficznego i wykrywa się punkt wyjścia, w którym obrzeże elementu graficznego przecina obrzeże okna obrazowania i wychodzi z okna obrazowania, oraz wykrywa się punkt wejścia, w którym obrzeże elementu graficznego przecina obrzeże okna obrazowania i wchodzi do okna obrazowania, znamienny tym, że analizuje się dane punktów obrzeza (6) elementu (2) graficznego i hipotetycznej linii (12), która rozpoczyna się i rozciąga od wcześniej określonego punktu (P) na obrzeżu (8) okna (4) obrazowania do drugiego końca znajdującego się na zewnątrz elementu (2) graficznego, oraz wykrywa się dane punktów przecięcia tej hipotetycznej linii (12) z częścią obrzeża (6) elementu (2) graficznego na zewnątrz okna (4) obrazowania pomiędzy punktem wyjścia (EX) i punktem wejścia (EN) nieparzystą lub parzystą liczbę razy, przy czym dla przypadku gdy hipotetyczna linia (12) przecina część obrzeża (6) elementu (2) graficznego nieparzystą liczbę razy, określa się dane, linii zamykającej (lO)wzdłuz obrzeża (8) okna (4) obrazowania pomiędzy punktem wyjścia (EX) i punktem wejścia (EN), przechodzącej przez wcześniej określony punkt (P) na obrzeżu (8) okna (4) obrazowania, zaś dla przypadku gdy hipotetyczna linia (12) przecina część obrzeza (6) elementu (2) graficznego parzystą liczbę razy, określa się dane linii zamykającej (10) wzdłuż obrzeża (8) okna (4) obrazowania pomiędzy punktem wyjścia (EX) i punktem wejścia (EN), nieprzechodzącej przez wcześniej określony punktu (P) na obrzeżu (8) okna (4) obrazowania.
  2. 2. Sposób według zastrz. 1, znamienny tym, że jako hipotetyczną linię (12) stosuje się linię prostą
  3. 3. Sposób według zastrz. 1, znamienny tym, że jako wcześniej określony punkt (P) stosuje się wierzchołek (b) obrzeża (8) okna (4) obrazowania zaś jako hipotetyczną linię (12) stosuje się przedłużenie części obrzeza (8) okna (4) obrazowania tworzącego wierzchołek (b).
  4. 4. Sposób według zastrz. 1, znamienny tym, ze nieparzystą lub parzystą liczbę punktów przecięć wykrywa się poprzez trasowanie wokół części obrzeża (8) okna (4) obrazowania.
  5. 5. Sposób według zastrz. 1, znamienny tym, że w trakcie wykrywania danych punktów przecięcia określa się, czy część obrzeża (6) elementu (2) graficznego zbliża się i następnie styka się z hipotetyczną linią (12) lub styka się i następnie oddala się od hipotetycznej linii (12) z jej pierwszej strony (14) oraz określa się, czy część obrzeża (6) elementu (2) graficznego nie przecięła hipotetycznej linii (12), gdy część obrzeża (6) elementu (2) graficznego zbliża się i następnie styka się z hipotetyczną linią (12) lub styka się i następnie oddala się od hipotetycznej linii (12) z jej drugiej strony (16).
  6. 6. Sposób według zastrz. 5, znamienny tym, że wykrycie iż linia zamykająca (10) przechodzi przez wcześniej określony punkt (P) ma miejsce, gdy linia zamykająca (10) oddala się od wcześniej określonego punktu (P) z pierwszej strony (14) hipotetycznej linii (12), zaś wykrycie iż linia zamykająca (10) nie przechodzi przez wcześniej określony punkt (P) ma miejsce, gdy linia zamykająca (10) oddala się od wcześniej określonego punktu (P) z drugiej strony (16) hipotetycznej linii (12).
  7. 7. Sposób według zastrz. 1, znamienny tym, że dla przypadku rozpoczęcia trasowania punktów danych w punkcie znajdującym się poza oknem (4) obrazowania, pierwszy punkt wejścia (EN) łączy się w parę z ostatnim punktem wyjścia (EX), zapamiętuje się liczbę przecięć hipotetycznej linii (12) pomiędzy ostatnim punktem startu i punktem wejścia (EN) oraz dodaje się ją do liczby przecięć hipotetycznej linii (12) pomiędzy ostatnim punktem wyjścia (EX) i punktem startu.
    * * *
    171 287
PL92301830A 1991-07-05 1992-05-20 Sposób przetwarzania danych obrazu graficznego PL PL171287B1 (pl)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP91306143A EP0521209B1 (en) 1991-07-05 1991-07-05 Graphics processing method, apparatus and computer program
PCT/EP1992/001123 WO1993001562A1 (en) 1991-07-05 1992-05-20 Graphics processing method and apparatus

Publications (1)

Publication Number Publication Date
PL171287B1 true PL171287B1 (pl) 1997-03-28

Family

ID=8208340

Family Applications (1)

Application Number Title Priority Date Filing Date
PL92301830A PL171287B1 (pl) 1991-07-05 1992-05-20 Sposób przetwarzania danych obrazu graficznego PL

Country Status (10)

Country Link
US (1) US5384903A (pl)
EP (1) EP0521209B1 (pl)
JP (1) JPH0812701B2 (pl)
CA (1) CA2069117A1 (pl)
DE (1) DE69132007T2 (pl)
HU (1) HU214795B (pl)
PL (1) PL171287B1 (pl)
RU (1) RU2117331C1 (pl)
SK (1) SK294A3 (pl)
WO (1) WO1993001562A1 (pl)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2297692A4 (en) 2008-07-03 2015-04-15 Blackberry Ltd METHOD AND SYSTEM FOR QUICKLY CLIPING POLYGONES
US8207988B2 (en) * 2008-07-03 2012-06-26 Research In Motion Limited Method and system for fast clipping of line segments
US9607414B2 (en) 2015-01-27 2017-03-28 Splunk Inc. Three-dimensional point-in-polygon operation to facilitate displaying three-dimensional structures
US9916326B2 (en) 2015-01-27 2018-03-13 Splunk, Inc. Efficient point-in-polygon indexing technique for facilitating geofencing operations
US10026204B2 (en) 2015-01-27 2018-07-17 Splunk Inc. Efficient point-in-polygon indexing technique for processing queries over geographic data sets
US9836874B2 (en) 2015-01-27 2017-12-05 Splunk Inc. Efficient polygon-clipping technique to reduce data transfer requirements for a viewport

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8411579D0 (en) * 1984-05-05 1984-06-13 Ibm Graphic display systems
JPS62159283A (ja) * 1986-01-08 1987-07-15 Hitachi Ltd 塗り潰し多角形クリツピング方式
JPS62209675A (ja) * 1986-03-11 1987-09-14 Canon Inc 画像認識装置
US5231696A (en) * 1987-05-14 1993-07-27 France Telecom Process and circuitry for implementing plotting of overextending curves inside a display window
JPH077456B2 (ja) * 1988-11-11 1995-01-30 大日本スクリーン製造株式会社 重合度による図形の認識装置
US5195177A (en) * 1989-09-08 1993-03-16 Matsushita Electric Industrial Co., Ltd. Clipping processor

Also Published As

Publication number Publication date
HUT67428A (en) 1995-04-28
CA2069117A1 (en) 1993-01-06
HU9400035D0 (en) 1994-05-30
EP0521209A1 (en) 1993-01-07
JPH05151362A (ja) 1993-06-18
DE69132007D1 (de) 2000-04-06
US5384903A (en) 1995-01-24
JPH0812701B2 (ja) 1996-02-07
HU214795B (hu) 1998-05-28
DE69132007T2 (de) 2000-09-14
EP0521209B1 (en) 2000-03-01
RU2117331C1 (ru) 1998-08-10
WO1993001562A1 (en) 1993-01-21
SK294A3 (en) 1994-05-11

Similar Documents

Publication Publication Date Title
Santosa et al. A computational algorithm to determine cracks from electrostatic boundary measurements
Barnhill et al. Surface/surface intersection
Davis Understanding shape: Angles and sides
Hamlin Jr et al. Raster-scan hidden surface algorithm techniques
CA2060039C (en) Line draw pre-clipping method
PL171287B1 (pl) Sposób przetwarzania danych obrazu graficznego PL
US5231695A (en) Generalized clipping in an extended frame buffer
Chaudhuri et al. Largest empty rectangle among a point set
US4718105A (en) Graphic vectorization system
Kularathne et al. Point in polygon determination algorithm for 2-d vector graphics applications
Elber Global error bounds and amelioration of sweep surfaces
Bajaj et al. Finite representations of real parametric curves and surfaces
Andreev et al. New algorithm for two-dimensional line clipping
Mitchell et al. A comparison of line integral algorithms
JP2625612B2 (ja) 画像処理方法および画像処理装置
Yuen et al. Curvature Estimation on Smoothed 3-D Meshes.
Eichel et al. Quantitative analysis of a moment-based edge operator
Kuzmin Bresenham's Line Generation Algorithm with Built‐in Clipping
Khanban et al. Computability of partial Delaunay triangulation and Voronoi diagram
CN107346543A (zh) 血管中心线的处理方法及装置、终端及存储介质
CN107123110A (zh) 胸壁线检测方法及装置
Camps et al. Object Recognition Using Prediction And Probabilistic Match
Liang et al. Some improvements to a parametric line clipping algorithm
Gordon et al. COIFES—An efficient structural graphics program using the hidden line technique
Kirch et al. Scan statistics for the detection of anomalies in M-dependent random fields with applications to image data