Classes | |
class | Miniball_b |
class | pvt |
Public Member Functions | |
void | build () |
double[] | center () |
void | check_in (double[] p) |
void | clear () |
Miniball (int dim) | |
int | nr_points () |
int | nr_support_points () |
double | radius () |
double | squared_radius () |
Package Functions | |
double | accuracy (double slack) |
boolean | is_valid (double tolerance) |
double | max_excess (int t, int i, pvt pivot) |
void | move_to_front (int j) |
void | mtf_mb (int i) |
void | pivot_mb (int i) |
int | points_end () |
int | support_points_end () |
Static Package Functions | |
static double | mb_sqr (double r) |
static int | points_begin () |
static int | support_points_begin () |
Package Attributes | |
Miniball_b | B |
int | d |
ArrayList | L |
int | support_end = 0 |
Java Porting of the Miniball.h code of Bernd Gaertner. Look at http://www.inf.ethz.ch/personal/gaertner/miniball.html
and related work at http://www.inf.ethz.ch/personal/gaertner/texts/own_work/esa99_final.pdf
for reading about the algorithm and the implementation of it.
If interested in Bounding Sphere algorithms read also published work of Emo Welzl "Smallest enclosing disks (balls and Ellipsoid)" and the work of Jack Ritter on "Efficient Bounding Spheres" at
http://tog.acm.org/GraphicsGems/gems/BoundSphere.c?searchterm=calc
For Licencing Info report to Bernd Gaertner's one reported below:
Copright (C) 1999-2006, Bernd Gaertner
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA,
or download the License terms from prep.ai.mit.edu/pub/gnu/COPYING-2.0.
Contact:
--------
Bernd Gaertner
Institute of Theoretical Computer Science
ETH Zuerich
CAB G32.2
CH-8092 Zuerich, Switzerland
http://www.inf.ethz.ch/personal/gaertner
Original Java port from Paolo Perissinotto for Jpatch Project by Sascha Ledinsky found at http://forum.jpatch.com/viewtopic.php?f=3&t=919
used for moa for calculating most compact sphere cluster modified by Timm Jansen (moa@cs.rwth-aachen.de) to be used with high dimensional points
Definition at line 71 of file Miniball.java.
edu.tum.cs.vis.model.util.algorithm.Miniball.Miniball | ( | int | dim | ) | [inline] |
Definition at line 249 of file Miniball.java.
double edu.tum.cs.vis.model.util.algorithm.Miniball.accuracy | ( | double | slack | ) | [inline, package] |
Definition at line 255 of file Miniball.java.
void edu.tum.cs.vis.model.util.algorithm.Miniball.build | ( | ) | [inline] |
Recalculate Miniball parameter Center and Radius
Definition at line 283 of file Miniball.java.
double [] edu.tum.cs.vis.model.util.algorithm.Miniball.center | ( | ) | [inline] |
Return the center of the Miniball
Definition at line 294 of file Miniball.java.
void edu.tum.cs.vis.model.util.algorithm.Miniball.check_in | ( | double[] | p | ) | [inline] |
Adds a point to the list.
Skip action on null parameter.
p | The object to be added to the list |
Definition at line 306 of file Miniball.java.
void edu.tum.cs.vis.model.util.algorithm.Miniball.clear | ( | ) | [inline] |
Method clear: clears the ArrayList of the selection points.
Use it for starting a new selection list to calculate Bounding Sphere on
or to clear memory references to the list of objects.
Always use at the end of a Miniball use if you want to reuse later the Miniball object
Definition at line 321 of file Miniball.java.
boolean edu.tum.cs.vis.model.util.algorithm.Miniball.is_valid | ( | double | tolerance | ) | [inline, package] |
Definition at line 325 of file Miniball.java.
double edu.tum.cs.vis.model.util.algorithm.Miniball.max_excess | ( | int | t, |
int | i, | ||
pvt | pivot | ||
) | [inline, package] |
Definition at line 330 of file Miniball.java.
static double edu.tum.cs.vis.model.util.algorithm.Miniball.mb_sqr | ( | double | r | ) | [inline, static, package] |
Definition at line 227 of file Miniball.java.
void edu.tum.cs.vis.model.util.algorithm.Miniball.move_to_front | ( | int | j | ) | [inline, package] |
Definition at line 350 of file Miniball.java.
void edu.tum.cs.vis.model.util.algorithm.Miniball.mtf_mb | ( | int | i | ) | [inline, package] |
Definition at line 361 of file Miniball.java.
int edu.tum.cs.vis.model.util.algorithm.Miniball.nr_points | ( | ) | [inline] |
Return the actual number of points in the list
Definition at line 386 of file Miniball.java.
int edu.tum.cs.vis.model.util.algorithm.Miniball.nr_support_points | ( | ) | [inline] |
Return the number of support points (used to calculate the miniball).
It's and internal info
Definition at line 396 of file Miniball.java.
void edu.tum.cs.vis.model.util.algorithm.Miniball.pivot_mb | ( | int | i | ) | [inline, package] |
Definition at line 400 of file Miniball.java.
static int edu.tum.cs.vis.model.util.algorithm.Miniball.points_begin | ( | ) | [inline, static, package] |
Definition at line 231 of file Miniball.java.
int edu.tum.cs.vis.model.util.algorithm.Miniball.points_end | ( | ) | [inline, package] |
Definition at line 422 of file Miniball.java.
double edu.tum.cs.vis.model.util.algorithm.Miniball.radius | ( | ) | [inline] |
double edu.tum.cs.vis.model.util.algorithm.Miniball.squared_radius | ( | ) | [inline] |
Return the sqaured Radius of the miniball
Definition at line 440 of file Miniball.java.
static int edu.tum.cs.vis.model.util.algorithm.Miniball.support_points_begin | ( | ) | [inline, static, package] |
Definition at line 235 of file Miniball.java.
int edu.tum.cs.vis.model.util.algorithm.Miniball.support_points_end | ( | ) | [inline, package] |
Definition at line 444 of file Miniball.java.
Definition at line 244 of file Miniball.java.
int edu.tum.cs.vis.model.util.algorithm.Miniball.d [package] |
Definition at line 239 of file Miniball.java.
ArrayList edu.tum.cs.vis.model.util.algorithm.Miniball.L [package] |
Definition at line 242 of file Miniball.java.
int edu.tum.cs.vis.model.util.algorithm.Miniball.support_end = 0 [package] |
Definition at line 246 of file Miniball.java.