LiangliangNan / Easy3D

A lightweight, easy-to-use, and efficient C++ library for processing and rendering 3D data
GNU General Public License v3.0
1.35k stars 243 forks source link

Addressing Non-Manifold Vertex Issues During Mesh Loading in OBJ format: #169

Closed WeixiaoGao closed 1 year ago

WeixiaoGao commented 1 year ago

Hi, Can We Preserve the Original Input Without Automatic Repair in OBJ format? An example is attached link, where simply loading and saving the mesh both in OBJ format causes significant structural changes, which is undesirable." snapshot00_L00 snapshot00_L01

LiangliangNan commented 1 year ago

Of course. You can create a very simple data structure to store the vertices and the vertex indices for each face. This data structure is very simple and direct for visualization. But it will be very challenge to use such a data structure to process/edit the model.

The structural change here is due to the HUGE coordinates of the vertices (compared to the very short edge lengths of many faces). Due to the limited precision of floating-point numbers, many faces become degenerated. So please don't take the "repair" wrong :-)