スポンサーリンク

| キーワード:,

VCG LibraryのBall Pivotingでメッシュ生成

VCG LibraryのBall Pivotingを使用してみます

まずヘッダファイルを読み込みます

#include <vcg/complex/algorithms/create/ball_pivoting.h>

次に点群を作成します。

int X = 50;
int Y = 50;

auto itr = vcg::tri::Allocator<MyMesh>::AddVertices(mesh,X*Y);

for (size_t x = 0; x < X; x++) {
  for (size_t y = 0; y < Y; y++) {

    double d1 = rand() % 100 / 2000.0;
    double d2 = rand() % 100 / 2000.0;
    double d3 = rand() % 100 / 7000.0;

    double dx = x / (double)X; // 0.0 ~ 1.0の範囲にする
    double dy = y / (double)Y;

    itr->P().X() = dx + d1;
    itr->P().Y() = dy + d2;
    itr->P().Z() = d3;

    ++itr;

  }
}

Ball Pivotingの実行

double radius = 0.05;
double clustering = 0.03;
tri::BallPivoting<MyMesh> pivot(mesh, radius, clustering);
pivot.BuildMesh();

BPAは既に存在する点群に対して実行します。
radiusはボール径です。radiusによって結果が大きく変わります

VCG Library メッシュからfaceのみを削除する

VCG LibraryのBall Pivotingでメッシュ生成

VCG LibraryでkdTree

VCG Library でスムージング

VCG Library ターゲットの周辺のオブジェクトを取得

VCG LibraryでMeshに三角形を登録する方法

VCG Library でポリゴンファイル保存

VCG Libraryで色のついたポリゴンの読み込み・表示

VCG LibのFace-FaceやEdge-Faceなどの関連付け

VCG Library

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)


この記事のトラックバックURL: