Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 25 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
25
Dung lượng
2,36 MB
Nội dung
40 E. Fogel, D. Halperin, L. Kettner, M. Teillaud, R. Wein, N. Wolpert the term arcpoint for either an endpoint of an arc or an intersection point. An arcpoint is represented by a root of a system of two bivariate polynomial equations. Finding this root reduces to the algebraic operation: • solve, that computes the common roots of two given bivariate polynomi- als. The basic operations necessary to implement geometric predicates and constructions are kept at a high level, not imposing any specific algebraic tool. The main operations can then be rephrased as: • compare, that compares two algebraic numbers, • x critical points, that computes the critical points of a bivariate poly- nomial, • sign at that computes the sign of a bivariate polynomial evaluated at the root of a system of bivariate equations. Comparisons can be carried out exactly and efficiently using algebraic methods adapted to algebraic numbers of low degree [116, 144]. This is ex- plained in Chap. 3. It is crucial to note, however, that the concepts are general enough to allow also completely different methods, such as interval analysis, that will be used together with exact algebraic methods, for filtering purposes. 1.4.5 How To Speed Up Your Arrangement Computation in Cgal • When the curves to be inserted into an arrangement are x-monotone and pairwise disjoint in their interior to start with, then it is more efficient (in running time) and less demanding (in traits-class functionality) to use the non-intersection insertion-functions instead of the general ones. • The main trade-off among point-location strategies, is between time and storage. Using the naive or walk strategies, for example, takes more query time but saves storage space and requires less time for maintaining the auxiliary structures. • If point-location queries are not performed frequently, but other modifying functions, such as removing, splitting, or merging edges are, then using a point-location strategy that does not require the maintenance of auxiliary structures, such as the naive or walk strategies, is preferable. • When the curves to be inserted into an arrangement are available in ad- vance (as opposed to supplied on-line), it is advised to use the more efficient aggregate (sweep-based) insertion over the incremental insertion. • The various traits classes should be instantiated with an exact number type to ensure robustness, when the input of the operations to be carried out might be degenerate, although inexact number types could be used at the user’s own risk. • Maintaining short bit-lengths of coordinate representations may drastically decrease the time consumption of arithmetic operations on the coordinates. 1 Arrangements 41 (a) (b) Fig. 1.13. Vertical decomposition (a) and partial decomposition (b) of an arrange- ment of segments [315] inside a bounding rectangle This can be achieved by caching certain information or normalization (of rational numbers). However, both solutions should be used cautiously, as the former may lead to an undue space consumption, and indiscriminate normalization may considerably slow down the overall process. • Geometric functions (e.g., traits methods) dominate the time consump- tion of most operations. Thus, calls to such function should be avoided or at least their number should be decreased, perhaps at the expense of in- creased combinatorial-function calls or increased space consumption. For example, repetition of geometric-function calls could be avoided by storing the results obtained by the first call, and reusing them when needed. 1.5 Exact Construction in 3-Space Moving from two-dimensional arrangements of curves to three-dimensional arrangements of surfaces is a major endeavor. In this section we report on progress in and plans for coping with three-dimensional arrangements. We start with an efficient space-sweep algorithm for computing a useful refine- ment of arrangements of surfaces, and proceed with algebraic primitives and algorithms for the case of quadrics. 1.5.1 Sweeping Arrangements of Surfaces We describe a method to effectively compute a representation of a three- dimensional arrangement of well-behaved surface patches 15 [315]. The method is fairly simple and efficient and has been successfully implemented for ar- rangements of triangles and of polyhedral surfaces. It computes the vertical 15 For a detailed discussion of what constitute well-behaved surfaces or surface patches in the context of arrangements, see [15]. These are, for example, a collec- tion of algebraic surface patches of bounded degree each bounded by at most some constant number of algebraic curves of bounded degree and each decomposed into a constant number of xy-monotone patches. 42 E. Fogel, D. Halperin, L. Kettner, M. Teillaud, R. Wein, N. Wolpert decomposition of the arrangement, which is a convenient representation break- ing the three-dimensional cells of the arrangement into vertical prisms. It is an extension to three-dimensional space of the well-known two-dimensional trapezoidal decomposition (as briefly described already in Sect. 1.3); by ver- tical we mean parallel to the z-axis. A raw arrangement is often too complicated to handle and use as it may have cells with many features and complex topologies. What is typically needed is a further refinement of the arrangement into cells, each homeomor- phic to a ball and of small combinatorial complexity (that is, a small constant number of features). Additionally, we would like the refinement to be eco- nomical and not to increase the complexity of the arrangement by much. A refinement that satisfies these requirements is the so-called vertical decompo- sition. Fig. 1.13(a) depicts an arrangement of segments (in bold lines) refined by vertical decomposition: We extend a vertical line upwards and downwards from every vertex of the arrangement (either a segment endpoint or the inter- section of two segments) until it hits another segment or extends to infinity. Vertical decompositions are defined for any dimension and for arrangements of any collection of “well-behaved” objects [85, 196, 312]. For simplicity of exposition we describe the three-dimensional variant for arrangements of triangles. Let T = {t 1 ,t 2 , ,t n } be a collection of triangles in 3-space. For a curve γ in R 3 let H(γ) denote the vertical wall through γ, namely the union of vertical lines intersecting γ. For an edge e of the arrange- ment we define the wall of the edge, denoted W (e), as the union of points in H(e) that can be connected to e with a vertical segment that does not cross any of the triangles in T . The vertical decomposition of A(T) is obtained as follows. First we erect walls from triangle boundary edges. Second, walls are erected from the intersection edges between pairs of triangles to produce a finer decomposition. Finally we refine the decomposition, in a straightforward manner, into a convex subdivision consisting of trapezoidal prisms. (See e.g. [109] for details.) We call the refined subdivision the full (or standard) ver- tical decomposition. An alternative decomposition, which induces fewer cells, called the partial decomposition, has also been proposed and investigated. See Fig. 1.13(b) for an illustration of the two-dimensional partial decomposition of an arrangement of segments. De Berg et al. [109]. showed that the maximum combinatorial complexity of the vertical decomposition is the same as that of the arrangement, which is Θ(n 3 ), and the complexity of the vertical decomposition is sensitive to the complexity of the underlying arrangement. They gave a bound O(n 2+ + K) where K is the complexity of the arrangement, improved by Tagansky [326] to O(n 2 α(n) log n +K), where α(n) is the extremely slowly growing inverse of Ackermann’s function. The near-quadratic overhead term is close to optimal in the worst case as there are arrangements with linear complexity whose vertical decomposition has quadratic complexity. They also gave an output-sensitive algorithm to compute the decomposition running in time O(n 2 log n+V log n), where V is the complexity of the decomposition. 1 Arrangements 43 The algorithm that we sketch here is an improvement and simplification of the algorithm in [109]. It runs in time O(n log 2 n+V log n) where V is the size of the vertical decomposition of the arrangement of n well-behaved surfaces. Thus, the algorithm has near-optimal running time. A detailed description of the algorithm and its implementation can be found in [314, 315]. We assume that the input triangles in T are in general position. For conve- nience, we also assume that the triangles in T are bounded inside a big simplex (four extra triangles) and we are only interested in the decomposition inside this bounding simplex. The output of the algorithm is a graph G =(U, E) whereeachnodeinU describes one trapezoidal prism of the decomposition and there is an edge (u 1 ,u 2 )inE if the two prisms corresponding to u 1 and u 2 share a vertical (artificial) wall. The algorithm consists of one pass of a space sweep with a plane orthogonal to the x-axis moving from x = −∞ to x = ∞.LetP x 1 denote the plane x = x 1 . Let A x 1 denote the partial two-dimensional decomposition of the arrangement A(P x 1 ∩ T) of segments induced on the plane P x 1 by intersecting it with the triangles in T and the bounding simplex and by adding vertical extensions only through segment endpoints (which looks, up to the bounding simplex, like Fig. 1.13(b)). We use A x to denote this subdivision for an arbitrary x- value. Besides the graph G in which the output is constructed, the algorithm maintains three data structures. A dynamic structure F that describes the subdivision A x , a standard event queue Q, which maintains the events of the sweep ordered by their x-coordinate, and a dictionary D, which connects between F and Q as we explain next. The structure F supports efficient insertion or deletion of vertices, edges, and faces of the subdivision. In addition, it efficiently answers vertical ray- shooting queries. In order for the overall algorithm to be efficient, we wish to refrain from point location in the subdivision A x as much as we can, since in the dynamic setting point location queries are costly. We achieve this by using the dictionary D. Each feature in the current subdivision A x is given a unique combinatorial label (we omit the straightforward details here). We keep a dictionary of all these features with cross pointers to their occurrence in F. When we add an event that will occur later at x to Q we also insert the combinatorial labels of features of A x that are related to the event. This way, when we come to handle the event, we could use the dictionary D (paying O(log n) to search in the dictionary) and with the information thus obtained we directly access F. If we do not compute events in advance (before the sweep starts), how do we predict all the events together with the extra labels needed? The answer lies in the observation, which is similar to the key observation in the two- dimensional Bentley-Ottmann sweep algorithm: Before an event, the involved features of the arrangement must become neighbors in A x . Thus it suffices to predict future events by only checking a small number of neighboring features, and repeat the test each time the neighbors of a feature change. 44 E. Fogel, D. Halperin, L. Kettner, M. Teillaud, R. Wein, N. Wolpert A one-pass sweep with a plane suffices since almost all the events can be predicted in this way, namely, every time we update the structure F we have to go over a constant-length checklist involving the modified features of F. The overall cost of the prediction is O(log n) (this is a property of F)and at most a constant number of new events is created and inserted into the queue. Some of these events may later turn out to be ‘false alarms.’ However, a false event never spawns a new event, the prediction of a false event can be charged to an actual event, and no actual event is charged for more than a constant number of false events. The full list of events, how they are detected and handled, is given in [314]. Most features (or events) of the arrangement A(T ) can be fully predicted during the sweep. There is only one type of events, however, for which we cannot obtain the full event information from previous events. This is obvi- ously the appearance of a new triangle t, namely the first time that the sweep plane hits t. This is what determines the choice of structure for F.Weusethe dynamic point location structure of Goodrich and Tamassia [187], which per- tains to monotone subdivisions (which in the case of triangles is even convex) and takes O(log n) per update and O(log 2 n) per point location query. Aug- menting it to support vertical ray shooting in a known face in time O(log n) is trivial. We use the structure for point location exactly n times. Now we can summarize the performance of the algorithm. The prediction work, as well as handling a single event, take O(log n) time per event for a total of O(V log n) (recall that V is the complexity of the decomposition). The extra machinery required for handling the appearance of new triangles gives rise to the overhead term O(n log 2 n) and it incurs additional work (of the point location structure, which, although we use scarcely, needs to be maintained) that is absorbed in the O(V log n) term. The storage required by the algorithm is O(V )—it is proportional to the complexity of the decomposition. In the existing implementation of the algorithm the dynamic point-location structure is replaced with a na¨ıve test that goes over all triangles to find the triangle that is immediately vertically above the query point. According to the experimental results reported in [315], this test is fast. In the case of triangles, as mentioned above, the subdivision A x is convex. The algorithm however does not rely on this fact in any way. For the algorithm to apply, it suffices that the subdivision A x be y-monotone (where y is the horizontal axis on the plane P x ). The structure of Goodrich and Tamassia can handle monotone subdivisions. 16 Hence we can generalize the result to the case of well-behaved surface patches: Theorem 1. Given a collection S of n well-behaved surface patches in gen- eral position in three-dimensional space, the time needed to compute the full vertical decomposition of the arrangement A(S) is O(n log 2 n+V log n),where V is the combinatorial complexity of the vertical decomposition. 16 M. Goodrich, Personal communication 1 Arrangements 45 1.5.2 Arrangements of Quadrics in 3D Quadric surfaces, or quadrics for short, are defined as the set of roots of quadratic trivariate polynomials. For example, the ellipsoids R, G,andB in the left picture of Fig. 1.14 are defined by the following polynomials: R(x, y, z)=27x 2 +62y 2 + 249z 2 − 10 , G(x, y, z)=88x 2 +45y 2 +67z 2 − 66xy − 25xz +12yz − 24x +2y +29z − 5 , B(x, y, z) = 139x 2 + 141y 2 +71z 2 − 157xy +97xz − 111yz − 3x −6y − 17z − 7 . On the surface of a given quadric p, the intersection curves of p with the remaining quadrics induce a two-dimensional arrangement. 17 In our example, the ellipsoid B and the ellipsoid G intersect the ellipsoid R. This leads to two intersection curves on the surface of R (the right-hand side pictures of Fig. 1.14 and Fig. 1.16). Vertices of this (sub)arrangement are common points of two intersection curves, or rather intersection points of three quadrics. G R B R Fig. 1.14. The ellipsoid B and the ellipsoid G intersect the ellipsoid R in two spatial curves running on the surface of R The Sweeping Approach Sweeping a set of n quadrics {Q i ,i=1, ,n} by a plane orthogonal to the x- axis allows to compute the so-called vertical decomposition of the arrangement of the quadrics (as described above in Sect. 1.5.1). 17 Although we have only discussed arrangements in Euclidean space so far in the chapter, arrangements are naturally defined on curved surfaces as well. For instance, a very useful type of arrangements is defined on the surface of a sphere—see Sect. 1.7 for an application of such arrangements. 46 E. Fogel, D. Halperin, L. Kettner, M. Teillaud, R. Wein, N. Wolpert When applying this standard sweeping technique to arrangements of quadrics in R 3 , the main issue is—as usual when applying computational geometry techniques to curved objects—the implementation of the geometric primitives: predicates and constructions. Therefore, it is essential to analyze them precisely. A first study of the way the primitives needed by the sweep can be expressed in algebraic terms was conducted in [264, 265]. Fig. 1.15. “Trapezoidal” decomposition of conics in a plane Let us denote by Q i both a quadric and its equation, which is a degree 2 polynomial in the vari- ables x, y, z. The intersection of the arrangement of quadrics with the sweeping plane in a fixed position during the sweep, gives rise to an arrangement of conics in a (y, z)- plane. The equation of a conic for a given position x = x 0 of the plane is Q i (x 0 ,y,z) = 0, which is a poly- nomial equation in the coordinates y, z of a point in the planar section, denoted Q x 0 i for short. This planar arrangement of conics can be decomposed into “curved trape- zoids” generalizing in a straightforward way the cells of a trapezoidal decom- position of an arrangement of line segments (see Fig. 1.15): A wall parallel to the z-axis is drawn through every intersection point between two conics and every point where the tangent to the conic is parallel to the z-axis. A trapezoid is described by: • two vertical walls, one of which (or even both) may degenerate to a single point, • a ceiling and a floor, which are segments of evolving conics, and • signs to determine the side (above/below) of the trapezoid with respect to each of these two conics. When the plane is moving, the conics are deforming. The topology of the trapezoidal decomposition changes at events of the sweep. An event occurs whenever one of the two following possibilities occurs: • either a new quadric is encountered by the sweeping plane (respectively, a quadric is left by the plane), that is, a new conic appears on (respectively, a conic disappears from) the plane • or the description of a trapezoid is modified - either because its ceiling and floor intersect, - or because its walls coincide. Each event corresponds to the construction of a feature of the 3D vertical decomposition. 1 Arrangements 47 The detection of events boils down to the manipulation of roots of systems of polynomial equations. Let us briefly illustrate this by showing an example of algebraic manipulation that is required by the algorithm. A wall in the sweeping plane x = x 0 defined by the intersection of two conics Q x 0 i and Q x 0 j corresponds to a solution y of the system Q i (x 0 ,y,z)=0 Q j (x 0 ,y,z)=0 The worst type (in terms of algebraic degree) of event corresponds to the case when two such walls of the same trapezoid coincide, which occurs when the y-coordinate of the intersection between two conics coincides with the y-coordinate of the intersection between two other conics, which is expressed as: x 0 such that ∃y, ∃(z 1 ,z 2 ), Q i (x 0 ,y,z 1 )=0 Q j (x 0 ,y,z 1 )=0 and Q k (x 0 ,y,z 2 )=0 Q l (x 0 ,y,z 2 )=0 A solution x 0 lies in an algebraic extension of degree at most 16. The sweep requires that events be sorted, which implies that we must compare exactly two events, or equivalently, determine the sign of the difference of the corresponding two algebraic numbers. In the worst case, we are interested in comparing algebraic numbers of degree 16 belonging to independent algebraic extensions of the initial field. So, the algorithm is highly demanding in terms of algebraic manipulations. The solution proposed in [265] uses algebraic tools like Descartes’ rule, Sturm sequences, and rational univariate representation, described in Chap. 3. The practicality of this solution is yet to be proven. Future work on replacing the vertical decomposition by a partial decom- position is likely to improve the behavior of the algorithm: • Whereas the complexity of the arrangement is O(n 3 ), the complexity V of the vertical decomposition is known to be bounded by O(n 3 β(n)) where β(n)=λ s (n)/n =2 α(n) 16 [85]. . Note that, though the size of this decomposition is slightly larger than the size of the arrangement, it is much smaller than the size of Collins’ cylindrical algebraic decomposition [101]. It is well known that in practice the number of cells in the vertical decom- position can be much bigger than the number of cells in the arrangement. It was shown experimentally, in the case of triangles in 3D, that the number of cells in a partial decomposition can be smaller [315]. • Another important motivation is that it could lead to smaller degree predicates. In fact we have seen that the highest degree predicates we get come from the comparison of the y-coordinates of intersections of conics in the sweeping plane. Decompositions where regions would not be defined by intersections of conics would decrease the degree. 48 E. Fogel, D. Halperin, L. Kettner, M. Teillaud, R. Wein, N. Wolpert The Projection Approach An alternative approach to constructing arrangements of quadric surfaces in three-dimensional space is based on projection [178]. We sketch the main ideas of the approach below and refer the reader to detailed description of theoretical and implementation aspects of the method [340], [47]. Independent of the special information about the arrangement of the quadrics one may be interested in, for example, the topological description of a cell or of the whole arrangement, the basic computation that has to be carried out in nearly all cases is: For each quadric p, locate and sort all vertices along the intersection curves on the surface of p. Our approach for solving this problem operates similar to Collins’ cylindri- cal algebraic decomposition. By projection, it reduces the three-dimensional problem to the one of computing planar arrangements of algebraic curves. We project for each quadric p all its intersection curves with the other quadrics and additionally its silhouette onto the plane. This projection step applied to the quadrics Fig. 1.14 results in the two-dimensional arrangement shown in Fig. 1.16. 3 ~ g b ~ b ~ r ~ 12 4 2 R r g b b Fig. 1.16. Project the intersection curves ˜ b and ˜g of the ellipsoid R with the ellipsoid B and G, respectively, together with the silhouette ˜r of R into the plane. This leads to the planar curves b, g,andr We have to compute the planar arrangement resulting from the projection. All curves of the planar arrangement turn out to be defined by polynomials of degree at most 4. For example, the curve g is the set of roots of the polynomial 408332484x 4 + 51939673y 4 − 664779204x 3 y − 24101506y 3 x +564185724x 2 y 2 − 250019406x 3 + 17767644y 3 +221120964x 2 y − 123026916y 2 x + 16691919x 2 + 4764152y 2 +14441004xy + 10482900x + 2305740y −1763465. 1 Arrangements 49 The reduction is algebraically optimal in the sense that it does not affect the algebraic degree of the curves we consider. But due to the projection, the curves in the planar arrangement can have six singular points and two curves can intersect in up to 16 points. The most difficult problem we face stems from the high degree of the algebraic numbers that arise in the computation. For computing the resulting planar arrangements we again must be able to perform the analysis of a single curve and of a pair of curves. The extreme points of one curve f are, as in the case for cubics, computed by comparing the order of f and f y slightly to the left and slightly to the right of the extreme points. For locating the singular points we make use of the fact that we consider projected quadric intersection curves. One can prove that at most two singular points result from the projection in the sense that two non- intersecting branches of the spatial intersection curve are projected on top of each other. For example, the intersection curve ˜ b in Fig. 1.16 consists of two non-intersecting loops. They are projected on top of each other causing two self-intersections. We can compute the coordinates of these singular points as one-root numbers. In most cases one can express the coordinates of the remaining singular points as roots of quadratic rational polynomials. Only in the case that the spatial intersection curve consists of four lines do the coordinates require a second square root. As described earlier in the section about planar arrangements of conics and cubics, transversal intersection points of two curves are easy to compute by determining the sequence of hits slightly to the left and slightly to the right of the intersection points. Non-singular intersections of multiplicity 2 are computed using the additional Jacobi curve already mentioned in the sec- tion about cubics. We know that the Jacobi curve cuts transversally through both involved curves. This fact enables us to reduce the problem of detect- ing tangential intersections of multiplicity 2 to the one of locating transversal intersections. For all remaining non-singular intersections of multiplicity > 2 one can prove that their coordinates are one-root numbers and can thus be solved directly. Parameterizing the Intersection of Two Quadrics A parallel and complementary work was conducted outside ECG, on the con- version of object representation from Constructive Solid Geometry (CSG) to Boundary Representation (BRep), motivated by modeling for rendering. A fundamental step of this conversion is the computation of the intersection of two primitive volumes. Dupont et al presented a robust and optimal algorithm for the computation of an exact parametric form of the intersection of two quadrics [128]. Their method is based on the projective formalism, techniques of linear algebra and number theory, and new theorems characterizing the rationality of the intersection. These theoretical results are major in the sense that the output solution is a rational parameterization whenever one exists and the coefficients are algebraic numbers with at most one extra square root. [...]... molecule From a geometric-computing point of view, the two types of surfaces are the same and they both amount to computing the boundary of the union of balls There is yet another commonly used type of surfaces, so-called smooth molecular surfaces, 26 proposed by Richards [294] and implemented by Connolly [1 03] , which can be derived from the union For more 26 The so-called smooth molecular surfaces are possibly... intersecting; see, e.g., [30 3] 64 E Fogel, D Halperin, L Kettner, M Teillaud, R Wein, N Wolpert background material and references, see for example the surveys [2 53, 104] For a discussion of the relation between the three types of surfaces from a computational point of view see [199] Let M = {B1 , , Bn } be the balls describing the atoms of a molecule The goal is therefore to produce a useful representation... value for each selection mark in the refined arrangement: • For binary point-set operations, we evaluate the corresponding Boolean function on the selection marks of the two support features • For a complement operation, we negate all selection marks 21 A variant of this problem has been studied under the name of red-blue segment intersection for the linear case, but we do not know of extensions for curves. .. arrangements can greatly enhance the capabilities of practical motion planners to solve difficult (tight) problems 1.7 .3 Lower Envelopes for Path Verification in Multi-Axis NC-Machining In a typical multi-axis NC-machining collision-avoidance problem we are given a rotating milling-cutter (also called a tool ), whose profile — with respect to its axis of symmetry — is typically piecewise linear or circular, moving... workpiece sculptured by the tool as well as other static parts of the NC-machine [277] Our goal is to verify a given motion path for the tool between two given configurations, 23 so it can move near the workpiece without damaging it or any of the other static parts of the machine The path-verification problem was addressed by many researchers (see, e.g., [34 8, 211]) but most proposed algorithms are based on... Ackermann function The lower envelope approach is generalized in [33 5], where it is used to implement a continuous path verification scheme for multi-axis NC-machining, that is, to detect collisions between the model and the tool while the latter continuously moves along some given path The tool-path is approximated by a sequence of sub-paths of pure translational motions interleaved with pure rotational... the z-axis is therefore continuously changing Thus it creates a surface patch σ of a terrain y = ˆ y (ˆ, τ ) in the xy τ -space, where τ parametrizes the motion in the corresponding ˆx ˆˆ 24 Given a set of planar curves, we can regard each x-monotone curve as the graph of a continuous univariate function defined on an interval of the x-axis, such that the lower envelope of the set is the point-wise... values for the radius of each atom sphere and for the distance between the centers of every pair of spheres In this model, the spheres are allowed to interpenetrate one another, therefore it is sometimes referred to as the “fused Fig 1. 23 The hard-sphere model of the spheres” model (see Fig 1. 23) molecule crambin (a protein comprised of The envelope surface of the fused 46 amino acids) with 32 7 atom... project [49], see Fig 1.18 for an example The Boolean set-operation package included in Cgal Version 3. 2 [2] implements regularized Boolean set-operations on point sets given as collections of 56 E Fogel, D Halperin, L Kettner, M Teillaud, R Wein, N Wolpert generalized polygons A generalized polygon is defined by a circular sequence of edges realized as arbitrary directed x-monotone curves, with the property... Planning for Discs The simplest variant of the motion-planning problem for a disc is as follows: We are given a disc-shaped robot with radius r, moving within a bounded polygonal region cluttered with polygonal obstacles Given a start and a goal configuration in the plane (specified, for example, by the coordinates of the center of the disc) determine whether there exists a collision-free motion path for . set of roots of the polynomial 40 833 2484x 4 + 51 939 673y 4 − 664779204x 3 y − 24101506y 3 x +564185724x 2 y 2 − 250019406x 3 + 17767644y 3 +221120964x 2 y − 1 230 26916y 2 x + 16691919x 2 + 4764152y 2 +14441004xy. [85, 196, 31 2]. For simplicity of exposition we describe the three-dimensional variant for arrangements of triangles. Let T = {t 1 ,t 2 , ,t n } be a collection of triangles in 3- space. For a curve. extension to three-dimensional space of the well-known two-dimensional trapezoidal decomposition (as briefly described already in Sect. 1 .3) ; by ver- tical we mean parallel to the z-axis. A raw arrangement