Problème:-coques concaves simplifié
Compte tenu: n points qui sont fortement corrélées à un 3d k-verso polygone non convexe, où n >> k
Trouver: la meilleur ajustement coque concave qui correspond à la géométrie originale des points
solutions tentatives:
Attention: pseudocode
segments = []
for each point in image:
#segment points into planes via comparing approximate normals
#actual implementation is more complicated
findSegment(image,point)
for each segment in image:
#transform coordinate system to be a
#2D-plane perpendicular to the normal of segment
transform(segment, segment.normal)
edges = findEdges(segment)
polygonHull = reconstructPolygon(edges)
#transform back to original coordinate system
transform(segment, segment.normal)
Exemple:
___
| | |
| \__ ==> | ___
| | |__/ /_____
|_______| // \_
//_____/
/
entrée serait simplement un nuage de points de haute densité qui est approximativement uniformément distribué points aléatoires à l'intérieur le plan polygonal, l'esprit h un peu de bruit.
La sortie correspond aux sommets du polygone en points 3D.
Ma question est, y at-il une meilleure façon d'aborder ce problème? Le problème avec la solution ci-dessus est que les points peuvent être bruyants. En outre, la pixellisation des points en 2d puis en préformant une recherche de bords est très coûteuse.
Tout pointeur serait génial. Merci d'avance
Peut-être vous avez besoin de définir « meilleur ». Également, vouliez-vous dire polyèdre 3D à côtés k plutôt que polygone? –
Je suppose que c'était un peu mal formulé, je vais le modifier maintenant. Et je veux dire polygone, parce que je cherche une forme en 2D projetée en 3-D – Xzhsh