Algorithm-ClusterPoints
view release on metacpan or search on metacpan
t/cylinder.t view on Meta::CPAN
0.0795686274517955, 0.29410178608526, 0.520030032850858,
0.236259733286158, 0.0294282551552278, 0.914725723577785,
0.276250858170588, 0.673800841587802, 0.297429085058173,
0.586241459173603, 0.88596413841157, 0.225342515099054,
0.737789393756561, 0.269533367118949, 0.463388079631361,
0.649042080805298, 0.930544874640919, 0.633198454264001,
0.628078652396542, 0.801246157236175, 0.30011506155093,
0.470565399455349, 0.798169572718766, 0.558539849039942 );
my @y = ( 0.358415913711866, 0.0111357565266488, 0.440309055507598,
0.904607404043666, 0.687700131389136, 0.889755301702884,
0.00459189980161057, 0.957928203336728, 0.28874431781307,
0.266509778785981, 0.184030028200354, 0.422151072766916,
0.760171615357649, 0.830166876153932, 0.863055448524406,
0.224287303394128, 0.95541986662036, 0.63777975282688,
0.553363804922625, 0.329798376144389, 0.187917282423371,
0.595342261598297, 0.527584022466343, 0.659698805332873,
0.497660430676518, 0.575629268906887, 0.0512307657694322,
0.931358361154217, 0.576637173055246, 0.357822901527335 );
my $n = @x;
0.128638577345797, 0.326090140269599, 0.0455956418000341,
0.100150700324605, 0.955393320323154, 0.911930463452421,
0.979627830332547, 0.853527245506825, 0.681211219930802,
0.448095794887791, 0.738777210925193, 0.063286857759465,
0.586648908607415, 0.953837587567449, 0.461072723996708,
0.354974675808535, 0.825649416749471, 0.846143143505998,
0.462369729438521, 0.283675295343585, 0.609388646405094,
0.961365900911318, 0.402648872886729, 0.299521230016239,
0.535690692624158, 0.285901131511224, 0.490461924650319,
0.0960749075949821, 0.91166826246463, 0.806063298036378,
0.698180841295638, 0.876740451276191, 0.167244441655171,
0.137321321859446, 0.210706299887121, 0.324361496151425,
0.707212058913981, 0.843048010790511, 0.58029195488426,
0.309161290830957);
my @z = ( 0.649537369389972, 0.828828198633584, 0.766584584708166,
0.600576411217769, 0.119760777523535, 0.290968545136433,
0.549452257176906, 0.367264137032389, 0.493365275908157,
0.17427266706262, 0.72037474964517, 0.540358899712867,
0.487191162691712, 0.259589772768958, 0.101884962954866,
0.0146285473355015, 0.703503066852644, 0.0833022442925646,
0.818463696225955, 0.774827116263033, 0.843063340071232,
0.265995338354408, 0.438260451825066, 0.526294385606356,
0.429691642370976, 0.207674245794756, 0.420240602240561,
0.801557223832312, 0.677086852729296, 0.830231346967601,
0.533945575198366, 0.993513583521725, 0.944759504890662,
0.954307142740682, 0.552642938089058, 0.56484118584158,
0.396666963945101, 0.984795340830836, 0.16911409480624,
0.323175476172459, 0.757119531369703, 0.147721250884565,
0.655155361491175, 0.448790021142237, 0.718603053976373,
0.419075745964854, 0.643698671183664, 0.716185597066023,
0.505424286765837, 0.712011040444231, 0.66245815737917,
0.600994219792348, 0.347085259687894, 0.138804534304093,
0.298008866492204, 0.213604365955611, 0.865292898307921,
0.413996973840263, 0.119203849225947, 0.250913635634767,
0.628510148379625, 0.715111178774812, 0.738835880848136,
0.40761510641827, 0.377954854324052, 0.567357585774126,
0.642450060373186, 0.938423628875263, 0.678952641614835,
0.568732858373217, 0.663213538650574, 0.312648313433023,
0.00155005306969969, 0.0219178133062954, 0.231748625359465,
0.152517458660647, 0.484294189048221, 0.789380913243583,
0.779835524909593, 0.896662170958997, 0.885085101555823,
use Algorithm::ClusterPoints;
# my @x = (0.616027832031250, 0.152069091796875, 0.190399169921875, 0.61352539062500, 0.560211181640625);
# my @y = (0.151336669921875, 0.058563232421875, 0.240966796875000, 0.65527343750000, 0.620880126953125);
# my @z = (0.325408935546875, 0.380126953125000, 0.726531982421875, 0.72015380859375, 0.141204833984375);
my @x = ( 0.370452880859375, 0.540771484375000, 0.068023681640625, 0.947723388671875, 0.379699707031250,
0.118957519531250, 0.919097900390625, 0.404083251953125, 0.890777587890625, 0.077453613281250,
0.313354492187500, 0.799285888671875, 0.388702392578125, 0.605743408203125, 0.923034667968750,
0.216796875000000, 0.778015136718750, 0.497253417968750, 0.012207031250000, 0.504455566406250 );
my @y = ( 0.516418457031250, 0.550109863281250, 0.003204345703125, 0.898040771484375, 0.884124755859375,
0.686798095703125, 0.109252929687500, 0.824249267578125, 0.795867919921875, 0.565551757812500,
0.836212158203125, 0.641906738281250, 0.973724365234375, 0.332397460937500, 0.379638671875000,
0.865753173828125, 0.545440673828125, 0.391784667968750, 0.261322021484375, 0.975372314453125 );
my @z = ( 0.701416015625000, 0.308532714843750, 0.103179931640625, 0.342620849609375, 0.839630126953125,
0.736083984375000, 0.625488281250000, 0.582672119140625, 0.353637695312500, 0.069366455078125,
0.440246582031250, 0.555389404296875, 0.045349121093750, 0.227325439453125, 0.823425292968750,
0.921325683593750, 0.507598876953125, 0.142578125000000, 0.767700195312500, 0.672821044921875 );
my @sol = ( [ 0 ], [ 1 ], [ 2 ], [ 3, 8 ], [ 4, 15 ], [ 5 ], [ 6 ], [ 7, 10 ],
[ 9 ], [ 11, 16 ], [ 12 ], [ 13, 17 ], [ 14 ], [ 18 ], [ 19 ] );
my $n = @x;
my $clp = Algorithm::ClusterPoints->new(dimension => 3, ordered => 1, radius => 0.2);
$clp->add_point($x[$_], $y[$_], $z[$_]) for 0..$n-1;
( run in 1.010 second using v1.01-cache-2.11-cpan-39bf76dae61 )