/*------------------------------------------------------------------------- * コンストラクタ */ VdcMapper::VdcMapper(const unsigned int width, const unsigned int height) : mDcWidth(width), mDcHeight(height), mVcMaxY(DEFAULT_MAXY), mVcX0(0.0f), mVcY0(0.0f) { if (mDcWidth <= 0 || mDcHeight <= 0) { fprintf(stderr, "%s: width/height must be > 0\n", __FUNCTION__); throw; } setMaxY(DEFAULT_MAXY); initCenter(DEFAULT_MAXY); }
// ref: http://tech.nitoyon.com/ja/blog/2009/04/09/kmeans-visualise/ void KMeansClusterizer::train(int cluster_num) { initCenter(cluster_num); while (reviseCenter()); }