본문 바로가기
반응형

분류 전체보기99

Mesh Subdivision Subdivision 기능은 Mesh의 Polygon들을 더 작게 세분화하여 표현하는 기법이라고 보면 됩니다. 아래 그림을 보면 Subdivision을 통해 왼쪽 Sphere가 오른쪽 형상으로 변형되었습니다.Subdivision을 수행하면 vertex, edge, triangle이 증가하기 때문에 형상 파일 용량이 결과적으로 늘어나게 됩니다. OpenMesh에서 Subdivision을 수행하기 위해서는 아래 header를 include 한 후#include  아래와 같이 코드를 작성해 주면 간단히 Subdivision을 할 수 있습니다.아래코드는 sphere.stl을 읽어 Subdivision 진행 후 output.stl로 저장하는 코드 입니다.typedef OpenMesh::PolyMesh_ArrayK.. 2023. 9. 18.
Mesh Smooth Mesh Smooth는 Mesh의 형상을 부드럽게 바꿔주는 기능을 합니다.아래 그림을 보면 왼쪽에 보이는 울퉁불퉁한 Sphere를 오른쪽 형상같이 좀 더 부드럽게 형상을 변형시켜 준다고 보면 됩니다.  이 기능도 OpenMesh를 이용하면 간단히 구현이 가능합니다.먼저 Smooth 함수를 call 할 수 있는 헤더를 include 해주고#include  아래와 같이 코드를 작성하면 된다. 아래코드는 sphere.stl 파일을 읽어서 smooth를 처리한 후 sphere_smooth_output.stl로 저장하는 코드입니다.typedef OpenMesh::PolyMesh_ArrayKernelT MyMesh;using namespace std;#include void testSmooth(){ MyMesh .. 2023. 9. 14.
아이폰 노래 mp3 넣기(아이튠즈 없이 네이버 My Box이용) 네이버 My Box를 이용해 아이폰에 mp3를 넣는 방법을 소개합니다.PC에서 네이버에 my box를 검색 후 접속해 보면   아래와 같은 화면이 나오는데 음악 폴더를 하나 생성해서 mp3를 저장합니다.(mp3 파일 클릭해서 드레그 앤 드롭하면  클라우드에 저장이 됩니다.)   이제 아이폰 앱 스토어 접속해서 네이버 My Box를 다운 받습니다.다운 받은 후 실행해 보면 클라우드에 있는 폴더들이 보이고 아까 PC에서 생성했던 음악폴더에 들어가 보면 업로드했던 mp3가 보일 것입니다. 그 파일을 클릭 후 내려받기.내려받기를 했다면 이제 mp3가 아이폰에 저장되었고, 저장된 파일을 확인하려면 네이버 My Box 첫 화면에서 우측 상단에 사람모양(아래 빨간 사각형 표시)을 클릭하면 보관함이 나옵니다. 그 보관.. 2023. 9. 14.
모호한 참조 오류 string inputPath = @"D:\Temp\test.txt"string fileName = Path.GetFileName(inputPath); WPF에서 위와 같은 코드를 작성하였는데  "~ 사이에 모호한 참조입니다." 란 메세지가 뜨더군요.웹상에 찾아보니 Path가 System.Windows.Shapes, System.IO에 둘 다 정의되어 있어, 어떤 걸 쓰는지 모호해서 에러 메세지가 뜬 것으로 보입니다.그래서 이 에러 메세지를 해결하려면 Path가 어디에 속한 네임스페이스인지 명시하여 수정하면 됩니다. 아래는 Path에 System.IO를 붙여서 수정한 코드입니다. string inputPath = @"D:\Temp\test.txt"; string fileName = System.IO.Pa.. 2023. 9. 11.
WPF TextBox Drag and Drop(텍스트박스에 파일경로 표시) 구현한 로직 테스트를 위해 간단한 UI를 만들어볼까 해서 WPF를 잠깐 시간 내서 보고 있는데  엄청난 기능을 쉽게 구현할수 있게 해 줘서 WPF에 매일 감탄하고 있습니다. ㅎㅎ아래는 임의의 파일을 textbox에 drag and drop 해서 파일경로를 표시하는 방법입니다. visual stduio 2017로 wpf 프로젝트 생성 후 도구 상자를 이용해서textbox를 생성하면 xaml에서 다음과 같이 나오는데, 여기에 아래와같이 x:Name="textBox" AllowDrop="True" PreviewDragOver="textBoxPreviewDragOver" Drop="textBoxDrop" 을 추가해 줍니다. 이제 cs 파일에서 2개의 함수 textBoxPreviewDragOver, textBox.. 2023. 9. 7.
윈도우11 블루스크린(DistributedCOM ID 10016) 블루스크린몇일 전부터 컴퓨터를 쓰는데 갑자기 블루스크린이 떠서, 블루투스 오류인가(최근에 블루투스 동글이 구입)하고 블루투스 드라이버 삭제하고 동글이 회사에서 제공하는 드라이버 업데이트 해도 블루스크린 발생. 윈도우 다시 설치할 때가 됐는가 보다 하고 윈도우 초기화 진행. 윈도우상에서 초기화 진행하면 옵션 두개가 나오는데 하나는 로컬에서 설치, 다른 하나는 클라우드로 설치가 나옵니다. 로컬에서 설치로 진행. 로컬로 초기화 진행 후 2일 후에 다시 블루 스크린 발생. 이번에는 윈도우 초기화를 클라우드 설치로 진행(웹에서 검색해 보니 로컬은 윈도우 기본 셋팅이 남은 상태에서 초기화 되는걸로 보이고, 클라우드 설치는 기본 셋팅까지 전부 날리는 걸로 보이네요).  윈도우 초기화 후에도 블루스크린 뜰 경우 윈도우.. 2023. 9. 6.
Visual Studio 버전 정보 코딩을 하다 보면 사용하는 Visual Studio 버전정보가 필요할 때가 있습니다.아래는 Visual Studio 버전 정보입니다. Visual Studio 97 = Version 5.0Visual Studio 6.0 Visual Studio.Net (2002) = Version 7.0Visual Studio.Net 2003 = Version 7.1Visual Studio 2005 = Version 8.0Visual Studio 2008 = Version 9.0Visual Studio 2010 = Version 10.0Visual Studio 2012 = Version 11.0Visual Studio 2013 = Version 12.0Visual Studio 2015 = Version 14.0Visua.. 2023. 8. 29.
Mesh Decimation(Simplification) Mesh Decimation은 3D 데이터의 점이나 면의 갯수를 줄여주는 기능입니다.아래 그림은 Decimation을 통해 왼쪽 sphere가 오른쪽 sphere 형태로 변형된 이미지이다. 삼각형 갯수가 많이 줄어든 것을 볼 수 있습니다.  Decimation 기능을 하나하나 구현하는 것은 쉽지 않지만, OpenMesh를 이용하면 쉽게 Decimation기능을 이용할 수 있습니다.Decimation과 관련된 header 3개를 써주고,#include  #include  #include  아래와 같이 코드를 입력해주면 된다. 아래 코드는 sphere.stl 파일을 읽어 들여 OpenMesh를 이용해 Decimation 진행한 후 mesh_out.stl 파일로 저장하는 코드입니다. #include #incl.. 2023. 8. 18.
OpenMesh 설치 및 Tutorial Example(Visual Studio 2017) OpenMesh 설치는 간단하게 아래 두 가지만 하면 됩니다.- OpenMesh 홈페이지에서 관련파일 다운로드- Visual Studio 프로젝트 셋팅(include, lib) https://www.graphics.rwth-aachen.de/software/openmesh/download/ 여기 사이트로 가서 OpenMesh 관련파일을 받으면 됩니다.  저는 Visual Studio 2017을 사용하고 있어 VS2017 64-bit static으로 받았습니다. OpenMesh 파일을 받아 실행하면 기본 폴더 C:\Program Files\OpenMesh 9.0에 설치가 됩니다. 이 폴더에는 include와 lib가 있는데 이 폴더를 Visual Studio에 연결해 주면 됩니다. Visual Studio.. 2023. 8. 11.
반응형