Inversion of Quadratic Bézier Triangles ∗

semanticscholar(2010)

引用 0|浏览16
暂无评分
摘要
We present a test for the invertibility of second order Bézier elements. Our test that can determine precisely if such the function is invertible in only a constant number of operations. Although our formulation is specific to triangles, it is simple to extend it to other polygonal domains. Our test is used in the routines of the Lagrangian finite element fluid solver Tumble. Tumble uses moving mesh algorithms that might cause elements to become inverted such that the fluid’s velocity field is not reconstructible. Our test is used to ensure that elements in the mesh are invertible after each operation. Furthermore, we present possible invariants that might allow certain operations to be performed without the need to test for invertibility at every step. In turn, we present pathological examples of Bézier triangles that fail under naive invariants. Introduction Bézier elements have use in finite element method to represent a polynomial mapping from a linear unit element such as a triangle or square. A set of Bézier elements is often constructed to form a mesh. Operations on Bézier meshes include moving the control structure under invariants, or reconstructing the mesh entirely. In finite element method in particular, a common invariant is that it is necessary for the Bézier polynomials to be invertible, so as to make reconstructing data possible. Often stronger and easier to ensure invariants are used in the place of precise invertibility. This however, sacrifices the set of operations that can be performed and thus also the precision of the calculation. It is thus desirable to have precise tests for invertibility. Figure 1: An example of a Bézier triangle We present a simple test for determining the invertibility of a second degree polynomial function defined on a triangle. Our test can determine precisely if such a function is invertible in only a constant number of arithmetic operations. It is possible to show that a function is invertible iff the determinant of its Jacobian is positive everywhere on its domain. By simply performing calculus on the determinant of the Jacobian of the Bézier polynomial, we find that it is unnecessary to determine the minimum within the domain in the case of second degree Bézier triangles. We can determine whether a Bézier triangle is invertible by checking the global minimum and the minimum along the edges, the former of which is solvable by matrix inversion, and the latter of which is solvable using the quadratic equation. This test has been successfully implemented in the subroutines of the Lagrangian finite element fluid solver Tumble, and has been shown to increase the length of the simulation before stability is lost or elements become inverted. Given this test, special cases have been observed for the purpose of designing more powerful invariants. During a fluid simulation, vortexes might occur in the fluid, causing the surrounding mesh to curve undesirably to the point of inversion. To prevent this, we attempt to straighten the misbehaving edges. However, straightening an edge does not necessarily preserve invertibility on the triangle for which that edge is being made more concave. To rectify this, we would like to impose the condition that the convex hulls of the edge’s control meshes are disjoint. While this condition is not sufficient for invertibility, it is seemingly sufficient for preserving invertibility when straitening a convex edge. To prove this as well as simpler tests for invertibility and conjectures, we This work was partially supported by the National Science Foundation under grant number CCF-0635257. Department of Computer Science, Carnegie Mellon University, glmiller@cs.cmu.edu Department of Computer Science, Carnegie Mellon University, mmirman@cs.cmu.edu Department of Computer Science, Carnegie Mellon University, tp517@cs.cmu.edu conjecture that if det(J) > 0 everywhere on the boundary of the domain triangle, the boundary of domain triangle has a winding number of 1, then if the function is second degree, it must be invertible everywhere within the domain. Because straitening edges preserves the disjoint edge hull condition, using it as an invariant, would reduce the need for the invertibility test and allow simulations to run for longer without getting stuck. Related Work Johnson[7] showed simple necessary and sufficient conditions in the case of second degree Bézier triangles in the case where two of the edges were linear. Vavasis [6] showed sufficient conditions for the Bézier elements defined on a more general set of domains. That invertible meshes with Bézier elements could be generated was demonstrated by Boivin et al [1]. A framework for performing finite element method on fluids using Bézier elements was laid out by Miller, et al. [2] Tumble is a software package built for the purposes of simulating blood flow for the Sangria project. In order to reduce the error introduced, it uses purely Lagrangian finite element method on a moving mesh composed of second degree Bézier triangles. [3] Background We define a 2D unit triangle in three dimensions as ∆ = {(α, β, γ) | 0 < α, β, γ ∧ α + β + γ = 1} Its boundary is ∆ = {(α, β, γ) |0 ≤ α, β, γ ∧ (0 = α ∨ 0 = β ∨ 0 = γ) ∧ α + β + γ = 1} A Bézier triangle polynomial is a polynomial function P : ∆ → R where
更多
查看译文
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要