# Tag Info

## Hot answers tagged computational-geometry

4

The solution to the final Poisson equation is defined only up to an additive constant. So you just need to shift the solution vector so the smallest value is zero.

4

The underlying problem is that the mesh really isn't the geometry. You want to simulate a bridge? It has a certain geometry, which you can approximate using a mesh, but the mesh is not the exact geometry. The same is true for most other curved objects. There are of course approaches to integrate the geometry into the finite element mesh. In particular, I'd ...

3

A dyadic product takes as input two vectors and outputs a second order tensor. This is what I know as a dyadic product, and a dyad is the term $\mathbf{a}\mathbf{b}$. A general second order tensor can be written as a linear combination of dyads. Commonly the symbol $\otimes$ is referred as the tensor product and it outputs higher-order tensors. I think that ...

2

Easy: Decompose the polygons into (unoriented) line segments each of which is sorted by vertex index: $$A = \{[1,2], [2,3], [3,4], [4,5], [1,5]\}, \\ B = \{ [1,6], [6,7],[7,8],[3,8], [2,3], [1,2] \}.$$ Then you want to want to consider the union of all of these edges, but removing the duplicated ones. So you need to form $$(A \cup B) \setminus (A \... 2 Not sure if it answers your question, but here's something I wrote a few years ago for a paper. Let \mathbf{p}_0 and \mathbf{p}_1 be the end points of the first segment and let \mathbf{q}_0 and \mathbf{q}_1 be the end points of the second segment. Then the parametric equations of the two lines are$$ \mathbf{p}(t_p) = (1 - t_p) \mathbf{p}_0 + t_p \...

2

I am going to assume that we have arrays of the edges representing the top and bottom curves for the winding polygon with edges going from left to right. Also make $n$ as the total number of edges in this polygon. Now consider the following visualization of the geometry where we construct some point using the two "sides" of the concave polygon: It ...

2

I'm sure there are better solutions than this, but since no one else has answered to this point, I'll throw out a this-is-what-I'd-do answer. Triangulate the polygon If your polygon doesn't have too many points, a simple $\mathcal{O}(N^2)$ ear-clipping method could be viable. For large polygons, this might be an inefficient solution. It's important to the ...

2

You could use a medial axis transform if the transform is discretized, each point in the transform indicates the radius from that point to the nearest two edges. Doubling this gives the width. To deal with noise, you could take something like the 95th+ percentile of such points and then average. You could also look into rotating caliper methods: though I ...

2

This is an interesting question, but also very problem dependent. For many scientific problems, you like to have properties like good angles (often preferring Delaunay meshes), and feature aligned triangulations, e.g., meshing edges in the domain as edges in the triangulation. In addition there are different requirements on the element size. Some problems ...

2

"So I wonder why can't we use mesh to represent geometry like CG in scientific computation. The geometry is directly represented by a mesh, and then you can do the computation directly on it." ... This is exactly what we do using iso-parametric elements in FEM; we discretise the geometry and field variables using the same mesh. The concept of iso-...

2

As the integrand (in the answer you quote) is periodic and fairly smooth, you can evaluate it numerically using the trapezoidal rule. For such integrands, the convergence is exponential, so you shouldn’t need too many points. Here is a nice explanation. I think it is quite feasible to do this in Excel. Here's some matlab code that shows the rapid convergence ...

2

The first equality you wrote is not correct, as noted by other users. However, what I think you want to know is why $(I:A)I = (I \otimes I)A$. You can show this just by using dyads properties. (B \otimes B) : A =(B_{ij}B_{kl} e_i \otimes e_j \otimes e_k \otimes e_l):(A_{mn} e_m \otimes e_n) = B_{ij}B_{kl} A_{mn} \delta_{km} \delta_{ln} e_i \otimes e_j = B_{...

1

The central concept here is the conversion from polygonal meshes (such as .stl) to boundary representations (as in STEP files). It is not a trivial conversion. Here's an article by Andrey Tumanin that should help. I believe he's written more on the topic, but was unable to find the papers.

1

There is probably an option to do this through Gmsh API, but I am not aware of it. In the graphic interface there is not an option for this. If you are interested of doing this just in Gmsh, you should probably ask in one of the Gmsh sites. Keep in mind that you could create the coordinates of your mesh using a map from a rectangular grid (in parametric ...

1

(I do not claim any optimality, or that I have thought of every detail) 1. Downsample and brute force: You project your black and white map onto a low resolution. On this lower resolution, you may represent any rectangle by two points marking the upper left and lower right corner. If your resolution is low enough, you can iterate through all non-redundant ...

1

Yes, you can use the same mesh to represent the geometry of your domain and to solve the PDE, that is something that you can do. For example, a square can be completely described by two triangles and you can use this mesh to solve your PDE. If the solution of your PDE is constant or linear this mesh would suffice but if you have higher gradients in your ...

1

If you want to create a mesh for scientific computing, is it feasible to start entirely from the perspective of computer graphics? -- slightly adapted from the OP Well, it depends. I mainly work in the field of computational fluid dynamics (CFD). My feeling from my experience in CFD and my limited experience in solid mechanics using the finite element ...

1

As a computer graphics person studying meshing, we care about two things. Element quality, and boundary fidelity. The boundary fidelity is as you mentioned for rendering purposes, but it is also needed for accurate collision detection in simulation. Element quality is required because you can bound error on numerical solutions to elliptic PDE based on how '...

1

It seems your main concern is bracketing the root in as few iterations as possible, since each iteration is costly. In some cases you have found the regula falsi method to be unreliable, suggesting the bounds on the root may be large or the function cannot be linearly approximated easily. To handle such cases without being significantly slower than bisection,...

Only top voted, non community-wiki answers of a minimum length are eligible