반응형 분류 전체보기84 VTK Non Manifold Face 삭제 코드 Non Manifold는 아래 글을 통해 설명했습니다.2024.01.10 - [3D Algorithm] - Manifold와 Nonmanifold 차이(Mesh Processing) Manifold와 Nonmanifold 차이(Mesh Processing)Mesh processing에서 manifold와 nonmanifold는 메쉬의 토폴로지(Topology)에 관련된 용어로 사용됩니다. 토폴로지는 한글로 위상이라고 말하는데 Mesh의 vertex, face, edge 연결관계를 나타내며, 임의의 vertex에서darkrock.tistory.com VTK를 이용해서 Non Manifold face들을 삭제하는 코드는 아래와 같습니다. face들을 삭제한 후에는 hole이 생기기 때문에 hole filli.. 2024. 5. 28. VTK Poisson Reconstruction * Visual Studio 빌드 - 소스: https://github.com/daviddoria/PoissonReconstruction - kazhdan 원본 소스(https://github.com/mkazhdan/PoissonRecon)를 vtk에서 작동가능하게 함 - VTK Poisson Reconstruction을 작동하기 위해서는 vertex normal이 계산되어야 함 - vtk 9.3에서는 vtkPCANormalEstimation 이용해서 vertex normal 생성 - vtk 9.3 이전 버전에서는 vtkPolyDataNormals 이용해서 vertex normal 생성 - vertex normal 자료형은 vtkDoubleArray가 아닌 vtkFloatArray으로 해야 VTK.. 2024. 5. 27. 3차원 점 직선 투영(Point Line Projection) 방법2 3차원에서 lineP를 지나고 백터가 lineDir인 직선에 점 p를 수직으로 투영점을 구하는 두번째 방법입니다.Dist를 아래방법으로도 계산 할 수 있습니다.Dist = (P-lineP) • lineDir • : 내적 Dist 만큼 lineP를 이동하여 p''를 구할 수 있습니다.p'' = lineP+Dist*lineDir 참고용 방법12023.10.13 - [3D Algorithm] - 3차원 점 직선 투영(Point Line Projection) 방법1 3차원 점 직선 투영(Point Line Projection) 방법13차원에서 lineP를 지나고 백터가 lineDir인 직선에 점 p를 수직으로 투영하는 문제입니다.여러 가지 방법이 있겠지만, 간단하게 하려면 .. 2024. 5. 17. C++ 람다 함수 1. 정의 - 람다식, 또는 람다 함수라 부르며 익명 함수를 지칭하는 용어 2. 유의사항(C++) - C++ 11부터 지원하며, 람다의 인자에 auto는 C++ 14부터 지원 3. 사용법과 특징 - 기본형: [캡처블록](매개변수){표현식} - 캡처는 복사(=)와 참조(&)중 선택이 가능하고, 캡처형식을 지정 안 할 수도 있음([]) - 캡처는 외부변수에 영향이 있고 매개변수에는 영향을 주지 않음 - 외부변수를 사용하지 않을 때는 []로 선언 가능 4. 사용예 int main(){ int a = 5; auto func = [&](int b) {a += b;}; int c = 5; func(c); cout - 위 코드는 캡처 참조- 캡처 블록은 매개변수에 영향이 없고 위 코드에서 외부변수는 a, &로 선언.. 2024. 4. 30. CCW 정렬 알고리즘 이 페이지에서 설명드리는 알고리즘은 3차원에서 원형태의 point loop 순서를 ccw로 정렬하는 알고리즘입니다.point 좌표를 움직이는 것은 아니고 loop index를 ccw로 정렬하는 로직입니다. index가 ccw로 정렬이 되어 있지 않는 입력데이터를 ccw로 index를 조절한다고 보시면 될 것 같습니다. ccw 정렬 알고리즘을 위해 알아야 할 개념은 두 벡터의 사이각 계산입니다.2024.01.17 - [3D Algorithm] - 두 벡터 사이각(내적, 외적 활용) 두 벡터 사이각(내적, 외적 활용)두 벡터의 내적은 아래 식과 같이 벡터 a, b가 있을 때, 두 벡터 길이(||a||, ||b||)와 코사인 곱으로 구할 수 있습니다. 참고로 벡터 길이는 3차원을 예로 들었을 때 x제곱, y제.. 2024. 4. 23. cmd 관리자 모드에서 콘솔명령어 입력 c++ 아래코드는 cmd를 관리자 모드로 실행해서e:ai\stable 경로를 옮긴 후 bat 파일을 실행하는 예제입니다. #include #include using namespace std;int main(){ SHELLEXECUTEINFO info = { sizeof(SHELLEXECUTEINFO) }; //관리자권한, 관리자 권한 필요없으면 NULL info.lpVerb = TEXT("runas"); info.lpFile = TEXT("cmd.exe"); // /c는 cmd 닫는 명령 info.lpParameters = TEXT("/k cd /e e:\\ai\\stable & webui-user.bat"); //실행할 프로세스 info.nShow = SW_SHOW; ShellExecuteEx.. 2024. 4. 22. Stable Diffusion webui 설치 방법과 error code 128 Stable Diffusion의사용 권장사항은 NVIDIA 그래픽에 gpu 램 6기가입니다. NVIDIA 그래픽 카드가 아니면 Stable Diffusion이 불안정하게 돌아가지 않을까 생각합니다. Stable Diffusion webui 설치 단계는 아래와 같습니다. 1. python 설치 2. Git 설치 3. stable-diffusion-webui.git 설치 4. webui-user.bat 실행 1. python 설치 아래 주소로 가서 파이선 다운 받은 후 설치를 합니다. https://www.python.org/downloads/release/python-3106/Windows installer(64-bit)를 다운 받은후 실행합니다. 실행 후 옵션에서 Add Python 3.10 to PA.. 2024. 4. 22. 내적을 이용한 특징점 계산 내적은 아래 글을 통해서 두 벡터가 얼마나 비슷한 방향인가를 알 수 있고, 정사영 개념을 이용해서 벡터나 점을 투영 할 수 있다고 하였습니다. 2024.03.12 - [3D Algorithm] - 벡터 내적 외적 계산 공식과 결과 의미 벡터 내적 외적 계산 공식과 결과 의미3차원 공간의 벡터 A = (x1, x2, x3), B = (y1, y2, y3) 가 있을 때, 내적(Inner product, Dot product)은 A⋅B = x1*y1 + x2*y2 + x3*y3 으로 계산할 수 있습니다. 코사인을 이용한 내적 계산 방식은 X의 길이와 Y의 길이 곱darkrock.tistory.com2023.10.30 - [3D Algorithm] - 벡터 내적 활용(개발자 관점) 벡터 내적 활용(개발자 관점).. 2024. 4. 9. 선형 방정식을 이용한 직선 삼각형 교차점 계산 이전글에서 벡터의 내적과 외적을 이용해서 직선 삼각형 교차점을 계산했었습니다. 2024.03.21 - [3D Algorithm] - 직선 삼각형 교차점 계산(Ray Triangle Intersection) 직선 삼각형 교차점 계산(Ray Triangle Intersection)tn: triangle normal rd: ray direction p: hit point ro: ray origin v0, v1, v2: triangle vertex 위 그림에서 ray origin으로부터 ray direction의 최단거리 t는 t = ((v0 - ro) • tn) / (rd • tn) •는 내적 로 구할 수 있습니다. t가darkrock.tistory.com 이번글에서는 선형방정식을 이용해서 직선 삼각형 교차점.. 2024. 4. 2. 이전 1 2 3 4 5 6 7 ··· 10 다음 반응형