I have a irregular shaped round object(blue) in 3D that lies on a straight plane(purple).
The object consists of a 3xn matrix which contains its x, y and z-coordinates. The plane is constructed using 2 vectors and a point it passes through.
I want to know the perimeter and cross-sectional the object encloses. I know how to obtain these dimensions in binary 2D images using the regionprops function from the image processing toolbox, but I don't know how to do this for 3D objects. Can anybody help me? Thank you very much!
Asked
Active
Viewed 472 times
0

BWHoeben
- 51
- 6
-
2If your object is in a plane, why don't you translate this plane to the XY coordinates and do it if it was 2D? You can also create some "plane coordinates, and do it there. – Ander Biguri May 20 '15 at 12:48
-
@AnderBiguri Is these almost the same. Rotation and translation are mappings as well... – patrik May 20 '15 at 14:27
-
@patrik yes, yes I know. They are just different ways of seeing the same problem. – Ander Biguri May 20 '15 at 14:46
-
`regionprops` should also work for 3d objects. see also http://stackoverflow.com/questions/12958969/in-matlab-find-3d-neighbourhood – bla May 21 '15 at 00:01
-
1Thank you @AnderBiguri. I've solved the problem by creating a new 2D coordinate system. Thereafter I used `drawPolyline` to create a polyline and calculate the area using `polyarea`. – BWHoeben May 21 '15 at 12:33
1 Answers
1
I've solved the problem by creating a new 2D coordinate system. Thereafter I used drawPolyline
to create a polyline and calculate the area using polyarea
.

BWHoeben
- 51
- 6