본문 바로가기

분류 전체보기

(102)
[C++] Hello World! 출력 프로젝트를 생성한 후, 빈 cpp파일에 아래와 같이 입력한다. 소스코드 #include int main() { std::cout
[C++] 프로젝트 생성 먼저, Visual Studio를 실행시킨 후 아래와 같이 프로젝트를 생성한다. 1. 파일 - 새로 만들기 - 프로젝트 2. Visual C++ - Windows 데스크톱 마법사 - 프로젝트 이름, 경로 입력 후 확인(Windows 콘솔 응용 프로그램 클릭 시 빈 프로젝트, 미리 컴파일된 헤더 등 설정을 하지 않고 바로 프로젝트가 생성됨) 3. 빈 프로젝트 체크, SDL 검사 체크 해제 후 확인(SDL 검사를 체크하게 되면, 보안에 문제가 되는 함수들을 사용하였을 때 경고가 아닌 오류로 처리되어 컴파일이 불가함.ex. printf 사용 시 오류 발생, printf_s 를 사용해야 함) 4. 소스파일 폴더 오른쪽 클릭 - 추가 - 새항목 5. C++ 파일 선택 후 파일명 입력 6. 빈 파일 생성
[Algorithm] Breadth-first search (너비 우선 탐색) 너비 우선 탐색(Breadth-first search, BFS)은 맹목적 탐색방법의 하나로 시작 정점을 방문한 후 시작 정점에 인접한 모든 정점들을 우선 방문하는 방법이다. 더 이상 방문하지 않은 정점이 없을 때까지 방문하지 않은 모든 정점들에 대해서도 넓이 우선 검색을 적용한다. OPEN List 는 큐를 사용해야만 레벨 순서대로 접근이 가능하다. 출처 : 위키백과https://ko.wikipedia.org/wiki/%EB%84%88%EB%B9%84_%EC%9A%B0%EC%84%A0_%ED%83%90%EC%83%89 예) ① 1을 방문하며 큐에 넣는다. ② 큐에 있는 숫자를 빼, 그 숫자와 인접한 노드들을 차례로 방문하며 큐에 넣는다.(1을 빼며, 1과 인접한 2, 3을 차례로 큐에 넣는다.) ③ 큐에..
[Algorithm] Floyd-Warshall Algorithm (플로이드-워셜 알고리즘) 플로이드-워셜 알고리즘(Floyd-Warshall Algorithm)은 그래프에서 모든 꼭짓점 사이의 최단 경로의 거리를 구하는 알고리즘이다. 음수 가중치를 갖는 간선도 순환만 없다면 잘 처리된다. 제일 바깥쪽 반복문은 거쳐가는 꼭짓점이고, 두 번째 반복문은 출발하는 꼭짓점, 세 번째 반복문은 도착하는 꼭짓점이다. 이 알고리즘은 플로이드 알고리즘이라고도 알려져 있다. 출처 : 위키백과 https://ko.wikipedia.org/wiki/%ED%94%8C%EB%A1%9C%EC%9D%B4%EB%93%9C-%EC%9B%8C%EC%85%9C_%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98 모든 정점들 사이의 최단거리를 구하는 알고리즘이므로, 시간이 많이 소요된다는 단점이 있다. 예) 초기 배..
[Revit API] Element, ElementType 앞에서 구분한 Family들은, API를 사용할 때도 차이점이 있다. 기본적인 클래스부터 하나씩 살펴보면, Element Revit에서 최상위 클래스이다. Revit 프로젝트의 모든 데이터들은 Element 클래스로 정의될 수 있다. 보통 데이터를 가져와 사용하는 경우, Element로 받아 형변환하여 사용한다. ElementType (Revit의 Type Properties창) ElementType은 Type Properties창에 나타나는 Type부분을 의미한다. Type Parameters 값들을 이용해 각 타입의 사이즈 등을 변경할 수 있다. 형변환하여 사용하고자 하는 경우 System Family같은 경우, WallType, FloorType과 같은 타입 클래스가 정의되어 있지만 Componen..
[Revit API] 기초: Family Revit 프로젝트는 여러 Family의 구성으로 이루어져 있다. Family의 종류마다 Instance를 생성하는 방식이 다르므로, 구별하는 법도 중요하다. Family (Revit의 Project Browser 일부) Revit에서 Family는 크게 System Family와 Component Family 두가지로 구분된다. - Component Family 독립적인 파일로 존재할 수 있는 패밀리이다. 사용자가 직접 패밀리를 수정, 작성할 수 있다. - System Family Revit 내부에서 기본적으로 제공되는 패밀리이다. (지붕, 벽, 천장, 바닥 등이 있다.) Component Family와는 달리, 사용자가 직접 패밀리를 수정, 작성할 수 없다. 기본적으로 제공되는 타입을 복제하여 파라미..