整理3D中的数据点

时间:2019-03-24 20:56:36

标签: algorithm

我有一组应该定义光滑表面的数据点。 X / Z以间隔指定,Y取决于Y / Z。

将点的位置四舍五入到固定公差范围内。

如果通过X或Z切片绘制一条曲线(例如样条曲线),则四舍五入会使曲线呈锯齿形或创建台阶。

例如,一组形成直线的线性值,当四舍五入为整数时,形成一个台阶:

 1 1 2 2 3  instead of 1 1.5 2 2.5 3

要做的是公平地处理数据,将舍入后的值转换为能产生平滑曲线的实值,该平滑曲线将定义平滑表面而不会产生振荡。

有一些工具可以在2D上执行此操作。他们寻找2d导数的振荡。在我的案例中,这产生的问题是,沿X / Y曲线的光顺可能沿相交的Y / X曲线的光顺。我需要创建一些可以同时沿X / Y和Y / Z对齐的东西。

我想知道是否有人知道这样做的算法。

样本数据集enter image description here

    1392,175.8125,378
    1296,161.0625,378
    1128,231.375,725.5
    1152,233.625,723.8125
    1176,235.875,722.125
    1200,238.25,720.4375
    1224,240.5,718.875
    1248,242.875,717.25
    1272,245.375,715.625
    1296,247.75,714.125
    1320,250.25,712.5625
    1344,252.8125,711.125
    1368,255.375,709.5625
    1392,258.0625,708.0625
    1416,260.75,706.625
    1440,263.5,705.25
    1464,266.125,703.8125
    1128,100.875,0
    1152,101.75,0
    1176,102.6875,0
    1200,103.5625,0
    1224,104.3125,0
    1248,105.125,0
    1272,105.875,0
    1296,106.625,0
    1320,107.25,0
    1344,107.875,0
    1368,108.625,0
    1392,109.1875,0
    1416,109.8125,0
    1440,110.4375,0
    1464,111.125,0
    1128,115.5,3
    1152,116.75,3
    1176,117.8125,3
    1200,118.875,3
    1224,120.0625,3
    1248,121.0625,3
    1272,122,3
    1296,123,3
    1320,124,3
    1344,125,3        
    1368,126,3
    1392,126.875,3
    1416,127.875,3
    1440,128.875,3
    1464,129.75,3
    1128,122.25,6
    1152,123.4375,6
    1176,124.5625,6
    1200,125.75,6
    1224,126.875,6
    1248,128,6
    1272,129.125,6
    1296,130.25,6
    1320,131.375,6
    1344,132.4375,6
    1368,133.5,6
    1392,134.5625,6
    1416,135.625,6
    1440,136.625,6
    1464,137.625,6
    1128,131.375,12
    1152,132.6875,12
    1176,133.9375,12
    1200,135.25,12
    1224,136.4375,12
    1248,137.6875,12
    1272,138.875,12
    1296,140.25,12        
    1320,141.3125,12
    1344,142.5,12
    1368,143.75,12
    1392,145,12
    1416,146.1875,12
    1440,147.375,12
    1464,148.5,12
    1128,144.9375,24
    1152,146.25,24
    1176,147.5,24
    1200,148.75,24
    1224,150.1875,24
    1248,151.4375,24
    1272,152.75,24
    1296,154.125,24
    1320,155.4375,24
    1344,156.75,24
    1368,158,24
    1392,159.25,24
    1416,160.5625,24
    1440,161.875,24
    1464,163.125,24
    1128,161.625,48
    1152,162.8125,48
    1176,164.1875,48
    1200,165.625,48
    1224,166.9375,48
    1248,168.3125,48
    1272,169.75,48
    1296,171.25,48
    1320,172.6875,48
    1344,174,48
    1368,175.375,48
    1392,176.75,48
    1416,178.1875,48
    1440,179.625,48
    1464,181.0625,48
    1128,168.75,72
    1152,170.25,72
    1176,171.75,72
    1200,173.25,72
    1224,174.875,72
    1248,176.375,72
    1272,178,72
    1296,179.5,72
    1320,181.1875,72
    1344,182.75,72
    1368,184.25,72
    1392,185.8125,72
    1416,187.5,72
    1440,189.125,72
    1464,190.75,72
    1128,170.1875,96
    1152,171.875,96
    1176,173.5,96
    1200,175.25,96
    1224,176.875,96
    1248,178.75,96
    1272,180.5,96
    1296,182.25,96
    1320,184,96
    1344,185.75,96
    1368,187.5625,96
    1392,189.3125,96
    1416,191.125,96
    1440,193,96
    1464,194.9375,96
    1128,169.0625,120
    1152,170.8125,120
    1176,172.75,120
    1200,174.625,120
    1224,176.5,120
    1248,178.375,120
    1272,180.3125,120
    1296,182.625,120
    1320,184.25,120
    1344,186.25,120        
    1368,188.125,120
    1392,190.1875,120
    1416,192.125,120
    1440,194.25,120
    1464,196.3125,120
    1128,166.625,144
    1152,168.625,144
    1176,170.625,144
    1200,172.625,144
    1224,174.75,144
    1248,176.75,144
    1272,178.8125,144
    1296,181,144
    1320,183.0625,144
    1344,185.25,144
    1368,187.4375,144
    1392,189.5,144
    1416,191.75,144
    1440,194,144
    1464,196.3125,144
    1128,163.75,168
    1152,165.75,168
    1176,168,168
    1200,170.1875,168
    1224,172.4375,168
    1248,174.625,168
    1272,176.75,168
    1296,179.125,168
    1320,181.375,168
    1344,183.625,168
    1368,186,168
    1392,188.625,168
    1416,190.75,168
    1440,193.125,168
    1464,195.625,168
    1128,160.5625,192
    1152,162.875,192
    1176,165.1875,192
    1200,167.5,192
    1224,169.875,192
    1248,172.25,192
    1272,174.625,192
    1296,177.0625,192
    1320,179.4375,192
    1344,181.9375,192
    1368,184.4375,192
    1392,186.875,192
    1416,189.5,192
    1440,192.0625,192
    1464,194.6875,192
    1128,157.3125,216
    1152,159.8125,216
    1176,162.3125,216
    1200,164.8125,216
    1224,167.25,216
    1248,169.6875,216
    1272,172.3125,216
    1296,174.875,216
    1320,177.3125,216
    1344,179.9375,216
    1368,182.625,216
    1392,185.25,216
    1416,188,216
    1440,190.8125,216
    1464,193.5625,216
    1128,154.1875,240
    1152,156.75,240
    1176,159.375,240
    1200,161.9375,240
    1224,164.5,240
    1248,167.1875,240
    1272,169.875,240
    1296,172.625,240
    1320,175.4375,240
    1344,178.0625,240
    1368,180.875,240
    1392,183.6875,240
    1416,186.5,240
    1440,189.5,240
    1464,192.4375,240
    1128,151,264
    1152,153.6875,264
    1176,156.4375,264
    1200,159.125,264
    1224,161.875,264
    1248,164.75,264
    1272,167.5,264
    1296,170.3125,264
    1320,173.25,264
    1344,176.125,264
    1368,179.125,264
    1392,182.0625,264
    1416,185.125,264
    1440,188.1875,264
    1464,191.3125,264
    1128,147.6875,288
    1152,150.5,288
    1176,153.3125,288
    1200,156.1875,288
    1224,159.125,288
    1248,162.0625,288
    1272,165.0625,288
    1296,168.125,288
    1320,171.1875,288
    1344,174.25,288
    1368,177.3125,288
    1392,180.5,288
    1416,183.6875,288
    1440,186.9375,288
    1464,190.25,288
    1128,143.625,318
    1152,146.6875,318
    1176,149.6875,318
    1200,152.75,318
    1224,155.875,318
    1248,159,318
    1272,162.25,318
    1296,165.625,318
    1320,168.875,318
    1344,172.125,318
    1368,175.375,318
    1392,178.75,318
    1416,182.125,318
    1440,185.6875,318
    1464,189.1875,318
    1128,139.875,348
    1152,143.125,348
    1176,146.3125,348
    1200,149.5,348
    1224,152.9375,348
    1248,156.1875,348
    1272,159.75,348
    1296,163.1875,348
    1320,166.625,348
    1344,170.125,348
    1368,173.75,348
    1392,177.125,348
    1416,180.75,348
    1440,184.5,348
    1464,188.25,348
    1128,136.25,378
    1152,139.6875,378
    1176,143.125,378
    1200,146.5625,378
    1224,150.125,378
    1248,153.6875,378
    1272,157.375,378
    1320,164.6875,378
    1344,168.3125,378
    1368,172.0625,378
    1416,179.625,378
    1440,183.5,378
    1464,187.4375,378
    1128,132.5625,415.25
    1152,136.125,415.25
    1176,139.8125,415.25
    1200,143.4375,415.25
    1224,147.1875,415.25
    1248,151,415.25
    1272,154.875,415.25
    1296,158.6875,415.25
    1320,162.625,415.25
    1344,166.5625,415.25
    1368,170.5,415.25
    1392,174.375,415.25
    1416,178.5625,415.25
    1440,182.6875,415.25
    1464,186.875,415.25
    1128,130.9375,444
    1152,134.625,444
    1176,138.625,444
    1200,142.1875,444
    1224,146,444
    1248,149.9375,444
    1272,153.9375,444
    1296,157.9375,444
    1320,162,444
    1344,166,444
    1368,170.125,444
    1392,174.25,444
    1416,178.375,444
    1440,182.625,444        
    1464,186.875,444
    1128,130.8125,474
    1152,134.625,474
    1176,138.5625,474
    1200,142.5,474
    1224,146.4375,474
    1248,150.5,474
    1272,154.5625,474
    1296,158.6875,474
    1320,162.875,474
    1344,166.9375,474
    1368,171.25,474
    1392,175.5,474
    1416,179.75,474
    1440,184,474
    1464,188.375,474
    1128,132.1875,501
    1152,136.125,501
    1176,140.125,501
    1200,144.1875,501
    1224,148.25,501
    1248,152.375,501
    1272,156.5,501
    1296,160.75,501
    1320,165,501
    1344,169.25,501
    1368,173.5625,501
    1392,177.75,501
    1416,182.3125,501
    1440,186.75,501
    1464,191.125,501
    1128,135.25,528
    1152,139.375,528
    1176,143.375,528
    1200,147.5,528
    1224,151.625,528
    1248,155.8125,528
    1272,160,528
    1296,164.25,528
    1320,168.625,528
    1344,172.875,528
    1368,177.25,528
    1392,181.625,528
    1416,186.25,528
    1440,190.625,528
    1464,195.125,528
    1128,142.125,564
    1152,146.25,564
    1176,150.4375,564
    1200,154.5625,564
    1224,158.6875,564
    1248,162.9375,564
    1272,167.1875,564
    1296,171.5,564
    1320,176.0625,564
    1344,180.375,564
    1368,184.875,564
    1392,189.25,564
    1416,193.75,564
    1440,198.3125,564
    1464,202.8125,564
    1128,153.4375,600
    1152,157.5,600
    1176,161.75,600
    1200,165.9375,600
    1224,170.125,600
    1248,174.25,600
    1272,178.625,600
    1296,182.9375,600
    1320,187.25,600
    1344,191.625,600
    1368,196,600
    1392,200.375,600
    1416,204.75,600
    1440,209.25,600
    1464,213.375,600
    1128,169.4375,636
    1152,173.4375,636
    1176,177.5625,636
    1200,181.6875,636
    1224,185.875,636
    1248,190.0625,636
    1272,194.25,636
    1296,198.375,636
    1320,202.375,636
    1344,206.75,636
    1368,211,636
    1392,215.3125,636
    1416,219.5,636
    1440,223.8125,636
    1464,228.0625,636
    1128,190.25,672
    1152,194.1875,672
    1176,198.25,672
    1200,202.125,672
    1224,206.1875,672
    1248,210.125,672
    1272,214.1875,672
    1296,218.1875,672        
    1320,222.1875,672
    1344,226.25,672
    1368,230.3125,672
    1392,234.375,672
    1416,238.375,672
    1440,242.5,672
    1464,246.5625,672
    1128,207.0625,696
    1152,211,696
    1176,214.875,696
    1200,218.75,696
    1224,222.625,696
    1248,226.5625,696
    1272,230.4375,696
    1296,234.3125,696
    1320,238.125,696
    1344,242,696
    1368,245.75,696
    1392,249.75,696
    1416,253.5,696
    1440,257.375,696
    1464,261.125,696

0 个答案:

没有答案