Point Cloud Generator 3D
1 개요
무작위 3D 객체를 생성하거나, 이미 존재하는 원본 객체에 병합하는 알고리즘
2 알고리즘 상세 설명
Source Data | Result Data |
---|---|
![]() |
![]() |
3 파라미터 설정 및 사용 방법
AddPredefinedObject(bool bCopyOriginalVertices, int64_t arrI64Count[3], EPredefinedObject ePredefinedObject);
- 생성할 기저 도형의 종류와, 해당 도형의 꼭지점을 생성할지, 그리고 선/면/내부 영역에서 각각 몇 개의 점을 생성할지를 지정하는 함수들입니다. 색상이나 변환행렬을 지정하는 아래의 변종 함수가 존재합니다.
AddPredefinedObject(bool bCopyOriginalVertices, int64_t arrI64Count[3], EPredefinedObject ePredefinedObject, Base::TPoint3<uint8_t> tpColor);
AddPredefinedObject(bool bCopyOriginalVertices, int64_t arrI64Count[3], EPredefinedObject ePredefinedObject, Base::TPoint3<float> tpPosition, const Foundation::CMatrixFor3D<float>& matLinear, Base::TPoint3<uint8_t> tpColor = Base::TPoint3<uint8_t>(0xff, 0, 0);
4 예제
CPointCloudGenerator3D alg;
CFL3DObject floDst;
// 파라미터 설정 // Set parameter
alg.SetDestinationObject(floDst);
alg.EnableColorGeneration(true);
alg.EnableNormalGeneration(false);
int64_t arrI64count[3] = {};
alg.AddPredefinedObject(true, arrI64count, EPredefinedObject_Regular_DodecaHedron, TPoint3<uint8_t>(255, 255, 255));
arrI64count[0] = 4000;
alg.AddPredefinedObject(false, arrI64count, EPredefinedObject_Regular_DodecaHedron, TPoint3<uint8_t>(255, 0, 0));
arrI64count[0] = 0;
arrI64count[1] = 20000;
alg.AddPredefinedObject(false, arrI64count, EPredefinedObject_Regular_DodecaHedron, TPoint3<uint8_t>(0, 255, 0));
arrI64count[1] = 0;
arrI64count[2] = 100000;
alg.AddPredefinedObject(false, arrI64count, EPredefinedObject_Regular_DodecaHedron, TPoint3<uint8_t>(0, 0, 255));
arrI64count[2] = 0;
alg.Execute();