What's the main difference between B-Rep and Mesh index represation
Asked Answered
L

2

5

I know B-Rep (ParaSolid) is the popular solid representation. From my past experience, I always touch the triangle mesh representation like OBJ, STL file format. I am wondering why B-Rep is better than mesh representation? What's the main difference?

Lawley answered 28/12, 2013 at 8:41 Comment(0)
N
9

A boundary representation (b-rep) solid modeler uses a combination of precise geometry and boundary topology to represent objects such as solids (3d manifolds), surfaces (2d manifolds) and wires (1d manifolds).

The salient property of a b-rep is that it represents geometry precisely. Faces of the b-rep are defined by the equations of the surfaces associated with the face. Edges are represented with precise curves, often the curve of intersection of its adjacent faces. (Sometimes approximate curves are used when precise curves are too difficult to compute or when faces don't fit together exactly--this is called a "tolerant" model).

Because the underlying geometry of a b-rep is precise, the model can be queried (in principle) to arbitrary precision. For example, if you have a b-rep of a box with a cylindrical hole through it, you can query the volume of the box to an arbitrary precision. With a tessellated model you can only compute the volume to the precision of the tessellation, which can never represent the cylindrical hole exactly.

Another benefit of b-reps is they tend to be much more compact than tessellated models. As a simple example, a sphere represented as a b-rep has a single face associated with the geometry of the sphere. It only takes a center and radius to define that sphere, and a few bytes more for the b-rep data structure to support it. A tessellated model of a sphere may have many vertices, each with 3 coordinates.

Diving a little deeper, Boolean operations on a tessellation are problematic, since the facets on one of the bodies may not line up with the facets on the other. There needs to be some sort of rectification process which will add complexity and inaccuracy to the combined model. No such problem occurs with b-reps, since new curves can be computed as intersections of the surfaces that underlie the intersecting faces.

On the other hand, tessellated models are becoming more popular now that the technology of manipulating them is maturing. For example, with discrete differential geometry and discrete spectral methods we can manipulate the meshes in a Boolean in a way that minimizes the local changes to discrete curvature, or we can manipulate regions of the tessellation with simple controls that move many points.

Another benefit of tessellated models is they are better for scanned data. If you scan a human face, there is no need to try to find precise surfaces to represent the data, the tessellated image is good enough.

Nonattendance answered 4/1, 2014 at 3:52 Comment(5)
Thanks so much to explain it. Another confusion is CSG. what's difference between CSG and B-Rep. Is CSG just one kind of B-Rep? I heard that CSG is deprecated, is that true?Lawley
CSG also has arbitrary precision, but since bodies are made using only a fixed set of primitives, (such as boxes, cones and spheres) there are natural limits to what can be done. For example it's hard to do free-form modeling with CSG. There are people who advocate using CSG for some purposes, and there are some implementations that have extended the "primitives" to more complex implicit forms.Nonattendance
So B-rep is kinda like SVG in 3D if comparing BMP with mesh?Rhiamon
@Samik, I understand the analogy, but I'd have to say that a BMP is more analogous to a voxel model. In that analogy, a mesh model would be like a drawing that is only drawn with lines, so that even a circle is represented by a lot of small line segments.Nonattendance
Thanks for a very concise and insightful explanation.Messer
A
0

First of all, better for what?

For example, for 3D printing, or pure visualization purposes mesh representation is better suited.

B-Rep preserves the underlying geometry (surfaces, curves, points), as well as connectivity between model's topological items (faces, edges, vertices). Thus, allowing richer operation (feature) set: filleting, blending, etc.

Abukir answered 29/12, 2013 at 14:50 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.