PL171287B1 - Sposób przetwarzania danych obrazu graficznego PL - Google Patents
Sposób przetwarzania danych obrazu graficznego PLInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/30—Clipping
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)
- Zastrzeżenia patentowe1. 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. Sposób według zastrz. 1, znamienny tym, że jako hipotetyczną linię (12) stosuje się linię prostą
- 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. 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. 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. 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. 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
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)
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)
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 |
-
1991
- 1991-07-05 DE DE69132007T patent/DE69132007T2/de not_active Expired - Fee Related
- 1991-07-05 EP EP91306143A patent/EP0521209B1/en not_active Expired - Lifetime
-
1992
- 1992-05-20 PL PL92301830A patent/PL171287B1/pl unknown
- 1992-05-20 RU RU94014618A patent/RU2117331C1/ru active
- 1992-05-20 SK SK2-94A patent/SK294A3/sk unknown
- 1992-05-20 WO PCT/EP1992/001123 patent/WO1993001562A1/en not_active Application Discontinuation
- 1992-05-20 HU HU9400035A patent/HU214795B/hu not_active IP Right Cessation
- 1992-05-21 CA CA002069117A patent/CA2069117A1/en not_active Abandoned
- 1992-06-01 JP JP4140194A patent/JPH0812701B2/ja not_active Expired - Fee Related
- 1992-07-02 US US07/908,133 patent/US5384903A/en not_active Expired - Lifetime
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 |