三维点云的处理

1 点云原理

https://zh.wikipedia.org/wiki/%E9%BB%9E%E9%9B%B2

点云(英语:point cloud)是空间中点的数据集,可以表示三维形状或对象,通常由三维扫描仪获取。点云中每个点的位置都由一组笛卡尔坐标(X,Y,Z)描述[1],有些可能含有色彩信息(R,G,B)或物体反射面强度(英语:Intensity)信息。[2]强度信息的获取是激光扫描仪接受设备采集到的回波强度,此强度信息与目标的表面材质、粗糙度、入射角方向,以及仪器的发射能量,激光波长有关。点云也是逆向工程中通过仪器测量外表的点数据集合。

在电脑动画领域,皮克斯的玩具总动员3使用了点云技术[3]

点云技术是通过离散的三维点集合来数字化现实世界的核心方法,其关键技术涵盖采集、处理和应用全流程。点云采集主要使用激光雷达(LiDAR),结构光扫描,多视角立体视觉也就是多摄像头。前阵看文章,好像也又但摄像头采集的。

处理的部分是重点:
滤波与降噪

统计离群值移除(SOR):剔除孤立的噪声点。

体素网格滤波:降采样保持特征的同时减少数据量。

点云配准(Registration)

ICP算法:迭代最近点对齐多视角扫描数据。

NDT算法:基于概率分布匹配,适合大场景。

语义分割

PointNet++:直接处理无序点云,分类地面、建筑等。

RandLA-Net:高效处理大规模点云(如城市级LiDAR数据)。

三维重建

泊松重建:从点云生成封闭网格模型。

NeRF:神经辐射场实现逼真渲染

此外,点云数据也需要点云压缩与可视化。
目前,点云技术正从静态采集向实时智能感知演进,成为元宇宙、自动驾驶等领域的底层支撑技术。

个人感觉一句话总结:点云就是采集一堆点,从而模拟真实世界

和其它建模方式比较:

特性点云网格模型体素
数据结构原始点集三角面片网络三维像素块
优势保留原始精度适合渲染/3D打印规则化易处理
典型应用LiDAR扫描、逆向工程游戏建模、影视动画医学CT重建

2 最小程序

点云数据1000个点的随机数据。定义在一个ply文件中,这里有一个生成的random_cloud.ply

PLY(Polygon File Format),又称 Stanford Triangle Format,是一种用于存储三维数据的文件格式,最初由斯坦福大学开发。它不仅可以存储点云数据,还能表示多边形网格(如三角形、四边形等),广泛应用于计算机图形学、三维扫描、逆向工程等领域。

ply
format ascii 1.0
element vertex 1000
property float x
property float y
property float z
end_header
0.025974915887289174 0.6835244943382156 0.8708400615432151
0.5678864622685573 0.7518230707472373 0.8864377764100506
0.31754829923032435 0.9970256995666783 0.3278609651011385
0.7883514366312521 0.2627962917970752 0.8042507563441529
0.0291896617695252 0.8941462882570232 0.6233990861010605
0.056803559795630565 0.41556039842253734 0.38020541806361474
0.8561640608554465 0.609590925509601 0.48240282170297355
0.8585765031272365 0.18609721361041864 0.7170015891066814
0.4764082108374217 0.9169129532123097 0.9629294554007682
0.6508829511708393 0.15044131546779227 0.8534164867680405
0.6535725082801087 0.90860162328128 0.84951500666742
0.42116166798372656 0.20337814093342443 0.8042493192482205
0.966307944303036 0.5271005415881383 0.6090199383302972
0.13465527192884197 0.9529311916059181 0.5789938329820798
0.3283522452145198 0.07873036315270687 0.6245555244025129
0.6180307334345817 0.7511286542660855 0.9125694765537984
0.8953679724892963 0.5656478853296789 0.42367793314374214
0.5579561724629593 0.18478059502771604 0.3259105742376678
0.4987527318452133 0.42397058721614334 0.49799532876887287
0.04979110668195175 0.01405521058938164 0.9222962457635093
0.9636022416157612 0.7968043083598435 0.7164282991193497
0.4419875279260671 0.4694545375223077 0.6147207065829965
0.6431823477817388 0.5203204323589737 0.1741539128920362
0.3070629005528067 0.06840012570154386 0.513063321129663
0.08701645712724382 0.26892620052964844 0.45077385980832985
0.8314030738751585 0.6008944658379138 0.2513547528140605
0.5135165227871782 0.44183117400961924 0.00016503641639764588
0.8267152955094226 0.712368071138557 0.9201490100408072
0.9250573579268252 0.39474582815769543 0.40143626918999165
0.7790681408440678 0.7987834909972192 0.2238978455690802
0.505629879245602 0.5402647152158389 0.22577969566676337
0.0780650916951704 0.9343156486014971 0.029322299055598244
0.4567101109388355 0.43134193655933606 0.6311850990449374
0.18734454141455648 0.6226054667201031 0.5706412947802111
0.13011872984805228 0.16074020404304235 0.24330734565592604
0.20889630882461863 0.3300816960853121 0.5583669934476325
0.07738200100247039 0.13502362640776722 0.046741596052073175
0.5729409394981033 0.4258567867628188 0.1960789553518304
0.21005703550363042 0.7038290731576873 0.45383944837680323
0.5217590568776478 0.41612914677957513 0.9310970951736437
0.5160913907841702 0.12157040013977294 0.4125403228745157
0.5418981123971777 0.643882066675727 0.8554147646269246
0.06219335781964874 0.5863130017382134 0.983288040822836
0.2398415506746473 0.8266752735891785 0.7082613368458418
0.5654998230700952 0.8364368438394225 0.2616822745092957
0.9178653039735984 0.5330178502457636 0.44618256484497176
0.2797321979197337 0.5564059217529168 0.6050324828816327
0.04972490936832685 0.08903392697990842 0.1709299759380809
0.22542909342250728 0.2060434750816419 0.79001283075925
0.8662450494311024 0.04887130645264515 0.831348436022205
0.26674010754449784 0.0352104806969773 0.4364151831195353
0.021793059694356187 0.6175395434137482 0.88646538433534
0.9101790080358598 0.34808145300353055 0.02772307489400161
0.6082142333038596 0.6341975808602093 0.7954065420632803
0.6781210428483465 0.18786405025642694 0.2265523569097304
0.5499711130344771 0.10917321018118131 0.7081381191536273
0.39746430355057727 0.47986318759844515 0.8205922909179337
0.4252957583279231 0.18244204209166293 0.5802367445358886
0.8652041121552095 0.7698291840872039 0.16717499385910306
0.1479135487492662 0.08190165678264205 0.0816475635499373
0.29220390832590204 0.07086706074574889 0.24817753877380422
0.8870989967356371 0.48489805848209355 0.5402431879671858
0.18574257863830657 0.8580228743039475 0.3690494250374471
0.3414543119261456 0.9564241411405959 0.9690902791141549
0.32387276777714913 0.45354992858066123 0.4245797889683287
0.19758087251112144 0.7610126603456453 0.06627985759459865
0.9735879679722486 0.8437742624834722 0.44365445819907046
0.2796874961372211 0.6479844919016327 0.6831122602262809
0.48646352868782905 0.49509449283688445 0.07011607890639016
0.4166560546094564 0.9293325370416969 0.13442854014739147
0.06375798350606865 0.2561958769565501 0.2338397467542649
0.9774229164261905 0.15776655088124059 0.7975023295869553
0.466280983410687 0.4067351623673561 0.2611940956036236
0.710282897064732 0.9150310772957692 0.3714586118524531
0.633283561348233 0.5869286264225038 0.7181652189459691
0.4070748807927109 0.2695188155567152 0.8176626171447413
0.23124211820259755 0.5397344308923163 0.600120355344162
0.35531987845854374 0.19468368099652478 0.5843031581900344
0.18500541752831134 0.08435507866213932 0.8595168269021396
0.7425896311220087 0.5746928843766379 0.2721958563359238
0.34566494487318766 0.9918926352317885 0.3425459266119206
0.7190671241405697 0.9201047051841413 0.1521728753467274
0.4305412905724235 0.004276912891034268 0.16909703467703274
0.4844289119077335 0.18850469700055683 0.4359628962290655
0.3986460147346592 0.8196185213004168 0.5935625774159052
0.63800107175467 0.41482150975303644 0.8501352863422069
0.9688332457616282 0.7736659618528456 0.05340072221712133
0.45350225297125235 0.48076780770625427 0.626698469384479
0.716810682292111 0.12391496076259234 0.07177462808439639
0.5563105818293971 0.7946656067884857 0.422119220008782
0.2823217611190736 0.9538678391551406 0.3066422789447826
0.3853767331147324 0.7851093371447766 0.33149037348340127
0.04730036191439202 0.004979096946983619 0.195537211684215
0.2565574695045969 0.3781469530788717 0.20950257167978836
0.8990475366336401 0.9335543159129748 0.8945996921549143
0.6484394651697345 0.4023951874419337 0.1593091924369231
0.11972314357144587 0.3864753905888858 0.2812590375660974
0.5293009457508457 0.9770873954306979 0.2946766084070438
0.38790670790590054 0.2891838238704525 0.3302219727540763
0.13703282913837322 0.6741998906102796 0.45785797512610893
0.6636585547431355 0.1342612253385651 0.025141281749628597
0.7265717979415087 0.6552468007878255 0.9166046342004626
0.6074845686917725 0.6084081128213942 0.05203431376216938
0.2982262547243676 0.05133537585239767 0.9816657881063635
0.8814161792328706 0.27395245698414095 0.7948557131259423
0.5458388144050905 0.7998097619512831 0.35975338203144924
0.4530908409576776 0.5350222589658774 0.23473143160100995
0.8515555633946487 0.3716004787183952 0.5946917288018576
0.202936130011672 0.9148670631973685 0.2928609125453655
0.6102308670173718 0.9394015306042195 0.24616023787569286
0.7434595817538066 0.005681506080936205 0.9451041796987266
0.43186633581665046 0.7618460021564168 0.5016600828123067
0.037825230572534285 0.1767447340120124 0.8094659907634504
0.16608144536735692 0.17049111514886628 0.8428858635114971
0.1871750357036589 0.8728004074169621 0.2535850145471099
0.2064999149852963 0.8108958246041161 0.42901799989834954
0.20740147642681894 0.8073790742995831 0.7495641591687051
0.4287884742889688 0.28454447862571963 0.8053812989650556
0.1646807336591095 0.879128519720997 0.11512995514767965
0.8888215460220432 0.5775454658330195 0.17313295278104424
0.35759971018020764 0.5174848370190248 0.9427788723573215
0.26570624394129827 0.3834838338992609 0.5417540072663548
0.03119650724197698 0.2868026430389703 0.845028663195179
0.9809117885611844 0.3535071524543435 0.552286613199205
0.7275089039944485 0.4555426121761639 0.42058840965257127
0.33344102685186605 0.31720797386618116 0.8876171497467017
0.06082546709733838 0.5557649064991654 0.18807512685761907
0.035290332880751896 0.3437267201254608 0.6295914618190656
0.08968255614841603 0.890165889067115 0.6712224708327189
0.7457252040946853 0.12190359775375126 0.4623215390033404
0.13701348547921854 0.7528141569296033 0.936499885294517
0.45726131563423356 0.5379240691043269 0.3930947794785088
0.544638119256103 0.052474445395387814 0.515294129706274
0.6167563471515399 0.7684485253499677 0.34553933254473923
0.17300086490026956 0.05584717106593651 0.4462780345095876
0.8208673391071765 0.5358165581804586 0.665486277708623
0.8659264732915073 0.3892693444127081 0.5306641531505443
0.05998602543985787 0.6936817702498799 0.43787192378963
0.42767787307198823 0.5896443660485581 0.7338631982532015
0.023029391661974374 0.7493555006305741 0.6287781753913474
0.7669053835113584 0.13279624048038774 0.013961139611058493
0.768035470363401 0.06790600799487656 0.2194440114327353
0.0015957359904792412 0.30094556721537524 0.7527430252083266
0.21963643006231903 0.01007278075267648 0.7190246398157463
0.6622855768637204 0.4072812930268598 0.8643380449527552
0.08589019985775781 0.29620293585111024 0.6722828882121236
0.8879987496560232 0.2957892974018266 0.5823292090197943
0.586085491610476 0.18574161067421346 0.9039891643611676
0.8818931667517779 0.5000475862262184 0.652324571711311
0.8409187850811695 0.44741818125511945 0.9530518792163905
0.6915891354378552 0.25108233452378104 0.9877814998981316
0.1194324311106768 0.16989907130526238 0.2709354191462553
0.19786318537279868 0.1838568659274762 0.7831077960135417
0.0989934525250864 0.7080374183479897 0.7265924750579122
0.47129377362274927 0.21710628149107147 0.8554930904645848
0.3624434827933042 0.9659387838736878 0.0225310418060648
0.8989151519362891 0.2568902650371131 0.884725552684621
0.36752272136074804 0.3615707224608926 0.8403301992307459
0.01809046057686514 0.9416931114633236 0.050976413384828057
0.8666132546705155 0.7735513588528788 0.5282623379404453
0.7367024165794323 0.004385819729129881 0.8148018712845915
0.4495035338430897 0.5990034497144315 0.6867634623657188
0.0007105628492274363 0.01490847230668535 0.6178983488543666
0.7798124098363439 0.5065362012786545 0.2421673663103241
0.9686807894688497 0.6939003436048841 0.9028987353254782
0.6697068161136722 0.6440348897021312 0.6905521361387768
0.9575062235601189 0.6651911000940194 0.12856664205022716
0.23876944483545914 0.12296634198361811 0.05887706165271711
0.8435613854243702 0.964807109573211 0.8838646063499791
0.16012250383164472 0.944336296114394 0.07080900093802645
0.37287874561416035 0.030122556091906838 0.46644124419522004
0.3826498703028671 0.9272993745276567 0.020102826233422633
0.5085794806523657 0.8356481121722942 0.7076564246239385
0.8297362731256869 0.060815316116808904 0.6915633662364283
0.5614234786370849 0.1266227081462864 0.5943992687579693
0.6427858519556532 0.3923259871224387 0.533791122261524
0.4535902997862996 0.7066969509428188 0.981197469853088
0.2071052457097755 0.304047558266178 0.6306475457389696
0.49069974265363125 0.0586098829934486 0.8395944530721257
0.5152132112083256 0.4348059997368561 0.27714861876643326
0.13741129611691738 0.22790980942378114 0.4488525402382403
0.3895478260257673 0.6164532675799359 0.5689553492926537
0.11891839794549519 0.03390623706366158 0.30039643713626707
0.5387421957888772 0.5947374553515384 0.03808299962828576
0.5573043140497961 0.6341811314456334 0.935626338401685
0.5582088043985847 0.41653933851529357 0.15384327972634237
0.351721958930609 0.7852652349847605 0.8690860533365552
0.39632519392885857 0.13039152240370966 0.43726860579211035
0.07563991736211062 0.17643043076806508 0.3249746004775881
0.7088993154506493 0.81411629988912 0.19846891636639907
0.3045273383313757 0.6129660213939432 0.8765752063979118
0.6184240391094421 0.12989194077430788 0.9593515097600125
0.49443281370971437 0.15519785102215933 0.9108789863427736
0.05571081838282266 0.8628570734535517 0.601639706829814
0.7031479479578059 0.9186206182761607 0.32016834195405786
0.01257555846401548 0.7391243241502886 0.5357643325720749
0.04819592884253088 0.15242636618583094 0.603877385248404
0.5531791172390038 0.2838024845746173 0.3032321857386886
0.9912709001224246 0.5592813777709261 0.32897348542758165
0.143781452302017 0.09714151627899181 0.6090736935311412
0.22639360040405965 0.06177167553476737 0.8761655637884366
0.7465881701236138 0.9565636652721208 0.5612965930990279
0.7901207044776799 0.8951366200309444 0.09969725044016453
0.9028812634943144 0.29905179381893976 0.8362310131095541
0.7626643771689227 0.6718385321201166 0.4093971252514109
0.6577129229123454 0.4301220428798751 0.48962962111181785
0.5567038449531484 0.8571743145522845 0.45709781198787625
0.8923549474905512 0.23853777850599156 0.43983499909149104
0.6455503297364938 0.7114918091608464 0.553466029455741
0.1311297101208745 0.7486152769209116 0.6074410265131963
0.3210048190629028 0.884537906584505 0.7695963260586296
0.6985152272941146 0.030825008008012578 0.94091621999895
0.9490035329423592 0.11929230576490202 0.3203935018638706
0.23861096654266567 0.989513165771116 0.952359895570222
0.4462104477635551 0.34165764517685426 0.904500951960336
0.21562873047568631 0.71109541767863 0.3588409121119952
0.890215765077862 0.4221543629365868 0.990210308753262
0.942180510738362 0.3142521930547919 0.8918843318493488
0.34612723441728677 0.4943813181630886 0.8097335141328686
0.38488065381547143 0.03933847940061064 0.398576023667658
0.9123029882117428 0.7036080532888358 0.27587906901076675
0.37079831182431167 0.02902821784083187 0.24578338263186295
0.18207848482136746 0.294488310311415 0.3918129158395601
0.3943586163725311 0.017452035323577753 0.35937888296542986
0.9213571656276341 0.6402574948744318 0.13594564862878233
0.5193893293008816 0.9643223055234602 0.13914952271380943
0.622734680338245 0.4397163186198967 0.7470465415086602
0.5230286690163851 0.08710809400277786 0.36880253219299175
0.7169014456678457 0.7466615042313955 0.6430635438795624
0.704439771035227 0.015404100344591942 0.2909623694956833
0.5627827900528191 0.9143753397947899 0.9864162012396631
0.5630873567029212 0.13483986025130978 0.998201841238949
0.08905845629796338 0.582117591021286 0.09858372233869439
0.8914231485513783 0.940721371567977 0.18854423568278011
0.8084054507265908 0.5696006090297463 0.1876692203044602
0.7359438380998669 0.2798190566756086 0.46719490898509963
0.3395833388128153 0.9400014828791541 0.8120425743059411
0.992665657489206 0.5944855459775951 0.8461536976352917
0.6980292448217574 0.30942933427538766 0.6515695785049866
0.2975039862839399 0.9526516115574759 0.4663572143427729
0.6966389941417892 0.8285152976794956 0.5799796753568505
0.20061593879634532 0.8149929735196253 0.5452296741950213
0.05989861331758106 0.0972503348340269 0.8196453370593776
0.07285171454524786 0.9684517913723192 0.7915795640970119
0.9764552296689913 0.3129936637008708 0.8433108335873415
0.5195072235898532 0.38996646183656514 0.6212425812702009
0.8952622969586971 0.3139400481384258 0.2187884543804829
0.6353754233074235 0.11189493830407371 0.15740627788310058
0.6294456254240963 0.39979667747427083 0.25547569664240366
0.132736769371967 0.20515641095522308 0.589950704894114
0.4664022897545248 0.5674883770785664 0.5425395268247089
0.9770184002356801 0.1431671128283627 0.7104489673625078
0.044827458867361614 0.6720722881854525 0.8857176109504746
0.5934988757389873 0.6004830621985965 0.5556320496941817
0.9336130166308171 0.5705055204353803 0.5404082350337622
0.1947717731391162 0.30303054678860475 0.5243322946962479
0.5523440684097282 0.7834533792252515 0.7202661749965538
0.7964416784932888 0.04518456109222235 0.9653599581983244
0.029631593172298798 0.2933224081206077 0.2748246131856743
0.7466582564513042 0.4559419379260966 0.7018960787611118
0.3982198394992382 0.016372248507437903 0.352680352349121
0.964993956135585 0.0646611505180279 0.7617765756881312
0.18540870870373083 0.5907661398852457 0.7340940884510622
0.8046801328139342 0.20452496933755582 0.48758160405087003
0.747935350182399 0.8371733608424793 0.7095255211551064
0.1556000175390514 0.8640693016847905 0.4988412288137153
0.26362302622176625 0.10950399615113093 0.5795078879687944
0.26515164601528396 0.5180075736408759 0.2854932101963953
0.2843525142503289 0.7431019920376062 0.14915060923940504
0.11669686693245507 0.18701390966178943 0.6773741370837604
0.8338467183664823 0.9642207931014843 0.7659948960102805
0.8284085670979867 0.2778340956292338 0.867045763704762
0.2122356177054071 0.9431445933726333 0.023902277923244952
0.6345905505892321 0.9618000530304004 0.34550582703519483
0.6491949658642091 0.2971268900932398 0.0535312012543282
0.8754764441233164 0.3228822143812493 0.9540654232765378
0.8745587229689402 0.9255545431750065 0.7475139438711608
0.22656748820904726 0.25760108601714926 0.16617491115518812
0.5073265662809573 0.8224467452955536 0.9732612079231707
0.5516059526255491 0.11524989187076906 0.12712546062596342
0.6192054083616563 0.27618276264936215 0.09313178361797825
0.7517750701053492 0.4385334155903352 0.8031971136815859
0.8742056991540723 0.2266529968715295 0.5923047377214912
0.0354058175159081 0.06206288813122496 0.7351072908481155
0.46693414726398286 0.29838577483516526 0.6203401168767747
0.8834405172900681 0.5917356424293579 0.38809452497774044
0.9189504471871817 0.20136234168141698 0.8291501790685812
0.7526247069755942 0.765454270922536 0.35512668499562294
0.0802357608276354 0.38548361054180724 0.8818291310320299
0.857105542704248 0.8492261290724821 0.7421038912151872
0.6123062673434854 0.5731078891692403 0.3278519198926946
0.8861332932492318 0.9274527727029157 0.9062851370206966
0.5157826710418694 0.3040530167513298 0.8999163276533989
0.5588930492478724 0.44963070906596747 0.5633887446758721
0.9413223637063889 0.28770275908410947 0.9068427465540713
0.6252637048254177 0.7448598798634692 0.7304384371928948
0.5878042291092572 0.07884564874167921 0.5213863332969763
0.2770001290865015 0.7236306068403391 0.6455231834552967
0.3607476334523796 0.4001441206801709 0.15754279884494482
0.06161681776104677 0.669534383918479 0.04227165827679291
0.12512291854425683 0.9102228093740646 0.20399354903553857
0.23770881792691945 0.6343581132994724 0.4758346577937286
0.8006520183532614 0.33829659885719465 0.3899512487284553
0.7423982372892267 0.7331694345124536 0.33750897210488995
0.9993809233680054 0.2295122741564386 0.11489116721301518
0.543836931208541 0.6164905704689526 0.3118133973829952
0.8200253216426263 0.616731291640303 0.5888176677996754
0.13018492268745196 0.05505918152861877 0.6124268461505552
0.4524759438128225 0.8104515631177024 0.0626151398305328
0.8490753448159599 0.0004634115240924608 0.08706450512810804
0.3416677105822352 0.14260576244656764 0.7457653169966358
0.8607528165996149 0.3926010858788761 0.6502077261823104
0.2948097734992319 0.41130109368837875 0.8719755345266252
0.1575369585800176 0.05271946031446262 0.7721844999492855
0.7865739027783748 0.22417665696902345 0.577437835980587
0.08852032092774087 0.019279498707726717 0.44945078164249974
0.7942145238629844 0.08820389175898302 0.571589750717424
0.5760780806544735 0.08982198290344212 0.06327520662442032
0.2064237232046986 0.8976802489212155 0.22122318871501978
0.5234743808466017 0.18083904229214742 0.24539861930002638
0.24861330081973343 0.3596921039672868 0.6978711543285261
0.19310068535809166 0.8347415231023392 0.39486180148796013
0.29544800772947977 0.4068399430834382 0.4717724212105524
0.43075262744572085 0.2696307106649338 0.04565258234592917
0.16912920385687424 0.5878485503588293 0.11848094078032934
0.5354683127162988 0.2807833649471574 0.35762065099987717
0.17776432962087219 0.4092809031753458 0.8759278496375839
0.38837826479910664 0.5515313261984917 0.1775886403429453
0.06773221744536029 0.28402155189120826 0.9720510166868517
0.33781614428702933 0.709128847195909 0.7664574968505606
0.6244973891149876 0.5955753304689235 0.8035680980785068
0.8971140255716155 0.3054028304445796 0.6790838467110811
0.5183201729610774 0.8442213964076194 0.1469535787516506
0.379887297309483 0.09717722454574207 0.9264805232675349
0.4406059687263111 0.20765470561305654 0.9447421143690453
0.532320864342978 0.05281437857238247 0.6069581167864646
0.6974595326386491 0.15090949803934062 0.3953172215448696
0.4822759757728837 0.02379022314485646 0.3758954311363979
0.6762911572428774 0.1352636649361586 0.9693690773485447
0.01643346925654099 0.7936313169486251 0.5772346965486416
0.6724208722187002 0.9105833756255896 0.9849161306174058
0.14896849930461153 0.011438320159015691 0.9266064786986613
0.43085781234269116 0.16924302262076962 0.5541591258754627
0.7219047231786031 0.9573422774836542 0.8117357155390061
0.1551683479926088 0.8921303128557031 0.2531586629805611
0.6393824064323884 0.7096785492612926 0.9338907979472927
0.6583525423304933 0.5486050724436528 0.839112440343359
0.7054467693667557 0.9191717087961756 0.1536968400960146
0.5946975580248854 0.2262628546299552 0.912712031242566
0.5983505377690259 0.8142811644007256 0.5053371983737862
0.9625031575508679 0.5211669792776169 0.04570881520140424
0.2608971882233 0.1949791668945069 0.683943611805724
0.2956040746394353 0.6948522899095436 0.0032982177293973125
0.5306569178063758 0.05466176556799829 0.35992294858858964
0.38828292329008585 0.797421710016185 0.21583998025334827
0.7720961054775259 0.6734057302414798 0.6691903187848367
0.15325765864295315 0.09085938879371613 0.6241917241601587
0.8071858246856654 0.3369096422537846 0.5109449236487821
0.2546882980923698 0.49288104477044337 0.5275064665741296
0.5240631706713476 0.33876182634439556 0.5707944029465604
0.014878376927339287 0.8683762808209609 0.7889025916502931
0.6309056789365983 0.025990527219761916 0.0007151272113693485
0.8506327255238212 0.3952025789145116 0.2145942924760652
0.2789923413465165 0.4731511415291705 0.9190969178744476
0.33217529559832126 0.11124784062753212 0.3594981712080568
0.12225233914263733 0.5870281882728701 0.8047674834848997
0.6904773448647364 0.07814365435924542 0.8837237411639088
0.6454016967164473 0.741421232209557 0.39647717180243414
0.16003647961069112 0.4000623658733511 0.19180723767089713
0.6459201192577698 0.7808737106432044 0.566654185119092
0.15692042697079123 0.6400665080086343 0.26308987212279766
0.9786065344090824 0.2959260071985791 0.0020315599847147148
0.3319266707272107 0.20472955424101968 0.3619667531523538
0.49420156404785054 0.5667857945668493 0.7466365442496083
0.42008557293205506 0.4245470620881725 0.7895213670442598
0.5146468149906297 0.4527579977288153 0.6077960397530798
0.46592432263701644 0.9619405743857754 0.9982177964679392
0.15576028505699835 0.6137055915832562 0.16245826106428707
0.9180130524972305 0.9058118204283166 0.3785845580532725
0.39577632442358746 0.9479495305199863 0.05004998153691653
0.9341456766977335 0.8513812583533571 0.858734137073598
0.02993192788504384 0.5209412174057135 0.41841896111377574
0.04390709535180326 0.21182387683817006 0.4636226239131426
0.6569783790308124 0.1593405755355325 0.3508643605047793
0.6282196547702666 0.8061615886694001 0.5214649249406834
0.7481915202437753 0.18311423142751848 0.4267321820515009
0.460942889708311 0.18572821148537344 0.02396588692906554
0.8303928477760657 0.930809962318795 0.13711014796716725
0.12137408362981772 0.33929721022646564 0.9199863323443995
0.419810292067353 0.46917898815915837 0.14231157910368197
0.07856349179912281 0.14284077039559828 0.5778157543174534
0.8433162362403556 0.14605140440852837 0.1958251524950968
0.04088850456796611 0.706260483575852 0.22282471406191118
0.706160150917888 0.8060936785047428 0.6418590249141666
0.19783289682116223 0.27711599719963875 0.38013319885443186
0.6548043099827031 0.5847624325384775 0.7000447281868326
0.5243228253986356 0.4615314635103024 0.6892274797415017
0.713747384797926 0.32933539668593814 0.3324021749273731
0.8265650013094947 0.29029147724771753 0.7586850101393419
0.9785729463986695 0.1261389440913382 0.6466893831518882
0.962038520465388 0.599803893612777 0.6251817012092569
0.7831583756383537 0.27326701992724534 0.18861401427136615
0.6098392004499708 0.3152705198147009 0.8696009803862177
0.06280215169785786 0.8637197934045939 0.2441842566053316
0.7402515216874757 0.9954030550275058 0.815848398286401
0.042946771422885166 0.4938636139988146 0.9848958269464239
0.5127723954055642 0.810353891311192 0.3324470736380224
0.047598656747664725 0.16388115934717218 0.25538557137799145
0.9531477276074051 0.23680002655476218 0.378865092873098
0.40355023890540787 0.49529094705189736 0.8975280122295849
0.8422322661745701 0.8427390951006152 0.8110152728087106
0.652338254952615 0.9189612577719787 0.08219082222625851
0.2917322263453197 0.02452553223094245 0.9457695934551686
0.859676239817401 0.3888808536838899 0.7060390240025524
0.5861763291713444 0.8671695948862483 0.10642602559538183
0.25063195893459955 0.43229397217602616 0.6402650313512193
0.1052219372449309 0.9996530606605373 0.7237514611926907
0.3566211987468626 0.7623538734478201 0.1502978003333526
0.4092499329468776 0.691605563390815 0.5021795109826722
0.5917761773763521 0.8175139620508426 0.6752860243701354
0.5773395801184552 0.8164315571620114 0.07501622112018047
0.9938126102794722 0.9332015608900821 0.6279442968991341
0.8562518157341814 0.8518530149143622 0.3593452649164439
0.6834223255170769 0.6137879697575599 0.7098973825695882
0.6155835702564825 0.7008353615447129 0.5644982636898017
0.16135377079784352 0.95070968367835 0.9081596275985777
0.25828482840086964 0.5293697455717333 0.16623776908701193
0.008833044174696214 0.5804970488863012 0.558477945154662
0.12726774295298082 0.5804674764529294 0.7964444665375484
0.18141628495289996 0.19014097849559397 0.5529303643914778
0.42534314372461346 0.9836321005877451 0.8688185636107616
0.9564804202485487 0.22312531023129556 0.3189047835457467
0.5158699003421761 0.6460501427505926 0.8596153529504835
0.2574355450581809 0.8028422065166398 0.765076679005181
0.5506724983455725 0.4056780576252885 0.6166014580815791
0.9757549572318812 0.6527770227006658 0.8256660878289848
0.5274117059461506 0.0805133818855347 0.910180422380597
0.530862749214264 0.6590549841955282 0.6641180657530362
0.5715467313570091 0.620136136980674 0.6145424499800131
0.7148573799182952 0.5206780960347271 0.5491240922934357
0.830595927964021 0.7121972500158951 0.23532825330357487
0.17920489536560258 0.3765618082065362 0.27900034147559083
0.4557678253837253 0.019070750777577472 0.4567001234796694
0.21813532960587712 0.5449125944899459 0.48774803122028043
0.598334801249495 0.10813155432387567 0.8824056262094067
0.8469787971059395 0.06912915932900054 0.05858132599056576
0.5769518189881483 0.3435001311023512 0.30664089497074554
0.5666063501570398 0.9384089385779836 0.7647921302868238
0.9905424903639338 0.07712768916230883 0.4281506207217045
0.4766616637216363 0.27426849096192996 0.20163479910060755
0.18269096029905396 0.7850694424461756 0.17290510816338445
0.9033169600290729 0.8326987483175425 0.14924186107966841
0.09606561380940604 0.18986985404911005 0.12225996659589
0.2304737600890654 0.17123264774694658 0.6274803513014435
0.267725979128415 0.83577602317269 0.5369651670782459
0.7008800321701997 0.5456177019738644 0.45277509877864663
0.13702210255499248 0.8577910976405501 0.9800290369396324
0.9700347911766801 0.6589463904283085 0.7548268167503214
0.6070607716656147 0.22394274590873653 0.8583541447642631
0.9624337965579488 0.2866821428172237 0.07696258241887644
0.5240773469954968 0.35535590251386096 0.9846084145411558
0.49579036756346984 0.7120415548894006 0.7576471402199705
0.4656494363142305 0.4769588807167421 0.33659974268025494
0.9665846497743615 0.282291755782033 0.09645963101306543
0.3977771321440995 0.9755282866550634 0.2356573899347233
0.41444542923551386 0.9713406161649265 0.5862334073987245
0.7006460535919102 0.8494199894695971 0.9709117559702015
0.8076303935822327 0.4046822184398805 0.1611487222431115
0.0031261599454837086 0.30582954841207055 0.27327279705151797
0.835518255223817 0.1602607163944303 0.2777952574923839
0.5863492943277921 0.23380338579855087 0.6948951891569349
0.31183466357644396 0.3592309927778212 0.023597813485726205
0.12652686590886852 0.44001831143669323 0.6600528381585887
0.18902471974200885 0.2968384557583943 0.06525221491188338
0.7215143248327892 0.03107328997009784 0.6888449199875866
0.9309628308151394 0.1437085392216857 0.766791176711507
0.939599303640948 0.2772323342837899 0.3637583100236639
0.34401052563134893 0.15572816100596232 0.582093709873505
0.7376972259049941 0.47790659833030114 0.07454904929321704
0.5979534712217529 0.4501376026145708 0.5451673803144829
0.2915373706120209 0.3249600493865944 0.6389389082115251
0.886808273276721 0.25809872050456517 0.5038180037561673
0.12339074190450383 0.6556227989596005 0.6141146817005929
0.4275099215270537 0.10130390464483119 0.06751254120582084
0.198572572498386 0.17163119543883587 0.8493523888323222
0.9811783875507643 0.9657859355531797 0.7522713456067253
0.025271599122561383 0.8866624991417157 0.3032703058845214
0.5479666763968365 0.13861442974892635 0.6607174929683391
0.9201716863029644 0.8107857936621695 0.42089580746437827
0.9932631906509618 0.5678201517593411 0.9231077883136695
0.56070697826715 0.99748021532257 0.708072882484033
0.9681732706757052 0.18788110051779916 0.6809885874146722
0.6007235890389349 0.06390520033458458 0.568538535376076
0.9294529197909538 0.9803140455229487 0.5874504974935743
0.38698506115995 0.5448078547549794 0.6341513756363416
0.4969418531359683 0.17115500634210024 0.6417089849667015
0.6633020719853601 0.305045074055283 0.7538801458843551
0.25673012667002626 0.7472317806415589 0.27496993469164344
0.4489159696845886 0.8971508542466019 0.41330858403141935
0.020175039363731218 0.6994138215516837 0.5084412627404784
0.14458274505520063 0.2718188898025865 0.6946664609736503
0.198664384781432 0.6359774446303426 0.4754423313620266
0.26866961086437136 0.4517392905832196 0.5353088968543777
0.2647478282716852 0.031021299437492322 0.7476256720126725
0.6268365498414563 0.20889670187139697 0.9659329460821454
0.7282337837583411 0.8974888276984957 0.866256991580705
0.11506404780325885 0.07287810341233891 0.6246969596692159
0.2902344699560183 0.7149548028258167 0.6760600441770456
0.41375667677281847 0.5625837242164398 0.998156986290418
0.5610015524040569 0.4532150877496375 0.3440912740162304
0.3613616110432041 0.4898349211632602 0.13736909874776793
0.6220631037571009 0.43625338321103735 0.34439634606322966
0.38977522595837866 0.5038830700760937 0.1549624206808441
0.9208347630726134 0.20100066648453074 0.726283613671437
0.07014135967170254 0.42413232245184374 0.8402481141908908
0.8765182111219384 0.2859311156160852 0.32075963905630633
0.666731778867162 0.9364924824897786 0.9146565173807107
0.21056457486394775 0.8623020704755527 0.6901275081697456
0.24335311229561474 0.6523317988850177 0.4864949009855104
0.9496235659032177 0.44903741889868254 0.9470787692240674
0.014725607095028459 0.9974744064109553 0.7456551031916113
0.19327364015187154 0.17130768986227551 0.3778572881251552
0.24773620588860534 0.14970386606322728 0.8099377359293687
0.6616553439953466 0.14734722105753906 0.08262532073132423
0.7950765037350433 0.7879123156752345 0.3216365967124034
0.7262830554443245 0.6133169858858489 0.47211953220092917
0.19821018728439788 0.8484033600159977 0.6995508155529045
0.6990986997857331 0.9237492945331859 0.9452087445484278
0.8945283556380162 0.9355192205322618 0.8877737505750295
0.10776224587614991 0.21927700961190544 0.3786229750656246
0.40239975687072826 0.20156060003204956 0.9185592238264427
0.28179187366550873 0.6790752111604539 0.6509184687587389
0.4096351614666808 0.3777955915087057 0.6214552604409692
0.0507279315749265 0.6527796848214201 0.964393444450203
0.6882337208518532 0.5139922446226602 0.4834710077713412
0.23878656389589448 0.539889403706923 0.024934897566181724
0.15486406820136867 0.7662697504988603 0.9031285613646028
0.40118615020927395 0.8813033125213495 0.08485089720592032
0.8955978092705037 0.7919578231341518 0.949875519352027
0.11141170019671887 0.8462858718200109 0.9709311747777762
0.6873329610682258 0.10549112742119482 0.6700881867283348
0.7380202621259577 0.06419737621702326 0.12297852999382619
0.048085194972146694 0.8661133976154566 0.8688215120929892
0.0009588823748060138 0.9336140855445432 0.8181558561998434
0.14515053117389143 0.3681233963078918 0.8405805392966655
0.9533903796145338 0.7687126099146423 0.8786303983628659
0.3842463162690184 0.877225300016493 0.6901052686766679
0.019589421188434653 0.4620193081907028 0.670022120942352
0.1277112672088917 0.9560266839952724 0.2772989241778595
0.22879614801916182 0.32386135882051115 0.9161389109555517
0.03887977079663263 0.5736601883078442 0.9760999550978888
0.5436921237952324 0.28709723870533577 0.26595613595862044
0.11752701712056346 0.9133597747008919 0.17978178043856397
0.16485370731175764 0.6980758557142919 0.7442169933850172
0.0026406928660036577 0.34009040521554945 0.9956509407522441
0.015266699519497662 0.5435552893703707 0.2695074386378765
0.549689139182519 0.7501723115557445 0.5849867528579151
0.7456637521622088 0.8313497325802853 0.9088755741982718
0.678286352218796 0.7778888607591595 0.4094547707610916
0.3069857323881605 0.16078025931477524 0.7645796536794471
0.9756661747181822 0.4313216074070415 0.9943016402758843
0.2335778683698836 0.8496884550200936 0.0827296998100695
0.20972992746749874 0.15657944460287 0.5314269132148263
0.1225110432324612 0.9522453604715058 0.7316230661532068
0.30100608330762213 0.6169875465797338 0.27667217636910324
0.4128366236578206 0.9610573424254116 0.8139519238814369
0.35355966086775836 0.35769345753327975 0.5174363075069006
0.2074312819797537 0.4740147324225378 0.1641332206987376
0.7615404081710064 0.09853285814425505 0.2601630769646587
0.8966347378562399 0.3720393843525005 0.9980778809878048
0.6095609109496414 0.33698580143953527 0.7981593338599984
0.903311916651829 0.827045050579131 0.5174541980291788
0.8257293171460772 0.6385352312443056 0.5041549344424526
0.6512201136844626 0.06761899789513381 0.77040146166235
0.27987837851669994 0.6815569758270805 0.10131370275780083
0.8977164199841123 0.7442366493805215 0.975829787300191
0.6180930081735672 0.04045198058942212 0.5821810653279291
0.993971237431968 0.26039536697363763 0.15609659454684544
0.7842869887035236 0.7979881846735256 0.1089087822383299
0.9917838317502499 0.9253077377143492 0.32941642931706383
0.030495671102739763 0.20662136368089923 0.3887880496429693
0.4179122941513692 0.8360620233892686 0.9554187262056492
0.29656029573206133 0.19507724609379984 0.4068097569030589
0.38600229332259595 0.4556045557808577 0.1250580273088302
0.7542730306708214 0.6703981307574911 0.5888212587656563
0.0016595306210368532 0.7513321892656871 0.0429126132114338
0.6595646922809665 0.14490452026770306 0.6061086797025844
0.006433581456056547 0.23008787408860065 0.49134157206562834
0.6560735030335721 0.24196014758820472 0.7141095430570804
0.23795061488429547 0.07082195860334106 0.9186728441146335
0.04700463115532749 0.6294624566581567 0.8910836892890897
0.4805753948820928 0.9360915590624092 0.16741231764520426
0.04725191011829988 0.6124236936984097 0.7433963412234725
0.7842388372131848 0.016045991165869355 0.6265222236360167
0.8345227867875027 0.22612512765982118 0.8072224283645555
0.578656348028933 0.28454614189308947 0.08080779094893187
0.9974042211866763 0.968429888293106 0.12615273374883207
0.6350276059126566 0.8747903971846903 0.5557168538653584
0.2114546128228708 0.20020796713984756 0.6060765674098625
0.655458411139614 0.9466498715871713 0.08343765331801489
0.7717863618002849 0.653944772505991 0.6519520790661402
0.7448401370874916 0.9042330838395473 0.7826922853280895
0.02940006036589904 0.9630561617774608 0.8608274436078588
0.15442757077672953 0.29101210911204867 0.9190347413660452
0.568123152872134 0.8580511850636787 0.8832687571966329
0.7712630599327619 0.9488353285420174 0.7485340708656077
0.8763197080820965 0.07886983174093232 0.5971506015436211
0.22227161876066404 0.978188638038523 0.5161054191545625
0.8391630723672696 0.2370375729858204 0.2463500454774894
0.9592351353284002 0.6568931114722879 0.5993125828883616
0.6991504261865961 0.07221393731588166 0.7718446917507199
0.11466954798743767 0.20357517493377708 0.06542457033166715
0.07155006639616013 0.14343715486267117 0.7829359843120518
0.7178649542963009 0.24559428568778618 0.7052875061001853
0.44199559711292036 0.667920866750692 0.02667077358309955
0.4365128652722907 0.8478890556224924 0.8245621734835427
0.9615853256232791 0.2609218689897256 0.17622013005384185
0.7566529523726352 0.7338887244289979 0.8173348376262969
0.9197954309050921 0.9259027355947602 0.28000855851932316
0.21834772203775532 0.20946636180709022 0.19977865346031487
0.4429946506157847 0.8671054851595886 0.4751456094268114
0.7092502460518456 0.6821607764146765 0.34983140662099566
0.5852801783704823 0.09231072711712696 0.15394291364281032
0.481151647769684 0.7726301497422114 0.8017687651138726
0.2731101648952703 0.7209631495801551 0.8140943639709771
0.8883260726534556 0.838042547557894 0.2177686791516691
0.5249625345048599 0.11136490659777964 0.8717853937165084
0.6300771676716629 0.8961511996732001 0.1737204365762779
0.01861891234904378 0.20734978140095706 0.25909381331980597
0.03647921535806742 0.7958136182289162 0.23035510634642975
0.31763315685198723 0.044555865207408396 0.652127220701201
0.202042834384081 0.27343874305585103 0.04284548459536319
0.9037166972259234 0.8770004526523033 0.1974560569518521
0.8775845500437188 0.7367288972636477 0.7635430112700186
0.5481471391677879 0.11089607059479545 0.4716680822860315
0.30775699208478857 0.5388099836092249 0.09153921016748479
0.013117825206188205 0.8716385367201992 0.1377539394021039
0.14573041662970165 0.23486322910455915 0.39214383193673386
0.5953433647307859 0.678397290015535 0.4582799465006784
0.8377798019360547 0.19380542367024223 0.03670789019366105
0.4408902633446349 0.16511997134012646 0.09575091295265248
0.5618797074053485 0.00048205326599715104 0.8388364833523944
0.08593573600026627 0.5202765974401523 0.562703782443986
0.7733681203422942 0.7857243945531464 0.8540653259686024
0.41631078007228794 0.43731135699097345 0.4983614211723294
0.6656399943490946 0.7995970439950049 0.7188340982976434
0.8219315185818133 0.8331688641515042 0.29490951290010115
0.09622369420783938 0.3469064653722388 0.9020808809067519
0.49214305798406666 0.6874740786558443 0.9596064510869824
0.9666270153737287 0.6547265750633786 0.5673821786379559
0.6796453036621052 0.7516605125228243 0.5983925160187629
0.4943343684225343 0.5516873166920215 0.2808361901245414
0.4788665253909484 0.9462817702567016 0.38889220943594693
0.09996867581633062 0.2546686347889425 0.8644760054315291
0.5445830804873664 0.841149051155724 0.5523086063559208
0.6596565338841524 0.5139670154301021 0.917121011707199
0.9711564468408411 0.4342205405899183 0.14238541704666685
0.022142234227120916 0.4595558627874883 0.452221809933945
0.3672275042047064 0.5826324516808756 0.07440027723535425
0.5520098420474672 0.3187439164131347 0.970240831718783
0.34161833630219796 0.861529331238804 0.2753031505018104
0.15344634114886935 0.28471372805213413 0.49489503222344433
0.032939835955405505 0.168112664091859 0.24235181922463567
0.44175999755632056 0.7110510778117564 0.37142795904545967
0.9004054761533219 0.6887802795073559 0.7750838839340595
0.2800456745928084 0.1675545340801261 0.44676812792464227
0.09441891105036393 0.49776723826336755 0.32973807083744633
0.46085837379298045 0.5152359481178028 0.03511205744513035
0.37219720885964036 0.29634929340426863 0.9105374840452742
0.42033937582058367 0.19745834674572804 0.20156659285229905
0.8464439867826565 0.16849164430920383 0.7920468079533541
0.6650185802155372 0.8054823057941397 0.33337610626667913
0.8373651271141974 0.26561400258092027 0.0890597170748989
0.8133337601973994 0.7626377483627937 0.4619077764818402
0.911878505028765 0.12194851992669076 0.9895196996713811
0.32678312732470727 0.02206008784107949 0.910272700444426
0.6919289348489349 0.3090354532063053 0.8401981347991327
0.5856204578961399 0.23671094866143927 0.7662890987259691
0.13766994340668715 0.4416693392232244 0.18388872992482697
0.40048132716499496 0.7684017512421721 0.4059664138096204
0.6609488951528175 0.7598678247797526 0.523456591803271
0.44005254280024064 0.3967259026469935 0.8747961793842524
0.09526105089633641 0.006801095667908208 0.07618567212337102
0.5578734360482114 0.4001634160213441 0.4203931946926902
0.32357163218674134 0.8872249054104187 0.41262871656588185
0.10884809778337434 0.7043658937081468 0.8533435580299793
0.04133612822346955 0.11002425616149702 0.9532402419654048
0.7313257811181191 0.3934346988939337 0.07317158596567264
0.5948609415301429 0.2066535532043009 0.29201474758517243
0.8423784481569779 0.37551907144221175 0.8607114845992621
0.854608827065695 0.42052557972188376 0.6841875283224499
0.32322519940705374 0.2951550321145945 0.680679596991961
0.7364110686935579 0.3024945827947636 0.6063634471173487
0.34791919648664493 0.6640737887946129 0.9233190502992825
0.015305966774725732 0.23221488322727646 0.4677933835110024
0.4936301536199533 0.2990462870604018 0.1241202072938199
0.3233511587406196 0.93600691512151 0.5627270669089535
0.6191738671322143 0.49835535859293645 0.229649922509919
0.6207079219646722 0.5401327924279673 0.3723757732381682
0.48545142082958315 0.3494846729137576 0.20806203177437443
0.6344838879187148 0.4262308965475391 0.2605453606946624
0.08393401459234284 0.5189023661499376 0.9112459542737044
0.11135629918564283 0.3214570571111195 0.3874721721842971
0.25565990788259874 0.7625364157022936 0.4082929603627753
0.952552858630415 0.7999971631376078 0.23630818711651513
0.9263274836085155 0.27789766139335026 0.847154411882214
0.12713052317858686 0.2502258480190439 0.9579185959934611
0.22966306751165688 0.20524145375999714 0.6348403699250639
0.5954692412058384 0.5041607425344499 0.7670758404555881
0.551502514544695 0.9670238501907831 0.4950916377405069
0.007358502745505979 0.28413663055780036 0.5983385474903773
0.8673286377901734 0.741455016744958 0.49457773599656785
0.9701036841391243 0.7985371373122925 0.3143224197177511
0.6174161109088299 0.9286258117491575 0.5678345007752187
0.9475804130710532 0.0848404731841822 0.4545285665258534
0.42019998047265084 0.24255632441946184 0.28643918441492855
0.9027054204295154 0.6063477195782996 0.19926584580898998
0.9521613896182696 0.13071616575732747 0.9923715634762531
0.9624132728593033 0.940210762787304 0.23536124284547721
0.6833561871389927 0.6936539311534835 0.5498189205241429
0.9978373471090377 0.6952378832835076 0.734673221975615
0.06006608547778158 0.04185930865527432 0.3055498023549835
0.9839967371155568 0.9566638449238378 0.7735895774760532
0.3644128110952283 0.9822427343339839 0.18218523237931983
0.4692958439960032 0.45356794184497196 0.5884804702443652
0.39967306028691607 0.5905646651447465 0.560229160094486
0.757234140006302 0.5917509620079381 0.2488801235659721
0.24340576812981862 0.86498978734485 0.09664396591286506
0.7371493220177878 0.742702988032549 0.5117027482186424
0.03545115780342167 0.11418906433410791 0.26342179964075496
0.22296285343991062 0.15630301596549045 0.8638395650677274
0.7260662552187042 0.10940507446072623 0.9222980591576005
0.07940160537957597 0.41854444766335397 0.2528097470691949
0.7504897022884411 0.07220071678414453 0.452344964999157
0.6716697529951168 0.4332474794790646 0.45653433861792114
0.5619531735601921 0.29673778372000525 0.23073421098697078
0.18861851495015547 0.9905226132398053 0.23140086357129275
0.0840892436420071 0.44222833905183745 0.35252810330612894
0.22982364115279852 0.3180222503986029 0.7261421705950128
0.6593263361549933 0.7817568921408276 0.7902275468613853
0.24413814399514733 0.999302762753947 0.5454727840715562
0.43821525583943366 0.5177502265484032 0.7041458693632118
0.4869614236073293 0.6745478782690518 0.0384653586874093
0.6194496336592715 0.9006079866978769 0.3887837689023681
0.8543919032903166 0.9849834462396356 0.19375657538562785
0.22268919075620308 0.6518291045786451 0.16421231071364784
0.614979193169049 0.4089987356632748 0.29722289536907764
0.8752305925851147 0.5837205351723772 0.2642056118323973
0.9873761030761372 0.6802534630528648 0.7121017658545302
0.38131048073588925 0.7188846447898514 0.4449675731061986
0.3470298585020275 0.49549872502645465 0.9542360405948036
0.9642885115901884 0.47714425355274637 0.9992520345229661
0.3745039687968461 0.5342436632346069 0.7481536780813838
0.31604895891350937 0.6975322810239495 0.8627439453989064
0.30696169533667894 0.5891855854291672 0.2564182057059238
0.5045407603604303 0.26008242749223187 0.22814015753708772
0.09818800424760943 0.7879189185348028 0.37265537740351007
0.3263309604466895 0.6168312735055296 0.26642279934298607
0.02222365191425002 0.22073471600912986 0.016246512046906858
0.022365795359255314 0.25298076672700187 0.9181853155277516
0.5483486929636769 0.8617649891475806 0.061256890608358705
0.910108363678076 0.4220431955234014 0.06847450312333014
0.34024146225782936 0.46418944808292917 0.9067235115292123
0.9181450813351704 0.8559856925552428 0.15973962097514427
0.40658138935482213 0.4736637428689926 0.1681491181549961
0.10282140586140154 0.5581446227558451 0.4735653999827443
0.7213102625418673 0.005425541591537186 0.34771871432008283
0.7283911394177699 0.3501610881645899 0.9988057373630352
0.626846087869357 0.1583654210916836 0.3430792837755976
0.10408949689321523 0.5388804868935846 0.6507801433034844
0.9662229382449546 0.23337026459504318 0.12493006417595054
0.26673975179325793 0.6243301075619097 0.368055089255925
0.7249801474844718 0.8810317024655103 0.04232656854747485
0.012196750325732642 0.06526958646410852 0.1589278403046549
0.4288519364283808 0.7258607660697616 0.21632474565748672
0.9558371288767811 0.5091329375983183 0.8515287690779244
0.5976303311392445 0.03663395960909721 0.08349704907414368
0.5741253194150935 0.4935991255377078 0.7718081835709708
0.7308893530149309 0.5869042315970723 0.2839994533212099
0.8437662458457907 0.6690847110458825 0.026612537650494872
0.46402325127916744 0.61897676379173 0.1102519076095495
0.47545347878556354 0.13739293706244748 0.02588870227253126
0.0029290244284480016 0.2602331737758572 0.5246035731079428
0.22230490696941052 0.852573743653218 0.4900485008131781
0.34718342533942215 0.3349045174303603 0.8346137656243894
0.20817234830782871 0.7457248609515428 0.19339276117915316
0.5537090729440565 0.9379233650056822 0.24852752316396154
0.2589365740209576 0.9095071679309182 0.0511006799974586
0.2769937782881061 0.31839442505854154 0.49734570698749114
0.5556583601498986 0.07827311600522657 0.9345729867265596
0.6524739752795685 0.4364177768775326 0.36448152364671293
0.6772941298323614 0.7842258337854072 0.46713001010774524
0.3191487463469118 0.15435282727377309 0.16443422990513967
0.8566739738230211 0.19024490495178048 0.3212015566815779
0.43093659108056215 0.345239384835634 0.5894099357287852
0.6640185937866907 0.8361744019014847 0.739419884260893
0.5351233365727678 0.3715832864647852 0.3791186351826452
0.41148400557787335 0.31485145007983995 0.0038803595761821574
0.10172009102132873 0.8058003626575353 0.4217203260167822
0.5257823353324846 0.32974020443732843 0.7304890710963315
0.27575945652419487 0.14595551582974509 0.529688048317614
0.8544428667045202 0.34094817323051674 0.37773835773537134
0.8804506143927496 0.9600895962637809 0.8421063573422356
0.6950835499320668 0.9395902429831 0.1301856356735287
0.9463433996717123 0.4188448203291306 0.20877511708939323
0.9745216644364081 0.8034888301801877 0.10797039748203086
0.3175555613581563 0.9495311645914993 0.005658864368044192
0.2250214779901587 0.4416466517937164 0.2969407173569919
0.41590615561920163 0.644157822611393 0.44022486146144335
0.44349086127145954 0.6358587350329676 0.26132384023155486
0.25404597491895686 0.9800661168878549 0.7133179292419429
0.14422181540517665 0.03957027737147456 0.14956094094149053
0.7164293862518879 0.7082941181100355 0.3385814267929018
0.5274873779727994 0.5868192123899661 0.764598944559587
0.7987590064368691 0.0300622355083765 0.5283773127575152
0.13639316643660426 0.026758740078960397 0.929560609419046
0.49144271258401806 0.3031514085042488 0.007707863050799624
0.17454116489910187 0.11017097797932851 0.41741074089406605
0.7843680930698054 0.23225980777551858 0.31087941033071276
0.8818057661524386 0.27255198150291293 0.5797252893251099
0.8405453895610129 0.7940318173191443 0.8306540624328266
0.4314903802296929 0.7545830418911978 0.19984055251773936
0.46754174458568853 0.16776227935568455 0.8900225472057608
0.140675281795421 0.5797420668442332 0.06709332331585083
0.6617195868150244 0.3188412010701308 0.4859779457365522
0.8966302944178279 0.9039709324507088 0.7581249980887602
0.9980739508159148 0.9033306198762179 0.09653256534113108
0.10675876465874767 0.05462632223265573 0.11532163980373622
0.8580406878439149 0.34940815422178084 0.07300655398313294
0.9729940973339962 0.49739102223684395 0.1796475596842474
0.9810784619483994 0.8342448139635299 0.17937112285233525
0.906794969949197 0.09570455544467638 0.0611980530717513
0.3338720081711978 0.9407177396702305 0.33340422272986114
0.9057177340574047 0.6576163760906538 0.3832480061480191
0.45983592989013444 0.09092569191445343 0.6152306704820308
0.10893812817441839 0.5024543826070511 0.47467644074452653
0.5493254958113465 0.869298047866852 0.9074774893998653
0.03289874116588909 0.7980211995153145 0.3266313020667725
0.2719159644448865 0.9736347512005172 0.844655894043737
0.5197773725421484 0.04562079931072749 0.7988543711738968
0.046750923961912494 0.4114658561362331 0.5642566879051519
0.5044634783698501 0.25246783873178125 0.45190738146250675
0.14672309331330302 0.6300349805632509 0.06267414781583658
0.6794364949377917 0.7697394761985259 0.7529033220248564
0.03713793640236529 0.42472819631744174 0.9256447692586565
0.9377890333010332 0.08264699848430457 0.6502024954891511
0.575574237831022 0.7945157899684208 0.25118468444238873
0.3318464778283424 0.1243314859620902 0.43563019755253374
0.47923510476085585 0.728429393098589 0.34073655729360086
0.48149705177154367 0.7093657746744502 0.5727254430821407
0.16150415652658823 0.5225968802964872 0.9146453072950357
0.9224325095307568 0.16250511110564492 0.3778529466690531
0.6948713025881743 0.0027034430388888087 0.10885801603847212
0.5443217579478643 0.19599040440058513 0.5122345555476598
0.801303360942041 0.3169844883858771 0.6753125046955072
0.5082296096474925 0.4644386988423931 0.34396345594712574
0.4697488343534877 0.4012651164355997 0.26561719240611725
0.07847417639460896 0.9832416239841516 0.7342883529699733
0.6501539645494399 0.8459768310039274 0.2692123855813945
0.770910209007703 0.07140941465438677 0.5119020003491147
0.7062848690070065 0.8652442913204883 0.6874352055351793
0.5628795766974031 0.4110898681193891 0.6102071274401172
0.03771563457275673 0.09039570920985018 0.41088420447435503
0.3288240760220744 0.8212709986083905 0.31963927071933707
0.8067122232500822 0.2522520618720482 0.12042007435003022
0.4298958510340011 0.016154641877037745 0.048680837110395725
0.6210708511944191 0.7800632801725059 0.6277174758603434
0.1971273625452078 0.2952645468731222 0.7468117045718132
0.32781589095575536 0.6609978771710351 0.6142335087697605
0.4083253783404559 0.18641845244643318 0.6520394055576648
0.6024882162335352 0.15114984811149923 0.5214703235607797
0.9936881495474071 0.9147665264510432 0.7767354873404275
0.4581597211033239 0.9658616258234092 0.8961210623027525
0.7115950167577858 0.3164677690255918 0.7818653271714212
0.17067663013970225 0.1309152191160745 0.6279422673038894
0.2263213510099199 0.18311579579116055 0.4485774943871699
0.7079169974266539 0.5437970588508163 0.9506037681439666
0.4042529186177425 0.01480105762074424 0.8404884970348603
0.6316664593123429 0.7277248426565649 0.49994233704531243
0.6830241782525148 0.46990672612300943 0.8469534089426589
0.8474469701525393 0.02044492703580847 0.48089010475366445
0.9130582416671551 0.35778896598680443 0.5120780388671152
0.2767990273943788 0.4020621292771712 0.8906661496574034
0.44583101300032935 0.003535734756370479 0.5323737154986635
0.5817742635733033 0.7641523757296518 0.2893500792643918
0.2413377443665411 0.43689303755885056 0.4757980051045776
0.5128557850763671 0.9406214854866972 0.725810835096645
0.16084509512263423 0.4943075908876383 0.5405926799279889
0.7476837783270859 0.3317266849751822 0.09830991669689415
0.6271801726469252 0.3669293820984455 0.19982181586765824
0.5848345823320414 0.7558747222658908 0.9706904142548726
0.5482144934450103 0.9127016863497459 0.1272474321572239
0.49770839982179516 0.7435697072273992 0.34867691816249824
0.5276686291304946 0.10686172635104352 0.38085081420828193
0.7047762888719282 0.34678168928782804 0.535142755072083
0.5376704407552721 0.6721294991574173 0.4779456417698994
0.14427665482691387 0.0880363529357957 0.84901940460689
0.6676950590430876 0.5564426904396151 0.80441832160917
0.863833108341723 0.7638918959563773 0.047632772292459435
0.01074272711033497 0.3502621991045657 0.5058651437096673
0.8162062885985595 0.6778718450687173 0.03253001524824872
0.5037310413833779 0.2746124183863322 0.5921936908590478
0.3763673211008698 0.28286746950939823 0.7326205885973978
0.23317181602896664 0.9753076096007078 0.39451177614484634
0.3435441583801928 0.2733710835342903 0.06496862492707145
0.7306273862079307 0.7812819959507741 0.2571127580984287
0.7723937208789606 0.2578049441751977 0.18100693743888052
0.6582304589477117 0.28742283886980435 0.387852408920052
0.7511471143030116 0.3871372702212854 0.886022964755769
0.2192322240311656 0.6881929740328683 0.813405789992481
0.9710821056502097 0.06531066139883135 0.5204982004895645
0.9158279474983715 0.08942810224288722 0.01234571916874827
0.8924555263713653 0.48487666753680747 0.04734791042540143
0.1903599363517693 0.16121450087324918 0.20068668519187316
0.46124623437772794 0.10119235113341596 0.6984845242434968
0.9285936143040696 0.4527427782829945 0.46744369219724213
0.9730888239160477 0.9317620916768046 0.9950258448470862
0.8554939855381808 0.9483262111590455 0.3409330328024128
0.5083604761669538 0.5748395463288292 0.12628518608052164
0.8910954470616003 0.02799364793083725 0.514657164796234
0.5704645669346249 0.5995270534443775 0.9575091632278868
0.9447205501247783 0.8624016950998413 0.4178507226737338
0.2699945415071443 0.20691016042408272 0.19889641526652235
0.5539519153422934 0.33720738716794674 0.5685233916440547
0.5670272239418696 0.05464740768434906 0.2154554546195877
0.17767958819572716 0.8115184073092285 0.016849447342881074
0.18372322156328946 0.5325279348875552 0.8927117516211193
0.1926344424507591 0.5761140691247134 0.4303084221281257
0.9271329579066048 0.5967499141770297 0.8920969505749614
0.34563354945514746 0.5399920094379869 0.6476857190113423
0.44863635297299875 0.5193809610264467 0.0887665944196604
0.14990083527590625 0.15579677885501642 0.91628878974029
0.40205423348699787 0.3605431409414044 0.1455347014917734
0.9600593423512515 0.18486229546726063 0.7331351376186334
0.8887640110496006 0.1972378183254898 0.9930061566124748
0.7539312948959362 0.3345575864229121 0.47184916873843663
0.0021589702799652555 0.06904760120334885 0.3264438962245192
0.041919489793981746 0.8455182354789321 0.8897297346830194
0.67892115884927 0.15893183202329875 0.12035152867131393
0.7199620170889589 0.5400182127798769 0.5268521159883212
0.6806338379775282 0.24852820082950033 0.9878978522613724
0.40541601853398 0.7689025574982375 0.36737670618821305
0.417409021814761 0.7420248991031362 0.6641478407781569
0.4228085485773103 0.9851846783542962 0.5697528986660723
0.9863822102345087 0.8997178077037212 0.5780772697431114
0.4948612633871594 0.6220216681038958 0.4836295204287484
0.216750749370621 0.5889971962531532 0.09842770189391603
0.02373972474155106 0.418957008801515 0.2741777022368297
0.31061967066351903 0.051053160396291375 0.24272599345106238
0.8781698305414826 0.39901138633003275 0.09017235837698334
0.3801526790322072 0.1814391574851758 0.3184344305386977
0.7973611203584545 0.2206103847026435 0.8526624494141234
0.19315837485100595 0.6834201609435872 0.10392039286476384
0.41771820530131587 0.6921453148179048 0.5755716980835979
0.656557708387844 0.3670125278944635 0.6027670396639452
0.5377777936731567 0.9095362530719153 0.8796763193150992
0.8659833940298401 0.3043636759648284 0.6606640823257484
0.04743187149267758 0.3369557300389878 0.9515306173914341
0.6916955019144966 0.16853992228719228 0.046592757040698984
0.7151650345988974 0.8371177130355915 0.6358672325237223
0.7853885975271472 0.2487434082541926 0.4692671745202607
0.8678946333466813 0.2969064587316257 0.15946038171244836
0.6290124789538204 0.8110703720696041 0.5537753289033477
0.818194737514336 0.4453922482558701 0.38469666399134694
0.15946738439366748 0.2795569253651561 0.14867464590964596
0.7567690094518689 0.5118013571379393 0.8875791972151368
0.004694173808977187 0.9458666317089023 0.2745519219527326
0.9249473683618442 0.38338636858053854 0.8329323513202915
0.31301676336712325 0.5276788220620209 0.6039952345644308
0.28393316297137483 0.470269094617181 0.05220426715961313
0.0448567493849793 0.8156780672263124 0.8055173307191263
0.44340328176300725 0.8483334554940993 0.16560250676298172
0.32697416146201064 0.4346593972710383 0.19556512988039243
0.8350432453291131 0.08412688213503661 0.570877222479817
0.290305039579827 0.5975494769143345 0.8096622370213338
0.26783122085003463 0.5121168607325252 0.594109453979484
0.5564825302357487 0.4380558653168438 0.8402741547293809
0.374426798368257 0.9212361940682589 0.98909748280637
0.5773651410658317 0.21386699387151253 0.3271582096346741
0.6728759114911982 0.4797060188067389 0.9891584001460478
0.40597131786265095 0.9271096637776293 0.41235000346433515
0.5893396670659404 0.9640668949055833 0.8327409357043504
0.9880751810897919 0.8802393740570945 0.9812149186358302
0.9384842332036665 0.2283740743014333 0.32728219261477565
0.1311769803000954 0.5028179352291492 0.9959299056356993
0.6492710076009943 0.689759357528476 0.8712463360597221
0.1423977649317456 0.7325714089701636 0.5599282883489524
0.8192584217979558 0.5190726693363565 0.7751179369341277
0.1075924386122068 0.8481419509387821 0.3912155529316351
0.8980823713509961 0.3109835657953969 0.8604419360930846
0.13914676980839025 0.20286248261429718 0.8585304069946584
0.9738891868465627 0.2663621992562988 0.38979544580233083
0.2128602599845233 0.35288160215082265 0.25399393084126665
0.4013188607167443 0.31569501480694284 0.48138802321981755
0.06959808076886864 0.7778711667097151 0.2984324320734596
0.11186348165104232 0.6970099154765002 0.8654962398353457
0.5129069196011794 0.9049265413212277 0.4850911405115813
0.6817663372312371 0.3206614416316498 0.5481127772691582
0.9580991240628135 0.6111015801870922 0.736725370088457
0.8600701892724583 0.8507848235885336 0.42511283956285195

运行点云,首先要安装open3d,view_pointcloud.py

import open3d as o3dpcd = o3d.io.read_point_cloud("random_cloud.ply")
o3d.visualization.draw_geometries([pcd])

直接运行后就可以看到效果

3 其它的处理手段 

3.1 降噪 → 下采样

import open3d as o3d# 读取点云
pcd = o3d.io.read_point_cloud("random_cloud.ply")# 下采样
pcd_down = pcd.voxel_down_sample(voxel_size=0.05)
print(f"下采样后点数: {len(pcd_down.points)}")# 去除离群点
pcd_clean, _ = pcd_down.remove_statistical_outlier(nb_neighbors=20, std_ratio=2.0)
print(f"最终有效点数: {len(pcd_clean.points)}")# 可视化
o3d.visualization.draw_geometries([pcd_clean])

结果如下,看起来也没有少很多。 

D:\test\pointcloud_example>python view_pointcloud.py
RPly: Error reading 'z' of 'vertex' number 999
[Open3D WARNING] Read PLY failed: unable to read file: random_cloud.ply
下采样后点数: 945
最终有效点数: 903

4 前端复现点云

目前主要是将点云数据送到前端展示,简单玩了一下。

生成数据,在这里要将ply文件转换成glb文件。

GLB(GL Transmission Format Binary)是一种用于高效存储和传输 3D 模型的二进制文件格式,基于 JSON 格式的 GLTF(GL Transmission Format)规范,由 Khronos Group(创建 OpenGL 和 WebGL 的组织)开发。它将 3D 模型的几何数据、材质、纹理、动画和骨骼等信息打包在单个二进制文件中,专为网络传输和 GPU 渲染优化。

前端将 PLY 文件转 GLB 显示点云,原因是:

 
  1. 性能更佳:GLB 是二进制格式,体积小、加载快,适合大规模点云渲染。
  2. 渲染优势:可将点云转为三角网格,利用 GPU 加速,支持材质、光照等高级效果。
  3. 兼容性强:主流 3D 库(如 Three.js)对 GLB 支持更完善,尤其适配移动端。
import open3d as o3d
import numpy as np# 创建一个球形点云(1000 个点)
N = 1000
phi = np.random.uniform(0, np.pi, N)
theta = np.random.uniform(0, 2 * np.pi, N)
r = 1.0
x = r * np.sin(phi) * np.cos(theta)
y = r * np.sin(phi) * np.sin(theta)
z = r * np.cos(phi)
points = np.vstack((x, y, z)).T# 创建点云对象
pcd = o3d.geometry.PointCloud()
pcd.points = o3d.utility.Vector3dVector(points)# 保存为 .ply(用于调试)
o3d.io.write_point_cloud("example_pointcloud.ply", pcd)# 从点云生成三角网格(Alpha 越大越容易生成)
alpha = 1.2
print("⏳ 使用 alpha =", alpha, " 创建网格中...")
mesh = o3d.geometry.TriangleMesh.create_from_point_cloud_alpha_shape(pcd, alpha=alpha)# 检查网格是否成功
if len(mesh.triangles) == 0:print("❌ 网格生成失败,三角形数量为 0。请尝试增加 alpha 或使用 Poisson 重建。")
else:mesh.compute_vertex_normals()# 保存为 GLB(注意写入法线)o3d.io.write_triangle_mesh("example_mesh.glb", mesh, write_vertex_normals=True)print("✅ 导出完成:example_mesh.glb(三角形数:", len(mesh.triangles), ")")

前端页面index.html,在这里,直接使用了three.js这个前端库来进行展示。

在这里遇到一个坑,导入thrss.js的时候一直报错,改了很多版都不行,

    import * as THREE from './js/three.module.js';import { GLTFLoader } from './js/GLTFLoader.js';
      import * as THREE from 'https://unpkg.com/three@0.155.0/build/three.module.js';import { GLTFLoader } from 'https://unpkg.com/three@0.155.0/examples/jsm/loaders/GLTFLoader.js';

最后必须要下面这样。。。

<!-- index.html -->
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><title>Three.js GLTF Example</title><style>body { margin: 0; }canvas { display: block; }</style></head><body><script type="importmap">{"imports": {"three": "https://cdn.jsdelivr.net/npm/three@0.152.2/build/three.module.js","three/addons/": "https://cdn.jsdelivr.net/npm/three@0.152.2/examples/jsm/"}}</script><script type="module">import * as THREE from 'three'; // 现在可以使用简洁的语法import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js';const scene = new THREE.Scene();scene.background = new THREE.Color(0x222222); // 深灰背景const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);camera.position.z = 10;const renderer = new THREE.WebGLRenderer({ antialias: true });renderer.setSize(window.innerWidth, window.innerHeight);document.body.appendChild(renderer.domElement);const light = new THREE.HemisphereLight(0xffffff, 0x444444);light.position.set(0, 200, 0);scene.add(light);const loader = new GLTFLoader();loader.load('example_mesh.glb', function (gltf) {console.log("✅ 模型加载成功");scene.add(gltf.scene);}, undefined, function (error) {console.error('GLTF 加载失败:', error);});// 渲染循环function animate() {requestAnimationFrame(animate);renderer.render(scene, camera);}animate();// 自动缩放窗口大小window.addEventListener('resize', () => {camera.aspect = window.innerWidth / window.innerHeight;camera.updateProjectionMatrix();renderer.setSize(window.innerWidth, window.innerHeight);});</script></body>
</html>

之后在本地启动服务器,就可以看到了。

D:\test\pointcloud_example>python -m http.server 8080

访问http://localhost:8080/ 

此外还有一个专门的网站,可以用来显示glb文件。可以直接增加很多渲染,效果比较炫酷,和上面一样的glb文件在这里是这样显示的。

glTF Viewer

可以用以下工具检查生成的 .glb 是否有效:

https://gltf.report(验证结构)

https://sandbox.babylonjs.com(可视化预览)

https://gltf-viewer.donmccurdy.com/(Three.js 推荐)

好了,简单玩玩。。。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/81731.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

鸿蒙HarmonyOS多设备流转:分布式的智能协同技术介绍

随着物联网和智能设备的普及&#xff0c;多设备间的无缝协作变得越来越重要。鸿蒙&#xff08;HarmonyOS&#xff09;作为华为推出的新一代操作系统&#xff0c;其分布式技术为实现多设备流转提供了强大的支持。本文将详细介绍鸿蒙多设备流转的技术原理、实现方式和应用场景。 …

Spring Boot- 2 (数万字入门教程 ):数据交互篇

JDBC交互框架: Spring的JDBC操作工具: 依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> JDBC的模版类:JdbcTemplate 引入Mysql的依赖 <depe…

在 Kotlin 中,什么是内联函数?有什么作用?

在 Kotlin 中&#xff0c;内联函数是一种通过 inline 关键字声明的函数&#xff0c;其主要目的是优化高阶函数&#xff08;即以函数作为参数或返回值的函数&#xff09;的性能。 内联函数的函数体会在编译时直接插入到调用处&#xff0c;从而避免函数调用的开销&#xff0c;并…

LLM笔记(五)概率论

1. 随机变量与概率分布&#xff1a;模型输出的基础 在LLM中&#xff0c;随机变量最直观的体现就是模型预测的下一个token。每个时刻&#xff0c;模型都会输出一个概率分布&#xff0c;表示词汇表中每个token可能是"下一个词"的概率。 直观理解 想象模型在处理句子…

LeetCode-滑动窗口-找到字符串中所有字母异位词

LeetCode-滑动窗口-找到字符串中所有字母异位词 ✏️ 关于专栏&#xff1a;专栏用于记录 prepare for the coding test。 文章目录 LeetCode-滑动窗口-找到字符串中所有字母异位词&#x1f4dd; 找到字符串中所有字母异位词&#x1f3af;题目描述&#x1f50d; 输入输出示例&am…

PostgreSQL 初体验

目录 一、PostgreSQL 1. 简介 2. 特点 &#xff08;1&#xff09; 开源免费&#xff08;Open Source&#xff09; &#xff08;2&#xff09;标准兼容&#xff08;SQL Compliance&#xff09; &#xff08;3&#xff09; 丰富的数据类型&#xff08;Data Types&#xff09…

05_核支持向量机

描述 核支持向量机&#xff08;通常简称为SVM&#xff09;可以推广到更复杂模型的扩展&#xff0c;这些模型无法被输入空间的超平面定义。 SVM 的核心思想是找到一个最优的超平面&#xff0c;将不同类别的数据分开。这个超平面不仅要能够正确分类数据&#xff0c;还要使得两个…

Java + 鸿蒙双引擎:ZKmall开源商城如何定义下一代B2C商城技术标准?

在 B2C 电商领域持续革新的当下&#xff0c;技术架构的优劣成为决定商城竞争力的核心要素。ZKmall开源商城以其创新融合的 Java 与鸿蒙双引擎&#xff0c;为下一代 B2C 商城技术标准勾勒出全新蓝图&#xff0c;在性能、兼容性、拓展性等关键维度实现了重大突破。 一、Java 技术…

关于 Web 漏洞原理与利用:3. CSRF(跨站请求伪造)

一、原理&#xff1a; 利用用户登录态伪造操作 CSRF&#xff08;Cross-Site Request Forgery&#xff0c;跨站请求伪造&#xff09;是攻击者“借刀杀人”&#xff0c;借用用户浏览器中已有的登录状态&#xff0c;诱导用户完成攻击者指定的操作。 1. 基本机制分解 1&#xf…

【HTML5】【AJAX的几种封装方法详解】

【HTML5】【AJAX的几种封装方法详解】 AJAX (Asynchronous JavaScript and XML) 封装是为了简化重复的异步请求代码&#xff0c;提高开发效率和代码复用性。下面我将介绍几种常见的 AJAX 封装方式。 方法1. 基于原生 XMLHttpRequest 的封装 XMLHttpRequest。其主要特点如下…

C++ - 网络编程之初始连接(Winsock2 概述、初始连接案例、初始连接案例解读)

一、Winsock2 概述 Winsock2&#xff08;Windows Sockets 2&#xff09;是微软提供的 Windows 平台网络编程库 二、初始连接案例 1、Server #include <winsock2.h> #include <ws2tcpip.h> #include <iostream>#pragma comment(lib, "ws2_32.lib&quo…

Spring Cloud Gateway深度解析:原理、架构与生产实践

文章目录 前言一、概述二、核心架构设计及设计原理2.1 分层架构模型网络层&#xff08;I/O模型&#xff09;核心处理层 2.2 核心组件协作流程路由定位阶段过滤器执行阶段 2.3 响应式编程模型实现Reactor上下文传递背压处理机制 2.4 动态路由设计原理2.5 异常处理体系2.6 关键路…

游戏开发实战(一):Python复刻「崩坏星穹铁道」嗷呜嗷呜事务所---源码级解析该小游戏背后的算法与设计模式【纯原创】

文章目录 奇美拉项目游戏规则奇美拉(Chimeras)档案领队成员 结果展示&#xff1a; 奇美拉项目 由于项目工程较大&#xff0c;并且我打算把我的思考过程和实现过程中踩过的坑都分享一下&#xff0c;因此会分3-4篇博文详细讲解本项目。本文首先介绍下游戏规则并给出奇美拉档案。…

说一下响应状态码有哪些?

HTTP响应状态码分类(RFC 7231标准) 1. 1xx(信息类) 临时响应,表示请求已被接收,需要继续处理 100 Continue:客户端应继续发送请求体 101 Switching Protocols:服务器同意升级协议(如WebSocket) 102 Processing(WebDAV):服务器正在处理但未完成 2. 2xx(成功类)…

Linux多进程 写时拷贝 物理地址和逻辑地址

如果不采用写时拷贝技术 直接fork子进程 会发生什么&#xff1f; 如上图所示 橙色为父进程所占内存空间 绿色为子进程所占内存空间。 如果子进程只是需要做出一点点和父进程不一样的 其余和父进程均为相同 第一 就会出现复制开销比较大&#xff1b;第二占用内存空间 所以 …

【TTS回顾】Bert-VITS2深度解析:融合BERT的多语言语音合成模型

一、基本介绍 Bert-VITS2是基于VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)的改进版本,通过整合BERT语义编码能力,显著提升了语音合成的自然度和表现力。项目地址:https://github.com/fishaudio/Bert-VITS2 语种自然度相似度流…

win11下docker 的使用方案

Windows 11 Docker 使用方式对比 特性Docker Desktop (使用 WSL 2 后端)直接在 WSL 2 中安装 Docker Engine安装与易用性极简&#xff0c;一键安装&#xff0c;提供直观的 GUI 界面 管理容器、镜像、卷等相对复杂&#xff0c;需手动在 Linux 环境中安装 Docker Daemon 并配置G…

配合本专栏前端文章对应的后端文章——从模拟到展示:一步步搭建传感器数据交互系统

对应文章&#xff1a;进一步完善前端框架搭建及vue-konva依赖的使用&#xff08;Vscode&#xff09;-CSDN博客 目录 一、后端开发 1.模拟传感器数据 2.前端页面呈现数据后端互通 2.1更新模拟传感器数据程序&#xff08;多次请求&#xff09; 2.2&#x1f9e9; 功能目标 …

牛客网NC209794:使徒袭来

牛客网NC209794:使徒袭来 题目背景 问题分析 数学建模 设三位驾驶员的战斗力分别为 a, b, c已知条件&#xff1a;a b c n (n为输入的正整数)目标&#xff1a;求 a b c 的最小值 解题思路 根据算术-几何平均值不等式(AM-GM不等式)&#xff0c;对于任意正实数a, b, c&a…

动态规划之爬楼梯模型

文章目录 爬楼梯模型LeetCode 746. 使用最小花费爬楼梯思路Golang 代码 LeetCode 377. 组合总和 Ⅳ思路Golang 代码 LeetCode 2466. 统计构造好字符串的方案数思路Golang 代码 LeetCode 2266. 统计打字方案数思路Golang 代码 爬楼梯模型 爬楼梯模型是动态规划当中的一个经典模型…