How to calculate the volume of a facet using convhulln() function?
Mostrar comentarios más antiguos
I am getting an error to calculate the volume of the square [0 0 0; 1 0 0; 1 1 0; 0 1 0], using convhulln, coming from qhullmx. Can you please help me on this? Thanks.
3 comentarios
John D'Errico
el 18 de Dic. de 2016
What error? We cannot read your mind. If you are getting an error, then show the entire text of the error, complete with all information it generates.
Anyway, your subject talks about the volume of a facet, which makes no real sense anyway in context of the rest of your question.
Are you trying to compute the volume of that cube?
Finally, if you want help, it would be best if you tell us what version of MATLAB you are trying to do this under.
Image Analyst
el 18 de Dic. de 2016
What cube John? It looks just like a square in the z=0 plane. So it's not even really a 3-D volume. Even if it were tilted it would not enclose a 3D volume - it would still be a planar object - so using convhulln() is not appropriate.
Anyway, the answer is trivial = the volume is zero, and the surface area is 1 if you count one planar side of the square and 2 if you count the area "on top" of the square and "on bottom" of the square separately.
John D'Errico
el 18 de Dic. de 2016
oops. Not even a cube. Still asleep I guess. Yes, the enclosed volume is zero.
The issue is if the OP is looking to compute a 2-d "volume" of this object, in the plane of the square, thus the area. We don't really know what they are looking to get here.
Respuesta aceptada
Más respuestas (2)
Soumya Saxena
el 21 de Dic. de 2016
I understand that you are getting an error with the "qhullmx" function while calling the "convhulln" function. You are defining 4 points in a 3D space as follows:
X= [0 0 0; 1 0 0; 1 1 0; 0 1 0]
However, all inputs have the 3rd dimension as 0. The z coordinate is 0. So,these become 4 points in the X-Y plane. This would represent a plane, not a 3D surface. If you put a non zero value in the in one of the 3rd dimension coordinates, the call should be error free. For example:
X= [0 0 0; 1 0 0; 1 1 0; 0 1 1]
convhulln(X)
The output should be:
2 3 1
4 2 1
3 4 1
4 3 2
Abdul Suleman
el 22 de Dic. de 2016
0 votos
Categorías
Más información sobre Bounding Regions en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!