Replies: 4 comments
-
Yes I confirm, perfect smoothness with the gradient: |
Beta Was this translation helpful? Give feedback.
-
Blog post :-) |
Beta Was this translation helpful? Give feedback.
-
Hmm... I have a serious doubt now. I don't give the function defining the isosurface to the package, so how could it compute the gradient? I only give a voxel constructed from this function. Is it possible to get the gradient from a voxel? |
Beta Was this translation helpful? Give feedback.
-
The code is here if you're interested. They approximate the gradient with the marching cubes algorithm. |
Beta Was this translation helpful? Give feedback.
-
Hello,
Here is the C8 surface:
It is quite smooth. This is an isosurface, I computed it with the R package
rmarchingcubes
, and I don't know how this package computes the normals (I think this is not documented but I will double-check this point).Now I compute its connected components with CGAL, as well as the normals of each connected component:
It is less smooth. Do you have an idea why? I tried to compute the normals with R instead of CGAL, the result is the same. So this is not a CGAL question, this is a general question about 3D plotting.
The result is also the same if I merge the connected components into a single mesh and compute the normals of this single mesh.
What is the magic with
rmarchingcubes
? I have an idea: since we give the isosurface equation to the marching cubes algorithm, it computes the normals with the gradient, not by averaging the normals of the surrounding faces. Then I have a CGAL question: how to do the connected components keeping the original normals?Beta Was this translation helpful? Give feedback.
All reactions