#!/usr/bin/perl
my
@x
= ( 0.544460345696681, 0.568466445804983, 0.862554556980758,
0.409095438232068, 0.567847141151876, 0.685328615757253,
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
;
my
@sol
= ( [ 0, 8, 15, 29 ],
[ 1 ],
[ 2, 11, 22 ],
[ 3, 27 ],
[ 4, 18, 21, 23, 24, 25, 28 ],
[ 5, 13 ],
[ 6 ],
[ 7, 14 ],
[ 9, 19 ],
[ 10 ],
[ 12 ],
[ 16 ],
[ 17 ],
[ 20 ],
[ 26 ] );
my
$clp
= Algorithm::ClusterPoints->new(
dimension
=> 2,
dimensional_groups
=> [[0],[1]],
ordered
=> 1,
radius
=> 0.1);
$clp
->add_point(
$x
[
$_
],
$y
[
$_
])
for
0..
$n
-1;
my
@bfc
=
$clp
->brute_force_clusters_ix;
my
@c
=
$clp
->clusters_ix;
is_deeply(\
@c
, \
@sol
,
"simple 2d - 1+1"
);
is_deeply(\
@bfc
, \
@sol
,
"simple 2d - 1+1, brute force"
);