Geometry from 2D point cloud with MATLAB -
i have unorganized point cloud , want compare ideal cad geometry , profile measurement of object. example, have cad data of ideal object , have point cloud this;
how can compare these 2 data? know cad file, point on cad data belongs line or radius(arc), how can derive radius error of arc or length error of line?
i tried organize data knnsearch results not satisfying.so, tried draw line starting 1 point ( lets point 1) , want go next closest point ( lets point 2). if closest neighbour of point 2 point 1, go second closest point of point 2. algorithm seems me results not satisfying also. connection lines went 1 edge other.
i thought that, may should convert cad data point cloud , have compare each point of measurement closest point on cad point cloud. know points belong line , point belong arc , can calculate mean error line or arc. end points of lines or arcs trouble think. comparison results @ these points have large error think.
on other hand, cad geometry , measurements not convex , covered always. non-convex geometries can measured. example, can see measurements of inverted v shape lack of points. worst case;
if there errors on geometry estimation when measurements not enough, acceptable me.
cpu load important criteria me. there 10.000 points , want complete filterings , geometry matchings in 20 ms i7 processors.
are there robust solution aim?
ok, i'm answering question. matlab has built-in functions computational geometry.
boundary function of module has solved problem partially. can use non-convex geometries. convex geometries, i'm calculating center point of geometry simple avaraging of points. then, i'm sorting points atan2 function.
but can't figure out how can find geometries. 1 way using cad data , iterate described geometries in cad data minimize least square error between point cloud. other way is, creating arc , lines points directly. dont way faster , more robust.
Comments
Post a Comment