EP0163872A2 - Verfahren zur Korrelation von Geraden in einem interaktiven Anzeigesystem - Google Patents
Verfahren zur Korrelation von Geraden in einem interaktiven Anzeigesystem Download PDFInfo
- Publication number
- EP0163872A2 EP0163872A2 EP85104590A EP85104590A EP0163872A2 EP 0163872 A2 EP0163872 A2 EP 0163872A2 EP 85104590 A EP85104590 A EP 85104590A EP 85104590 A EP85104590 A EP 85104590A EP 0163872 A2 EP0163872 A2 EP 0163872A2
- Authority
- EP
- European Patent Office
- Prior art keywords
- correlation window
- line
- regions
- display
- rejected
- Prior art date
- Legal status (The legal status 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 status listed.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G1/00—Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data
- G09G1/06—Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data using single beam tubes, e.g. three-dimensional or perspective representation, rotation or translation of display pattern, hidden lines, shadows
Definitions
- the present invention relates to improvements in methods of correlating on straight lines with a correlation window in an interactive display.
- a common form of interaction with a graphic picture is for an operator to want to identify, to the application with which the operator is interacting, a particular line within the picture. This may be for one of a variety of reasons, for example to move the line in its relation to the other objects, modify or delete the object.
- a possible method of accomplishing this would be to identify the object by means of a command, e.g., DELETE LINE 23. It is much more natural however for the operator to use a suitable device to actually point to the line. Typical devices are joystick, thumbwheel, trackball, or optical mouse coupled to a cursor in the display screen.
- a picture definition (display list) has to be scanned, just as if it were being drawn, but instead of actually drawing the lines defined in the list, they are each inspected to see whether they intersect a small rectangle (for example) drawn around the point of interest.
- the Cohen-Sutherland clipping algorithm is designed to identify efficiently those lines that can be trivially accepted or rejected by using region checks. Intersection calculations are required only for those lines for which neither occurs.
- the algorithm is especially efficient in the two extreme cases of a large window including most of the primitives, or a relatively small window and a large, dense picture in which most primitives lie outside the window; most lines can then be trivially accepted or trivially rejected, respectively.
- the algorithm starts by assigning to each endpoint of a line a four-bit outcode based on nine regions with bit 1 the leftmost bit.
- the nine regions are the correlation window sorrounded by eight regions, four having a side adjacent the correlation window sides and four diagonal corner regions.
- Each bit in the out-code is set to 1 (TRUE) if a given relation between the endpoint and window is true: otherwise the bit is 0 (FALSE).
- bit 1 is the sign bit of (ymax - y); bit 2 is the sign bit of (y - ymin); bit 3, (xmax - x); bit 4, (x - xmin).
- a point is inside the window (outcode 0000) if all these differences are nonnegative.
- a line can be trivially accepted if both ends are in the window (corresponding to outcodes of 0000).
- a line is trivially rejected if both endpoints are in a region above, below, to the left, or to the right of the window. This will be the case if the corresponding bits in the outcodes for both endpoints are 1, and this can easily be tested by taking the logical AND of the outcodes and testing for "NOT 0000".
- the line can be neither trivially rejected nor accepted - it may intersect the window.
- the algorithm has the drawback in that in clipping lines which extend through the correlation window at least two intersections must be calculated. This can be very time consuming in data processing terms.
- the circuit is capable of generating curvilinear as well as linear border segments as produced by a graphics generator.
- the circuit is capable of generating a multitude of clipping boundaries at different horizontal positions across the CRT screen.
- Positional information is fed from the graphics generator to the circuit so that this input information may address a look-up table to determine whether a conflict exists between certain portions of the symbol to be displayed and an area in which a high priority symbol is to be displayed. If a conflict is determined to exist, the circuit clips the portion of the symbol that would otherwise obscure the high priority information.
- an interactive display system comprising a display screen and a control unit including a processor device, a read only memory for storing a control program and a random access store having at least register regions and a display test buffer store, first means under the control of the control program for defining a correlation window on a display area and dividing the rest of the iisplay area into eight surrounding regions,
- third means under the control of the control program for determining for each line not trivially accepted or rejected, on which side of the line one or two selected corner points of the correlation window lie and consequently whether or not it intersects the correlation window.
- the Cohen-Sutherland algorithm referred to above involves performing intersection calculations between the input line and the correlation window. These calculations are performed either by using divide instructions or by using an iterative mid-point subdivision algorithm.
- a screen 10 is shown divided into nine areas.
- Each area is identified with a 5-bit outcode.
- the pick window can be of the order of ten or fifteen pels square and the other areas taking up a correspondingly larger area so that the centre areas have one short edge (adjacent the pick window) and comparatively larger side adjacent the other areas.
- the preferred method embodying the invention will now be described with reference to the flow chart of Fig. 2 and the interactive display illustrated schematically in Fig. 3.
- the component parts of the system of Fig. 3 are a display screen 30 connected to a control unit 31.
- the control unit 31 includes a processor 32 connected through a bus 33 to a read only store 34 a random access store 35, and a display buffer 36.
- Input/output connections are made to a keyboard 37 and a cursor control device 38 which may be a light pen, an optical moose, a tablet or similar device.
- the processor 32 is controlled by a control program stored in the ROS 34.
- the RAM 35 contains areas set aside to perform the function of temporary storage registers. In the preferred method ten registers A-J are utilised.
- the control unit 31 also has a connection 39 to a host data processing unit, which send a display list, through a suitable link which defines the contents of a picture to be displayed on the screen 30.
- the display list is stored in the display list buffer 36 in the form of coordinate values for the end points of lines which farm the display.
- a user of the system will wish to indicate a line or area which requires some action to be taken, e.g., deleted from total picture, highlighted, moved etc.
- the user moves the cursor on the screen through the device 38.
- a pick window 1 (Fig. 1) is defined around the cursor position. The method described below is then used to correlate the lines of the display with the pic.: window, under control of a control program stored in the ROS 34.
- Register areas A-J are defined as follows:
- the outcodes oc of a point (x,y) with respect to the pick window are defined to be an 8-bit byte with bits set as follows:
- Outcode bit 1 is duplicated in bit 5 so that in middle to corner cases it can easily be determined whether the line segment points clockwise or anti-clockwise around the pick window: The outcodes are ordered in an anti-clockwise sequence around the pick window.
- SHIFT LEFT is defined as:
- Step 1 The following is determined.
- Step 2 If any of the following conditions is true then the line is accepted as passing through the pick window and Step 2 is entered. Otherwise Step 3 is entered.
- Step 2 Register H is set to '1' indicating a 'hit' for the line being processed and a corresponding flag is set in the display list buffer.
- Step 1 Processing stops when the display list buffer is exhausted.
- Step 3 The following is determined.
- Step 4 is entered.
- Step 4 The line is rejected Register H remains at '0' and a corresponding flag is set in the display list buffer. The coordinates for the next line to be processed are obtained and Step 1 is re-entered. Processing stops when the display list buffer is exhausted.
- Step 5 x and x 2 are compared if x 1 is greater than x 2 then Step 6 is entered. If not then Step 7 is entered.
- Step 6 This step swaps the ends of the line to ensure that x l is less than x 2 .
- a simple routine for performing this function uses two work registers in the RAM, T and U, as follows Continue at Step 7.
- Step 7, 8 and 9 (corner to corner routine) determine whether a line having end points in diagonally opposite corner regions 2 and 9 or 4 and 7 passes between the corner points of the pick window 1 which intersect the other pair of corner regions.
- Step 7 y 1 and y 2 are compared if y 1 is less than y 2 then Step 8 is entered if not Step 9 is entered.
- Step 8 If the expression: (NOT Cleft side(x 1 , y 1 , x 2 , y 2 , x R , y B ))) AND (NOT (right side(x 1 , y 1 , x 2 , y 2 , x L' y T ))) is TRUE then Step 2 is entered otherwise Step 4 is entered.
- Step 9 If the expression: ( N OT(left side(x 1 ,y 1 , x 2 , y 2 , x L , y B ))) AND (NOT (right side (x 1 , y 1 , x 2 , y 2 , x R , y T ))) is TRUE then Step 2 is entered otherwise Step 4 is entered.
- Steps 10, 11, 12 and 13 determine for a line having one end point in a centre area 3, 5 6 or 8 and its other end point in an area in a different row and column of Figure 1 to the area containing the first end point. Whether the line passes between the corner points of the pick window on the extended diagonal which passes between the areas containing the line end points.
- Step 10 This step ensures that the line from (x 1 ,y 1 ) to (x 2 , y 2 ) points clockwise around the pick window. This is done by computing a shift left of register F and ANDing the result with register G. If the result of the AND is equal to 00000000, then the ends are swapped as in Step 6 above and the AND of the Shift Left of register F with register G recomputed. The AND is stored in register K.
- Step 11 This step sets a register y with a value of yB or y depending upon the first and fourth bits of Register F.
- Step 12 This step sets a register x with a value x R or x L depending upon the first and second bits of Register F.
- Step 13 If the expression: (NOT(right side(x 1 ,y 1 , x 2 , y 2 , x, y ))) is TRUE then Step 2 is entered otherwise Step 4 is entered.
- the function left side (px, py, qx, qy, rx, ry) is performed by the following routine:
- the function right side (px, py, qx, qy, rx, ry) is performed by the following routine:
- the processor 32 performs the method under the control of a central program formed in the read only store 34.
- the control program may reside on a diskette and read into a portion of the random access store 35 when required.
- a general control program residing in ROS 34 controls the position of the cursor on the screen 30 in response to input from devices 38 or 37 and defines the correlation or pick window in response to commands received from the Keyboard 37.
- the processor 32 under control of the control program performs the process for correlating the lines with the pick window.
- both the first, second and third means operating under control of the control program may be the processor 32, parts thereof or the processor in combination with the registers of the random access store 35.
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Digital Computer Display Output (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
- Position Input By Displaying (AREA)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB848411594A GB8411594D0 (en) | 1984-05-05 | 1984-05-05 | Correlating on straight lines in interactive display system |
GB8411594 | 1984-05-05 |
Publications (2)
Publication Number | Publication Date |
---|---|
EP0163872A2 true EP0163872A2 (de) | 1985-12-11 |
EP0163872A3 EP0163872A3 (de) | 1990-01-31 |
Family
ID=10560567
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP85104590A Withdrawn EP0163872A3 (de) | 1984-05-05 | 1985-04-17 | Verfahren zur Korrelation von Geraden in einem interaktiven Anzeigesystem |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP0163872A3 (de) |
JP (1) | JPS60239826A (de) |
GB (1) | GB8411594D0 (de) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3639736A (en) * | 1969-11-19 | 1972-02-01 | Ivan E Sutherland | Display windowing by clipping |
-
1984
- 1984-05-05 GB GB848411594A patent/GB8411594D0/en active Pending
-
1985
- 1985-01-17 JP JP60005140A patent/JPS60239826A/ja active Pending
- 1985-04-17 EP EP85104590A patent/EP0163872A3/de not_active Withdrawn
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3639736A (en) * | 1969-11-19 | 1972-02-01 | Ivan E Sutherland | Display windowing by clipping |
Non-Patent Citations (3)
Title |
---|
COMMUNICATIONS OF THE ASSOCIATION OF COMPUTING MACHINERY, vol. 26, no. 11, November 1983, pages 868-877, New York, US; Y.-D. LIANG et al.: "An analysis and algorithm for polygon clipping" * |
IBM TECHNICAL DISCLOSURE BULLETIN, vol. 27, no. 1B, June 1984, pages 549-552, New York, US; I.F. BRACKENBURY: "Line clipping in interactive computer graphics" * |
IEEE TRANSACTIONS ON COMPUTERS, vol. C-29, no. 10, October 1980, pages 874-883, IEEE, New York, US; R.B. TILOVE: "Set membership classification: A unified approach to geometric intersection problems" * |
Also Published As
Publication number | Publication date |
---|---|
JPS60239826A (ja) | 1985-11-28 |
GB8411594D0 (en) | 1984-06-13 |
EP0163872A3 (de) | 1990-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0356103B1 (de) | Verfahren und Prozessor zur Abtastumsetzung | |
US4982345A (en) | Interactive computer graphics display system processing method for identifying an operator selected displayed object | |
US5218674A (en) | Hardware bit block transfer operator in a graphics rendering processor | |
US5632009A (en) | Method and system for producing a table image showing indirect data representations | |
JPS5985573A (ja) | コンピュータ・ディスプレイ装置における図形の生成方法 | |
EP0316144B1 (de) | Verfahren und Apparat zur Klassifizierung graphischer Segmente, um Auswahl- und Anzeigeoperation zu erleichtern | |
EP0607130B1 (de) | Interpretation der bildposition in einem graphischen system. | |
US5079719A (en) | Method and apparatus for clipping polygons | |
US4814755A (en) | Interactive display system | |
US5295234A (en) | Apparatus for displaying a three dimensional object which appears substantially the same in different display directions by modifying stored image data by a scale factor | |
KR100233346B1 (ko) | 그래픽 시스템에서 하나 이상의 가시 객체 식별 방법 및 장치 | |
US5020002A (en) | Method and apparatus for decomposing a quadrilateral figure for display and manipulation by a computer system | |
US5128872A (en) | Method and apparatus for determining line positions for display and manipulation by a computer system | |
EP0163872A2 (de) | Verfahren zur Korrelation von Geraden in einem interaktiven Anzeigesystem | |
EP0281054B1 (de) | Verfahren und Gerät zur Darstellung eines Zeigers | |
US20010055015A1 (en) | Area and span based Z-buffer | |
JPS61131171A (ja) | 図形エレメント選択装置 | |
US6791547B2 (en) | Auxiliary active region determination for line width generation in regionalized rasterizer displays | |
EP0229986A2 (de) | Kursorschaltung für einen Speicher mit zwei Eingängen | |
JP2614111B2 (ja) | 直線表示要素と矩形ウインドウの相互関係の検出方法 | |
JP2780496B2 (ja) | 描画装置のクリッピング処理方式 | |
JPH0643853A (ja) | 表示属性を制御する方法及び装置 | |
Paisner | The evolution and architecture of a high-speed workstation for interactive graphics | |
EP0425171B1 (de) | Gegenstandidentifizierung in einem Anzeigesystem | |
JPS6169096A (ja) | 図形処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
AK | Designated contracting states |
Designated state(s): DE FR GB |
|
17P | Request for examination filed |
Effective date: 19860325 |
|
PUAL | Search report despatched |
Free format text: ORIGINAL CODE: 0009013 |
|
AK | Designated contracting states |
Kind code of ref document: A3 Designated state(s): DE FR GB |
|
17Q | First examination report despatched |
Effective date: 19910417 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION HAS BEEN WITHDRAWN |
|
18W | Application withdrawn |
Withdrawal date: 19930306 |
|
RIN1 | Information on inventor provided before grant (corrected) |
Inventor name: NORMINGTON, GLYN |