Q-Minh / tetrahedral-subdivision

Tetrahedron cutting demo
3 stars 2 forks source link

what library does it need to run your code #1

Open 12138k opened 1 year ago

12138k commented 1 year ago

hello ,i am a freshman in solid subdivision. would you mind giving a brief introduction of how to use the project? i am confused when i run your code because i dont know what library shall i use .i will really appreciate it if you can give me some help .

Q-Minh commented 1 year ago

Hi, sure I can help. As you can see, this repository is quite old and outdated (I have not touched it since close to 2 years). This repository is really just a simple interactive demo of subdividing a single tetrahedron using edge intersection codes, so I'm not sure this is what you're looking for. To answer your question, the library I am using for this demo is libigl. Under normal circumstances, you should simply need to run CMake in this repository as so:

$ cmake -S . -B build -A x64
$ cmake --build build --target tet-cut --config Release

which will automatically download libigl and compile the demo executable. Let me know how that goes for you.

12138k commented 1 year ago

Thanks for your help. I have been confused for the errors without your help . In fact ,I try to reproduce some papers about the tetrahedron solid subdivision which has some advantages in the cad/cae . But i feel completely confused when i wrote the code. I even dont know how to start. By the way ,here is the interface
image
But i dont know how to use it and what the outcome will be. I try to adjust the parameter and cut ,but nothing happens. And what does the parameters mean in the format on the left corner? Thank you for your help again and I am really appreciated. I am looking forward to your reply.

Q-Minh commented 1 year ago

Right, so the parameters on the left (Roll, Pitch, Yaw, Translation and Scaling) corresponds to a transform on some "cutting triangle". There is an "invisible" triangle that is not rendered, and you can move that triangle in space, rotate it, and scale it up or down. This invisible triangle, when it intersects edges of the rendered tetrahedron, should display red dots at the intersection points. Then, when you press the "Cut" button, it will subdivide the tetrahedron based on the edges that were cut by the "cutting triangle". If you still cannot figure it out, let me know and I will make a short animation so that you can reproduce the behavior.