- Load your 3D point cloud data from an STL file using `stlread`.
- Extract the x, y, and z coordinates from the point cloud data.
- Specify the desired height (z-coordinate) where you want to fit the circle. Set a tolerance level to account for the precision of your data and ensure you capture points around this height.
- Use logical indexing to filter out points that fall within the specified height range, considering the tolerance. This creates a subset of points at the desired height.
- Apply circle fitting to the filtered subset of points. This involves solving a linear system to find the circle's center (`xc`, `yc`) and radius (`R`) that best fits the points at the specified height.
- The output will be the center coordinates and radius of the circle fitted to the points around the specified height.
Circle fit in pointcloud, stl
9 ビュー (過去 30 日間)
古いコメントを表示
Hi,
for a project I need to fit a circle in an pointcloud in a certain hight of a 3d stl-plot. I already get the circle of the whole thing but not in the height i need to know it (-263,6365).
stlData=stlread("24Lcav.stl");
X=stlData.Points;
x=X(:,1);
y=X(:,2);
z=X(:,3);
x=x(:); y=y(:);
a=[x y ones(size(x))]\[-(x.^2+y.^2)];
xc = -.5*a(1);
yc = -.5*a(2);
R = sqrt((a(1)^2+a(2)^2)/4-a(3))
When I set x=x(-263,6365) matlab sais it has to be positiv.
I hope you can help me.
0 件のコメント
回答 (2 件)
Pratyush
2024 年 5 月 23 日
Hi Patrick,
To fit a circle to a subset of points from a 3D point cloud at a specific height (-263.6365) in MATLAB, follow these steps:
This method involves filtering the 3D point cloud to focus on a horizontal slice at a certain height, then applying a circle fitting algorithm to the points within that slice. Adjust the tolerance as needed based on the precision and distribution of your data.
0 件のコメント
Matt J
2024 年 5 月 23 日
See the section "Fitting a 2D Shape to 3D Points" in the Examples tab of this FEX submission:
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Point Cloud Processing についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!