Browse Prior Art Database

Clipping of Boundary-Defined Area

IP.com Disclosure Number: IPCOM000035376D
Original Publication Date: 1989-Jul-01
Included in the Prior Art Database: 2005-Jan-28
Document File: 5 page(s) / 118K

Publishing Venue

IBM

Related People

Liang, BCC: AUTHOR [+2]

Abstract

If it is desired to clip an area W defined by its boundary segment in which the vertices of a connected boundary component does not have to be given in a consecutive order against a plane defined by the equation Ax + By + Cz = D, which divides a viewing volume into two parts, visible and invisible, where a visible region M is defined by Ax + By + Cz >= D, such clipping may be achieved by the procedure described herein (see Fig. 1). The description which follows will be with reference to the flow chart of Fig. 2.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 56% of the total text.

Page 1 of 5

Clipping of Boundary-Defined Area

If it is desired to clip an area W defined by its boundary segment in which the vertices of a connected boundary component does not have to be given in a consecutive order against a plane defined by the equation Ax + By + Cz = D, which divides a viewing volume into two parts, visible and invisible, where a visible region M is defined by Ax + By + Cz >= D, such clipping may be achieved by the procedure described herein (see Fig. 1). The description which follows will be with reference to the flow chart of Fig. 2.

The intersection of two planes is a line L which can be represented by a vector, the cross product of the two normal vectors normal to the two planes.

(Image Omitted)

If the two planes are parallel then the vector is zero. If the two planes are parallel then either all boundary lines segments are visible or all are invisible.

Let P0, (x0,y0,z0) be a reference point on line L, the intersection of the two planes.

If the coordinates of a point are associated with a "move", then the values are put into the first point registers - p1, (x1,y,z1). The coordinates of the second point is loaded into the second point registers - p2 (x2,y2,z2).

(Image Omitted)

Let c1 be the sign bit of A.x1+B.y1+C.z1 and c2 the sign bit of
A.x2+b.y2+C.z2, that is, c1 is zero if and only if p1 (xi,yi,zi) is in the visible region.
1. Both p1 and p2 are in the visible region the output is the line p1p2. 2. p1 is not visible, but p2 is: the intersection point p1" of p1p2 and L (the intersection of two planes) is calculated. The projection of p1"P1 on the line L = p"p1' is calculated by using the inner product with the unit vector N (direction vector of L): p1' = p1" + ((p1 - p1").N)N output two segments p1'p1", p1"p2.

(Image Omitted)

3. p1 is visible, but p2 is not the intersection point p2' of p1p2 and L is calculated the projection of p2' of p1p2 and L is calculated the projection of p2'p2 on the line L - p2'p2" is calculated by using the inner product with the unit vector N:

(Image Omitted)

p2" = p2' + ((p2-p2').N)N output two segments p1p2', p2'p2". 4.Both p1 and p2 are invisible the projection of p1 on L, p1', is calculated by using the reference point p0, p1' = p0 + ((p1-p0).N)N the projection of p1p2 on the line L - p1'p2' is calculated, p2' - p1' = ((p2 - p1).N)N output segment p1'p2' Intersection Point Calculation Given two points p1 = (x1,y1,z1) and p2 = (x2,y2,z2) in the plane ax + by + cz...