반응형
쉽게 설명해 놓은 A스타 알고리즘.

시뮬레이팅 할때 최단거리가 필요하진 않지만, 인천대에서 이 알고리즘을 통해 시뮬레이팅 프로그램을 작성한 논문을 보고, 한번더 공부하게 되었던 A* 알고리즘!


 

당신이 쉽게 A* 알고리즘을 이해할 때, 이 A*알고리즘은 초보자에게는 복잡하게 느껴질수도 있습니다. A*알고리즘을 해석한 논설들이 웹상에 많이 존재합니다. 그러나 그 글들의 대부분은 이미 기본적인 것을 이해한 사람들을 위해 쓰여진 글들이지만. 그와 달리 이 글은 진정 초보자들을 위한 것입니다.

 

이 논설은 A* 길찾기 알고리즘의 주제를 완벽히 보여주도록 노력하지는 않습니다. 그보다는 당신이 앞으로 관련된 다른 좀더 구체적인 글들을 읽고 이해하는데 필요한 A*길찾기 알고리즘의 원리와 기본적인 것들을 설명하고 있습니다. 나중에 여러분들이 읽을수 있도록 최고의 몇몇 웹사이트 링크를 마지막 부분에 제공합니다.

 

마지막으로, 이 논설은 어느한쪽으로 특유화된 프로그램이 아닙니다. 나는 이 논설의 마지막 부분에 C++과 Blitz Basic 두가지 버전의 샘플프로그램 패키지의 링크를 넣어 놓았지만 당신은 어떤 컴퓨터 언어로든 A*알고리즘을 적용하는 것이 가능할 것입니다.

샘플프로그램에는 당신이 A*가 동작하는 것을 볼수있도록 실행파일도 포함시켜 놓았습니다.

AStar.zip

 

자~ 처음부터 시작해 보자... 우리스스로 헤처나가 보자 ~Let's Go(^^b)

도입: 범위 찾기(The Search Area)

자~ 가정해 보자 누군가가 A지점에서 B지점으로 가기를 원한다. 그리고 벽이 이 두 지점을 분리시켜놓고 있다. 이것에 대한 그림이 아래에 있다. 녹색은 출발지점A, 빨간 것은 도착지점B, 그리고 파란색으로 채워진 사각형은 양쪽사이에 있는 벽이다.

 


 

먼저 알수 있는 것은 우리의 검색지역이 사각형 격자들(Grid) 로 나누어져 있다는 것이다. 우리는 이 단순화된 검색지역 사용한다. 우리가 첫 단계로 할 것은 길 찾기이다(당근이쥐!). (격자들로 지역을 단순화시킨) 이런 특별한 방법은 우리의 검색지역을 단순한 2차원배열로 만들어준다. 각각의 아이템(시작지점,도착지점,벽,길 등등)은 사각형 격자위에 하나의 2차원배열로 묘사된다. 그리고 이것은 ‘갈수 있는곳’, ‘갈수없는곳‘ 이런식으로 상태가 기록된다. 우리가 A에서 B로 갈 수 있는 길은 어떠한 사각형들의 모양으로 나타난다. 사각형의 중앙에서 다음 사각형의 중앙으로의 이동을 목표에 도착할때까지 하면서 길이 찾아진다.

 

이 중심점들을 노드 라고 부른다. 당신이 다른곳에서 길찾기에 대해 들을때, 사람들이 노드에 대해 토론하는 것을 종종 볼수 있을것이다(그런사람 없는데ㅡㅡ;). 왜 그것들을 사각형으로 사용하지 않지?(사각형을 사용하지 않는 사람들도 있나보다.) 왜냐하면 사각형보다 좀더 다른 것으로 검색지역을 나누는 것이 가능하기 때문이지. 그들은 직사각형, 육각형 또는 어떤모양이든 할수 있어~, 진짜루-. 그리고 노드는 그 형태 안에서 중심, 외각선사이 또는 다른 어디이든 위치할수 있어. 우리는 이 방식을 사용할거야 왜냐면 이것이 가장 단순한 방식이니까!(사각형을 쓰는것이? 아니면 A*길찾기 방식이? 이 방식이란 뭘 말하는것일까^^)

 

다음의 순서들을 실행 하므로써 우리는 길 찾기를 한다.

 

1. 지점A로부터 충분히 검토된 사각형을 열린목록(open list)에 추가한다. 열린목록은 쇼핑목록과 비슷하다. 지금은 목록상에 아이템이 하나이지만 나중에 좀더 갖게 될 것이다. 이것은 당신이 갖기를 원하는 길을  따라 저장 할 수도 있다. 그러나 그럴 수는 없다. 기본적으로 이사각형들의 목록은 검사가 필요하기 때문이다.

 

2. 시작점 근처에 붙어있고 지나갈 수 있는 모든 사각형들을 보아라. 벽, 물 또는 다른 잘못된 지역들은 무시해라. 그리고 그것들(정상적인 사각형) 역시 열린목록에 추가해라. 각각의 그 사각형들에게 지점A를 저장하라 ‘부모사각형’이라고~. 이 ‘부모사각형’은 우리의 길을 거슬러 올러갈 때 아주 중요하다. 좀더 후에 이것에 대해 확실하게 알게 될 것이다.

 

3. 시작사각형 A를 열린목록에서 빼고, 이것을 다시는 볼 필요가 없는 사각형들의 목록인 닫힌목록(closed list)에 추가해라

 

이 시점에서, 당신은 다음과 같은 그림을 얻을수 있다. 이 그림에서 중심에 어두운 녹색 사각형은 출발사각형이다. 이것은 밝은파란 외곽선으로 되어있고 이것은 닫힌목록에 추가되었음을 의미한다. 그리고 인접한 모든 사각형들은 검사되어진후 열린목록에 들어가 있다. 그리고 그것들은 밝은녹색 외곽으로 되어있다. 각각은 회색의 포인터를 가지고 있고 이것은 부모사각형인 시작점을 가리키고 있다.

 

 

다음으로, 우리는 열린목록에 있는 인접한 사각형중에 하나를 선택하고 앞에서 했던 처리를 아래에 설명된 방법으로 반복한다.  좀더 많이 할 수도 있고 덜 할 수도 있다. 그런데 어떤 사각형을 선택해야 할까? 그것은 바로 가장 작은 F비용을 가진 것을 선택한다.

(F비용이 무엇 일까요?? ^^ 아래를 보면 알게 된다구요.~)

 길 기록(Path Scoring)

길을 찾아내야 할 때 사용할 사각형을 선택하는 방법은 바로 다음 방정식이다.

F = G + H

 

G, H 요것들이 무엇이냐 하 믄~

? G = 출발점 A로부터 얻어진 새로운 사각형까지의 이동비용이다. 길을 찾아가면서 생성되게 된다.

? H = 얻어진 사각형으로부터 최종목적지점 B까지의 예상이동비용이다. 이것은 매번 조회될때마다 발견된다. 이것은 좀 당황스러울수 있다. 왜냐면 예상이동비용라고 불리듯이 이값은 추측이기 때문이다. 우리는 완전한 길을 찾을때까지 정확한 거리를 알수 없다. 왜냐하면 모든성격의 것들(물,벽,기타등등 갈수없는사각형)이 길위에 있기 때문이다. 당신은 H를 계산하는 한가지 방법을 연습을 통해 알게 될것이다. 그리고 H를 계산하는 방법은 웹상에 다른 많은 방법이 존재한다.

 

우리의 길은 열린목록과 F비용이 작은 사각형을 선택하는것의 반복을 통해서 얻어진다. 이 반복처리는 앞으로 이 논술 안에서 좀더 자세히 설명 될 것이다. 일단 우리가 어떻게 이 방정식을 계산하는지 세심히 보자.

 

위에 설명된 것처럼, G는 출발점으로부터 길을 만들기 위해 얻게 되는 사각형으로 이동하는데 드는 이동비용이다. 이 예제에서 우리는 세로 또는 가로로 이동하는데 각각 10의 비용을 할당 할 것이다 그리고 대각선이동에 대해서는 14의비용을 할당 할 것이다. 우리는 이 숫자들을 사용할것이다. 왜냐하면 대각선으로 이동하는 비용은 2의 루트이고 또는 대충 가로또는 세로로 이동하는거의 1.414배이기 때문이다. 단순하게 하기위해 우리는 10과 14를 사용한다. 비율은 거의 맞다. 그러므로써 우리는 루트 계산과 10진법을 피한다. 이것은 우리가 벙어리이거나 수학을 싫어하기 때문이 아니다. 그와 같은 숫자들을 사용하는 것은 컴퓨터에서도 역시 매우 빠르기 때문이다. 그것들과 같이 단순화 시킨 숫자들을 사용하지 않는다면 길찾기가 매우 느려진다는 것을 당신은 금방 알게 될 것이다.

 

우리는 얻어지는 사각형의 일정한 길을 따라 G 비용을 계산하기 때문에, 사각형의 G비용을 알아내는 방법은 그 부모로부터 G비용을 가져와서 부모로부터 직각으로 움직였냐 대각선으로 움직였냐에 따라서 10또는 14를 추가해 주는것이다. 이 방법이 좀더 명확하게 되도록 하기위해서 이 예제상에서 좀더 멀리까지 해볼 필요가 있다. 그래서 우리는 시작점으로부터 떨어져 있는 하나 이상의 사각형을 얻는다.

 

H 는 길들의 변화 안에서 어림잡아 예측될 수 있다. 우리가 사용하는 이 방법을 맨하탄방식(Manhattan method)이라고 부른다. 당신은 현재사각형에서 목표사각형에 도달하기 까지의 대각선이동을 제외한 가로 또는 세로로 이동한 총숫자를 계산할수 있다. 그리고 거기에 10을 곱한다. 이것이 바로 맨하탄방식인데 이것은 도시에 한쪽에서 다른 한쪽까지의 블록을 계산하는것과 같은 방식이기 때문이다. 여기서 당신은 대각선으로 블록을 가로질러 자를수는 없다. 중요하게도, H비용을 계산할 때 우리는 어떤 끼여드는 방해물도 무시한다. H비용은 단지 남은거리에 대한 어림잡은 추측일 뿐이다. 진짜 거리가 아니다. 또한 발견적방식이라고 불리는 이유이기도하다. 좀더 알기를 원하는가? 당신은 발견적방식상의 방정식들과 추가적인 사항들을 여기(http://www.policyalmanac.org/games/heuristics.htm)에서 발견할수 있을 것이다.

 

G 와 H를 더하므로써 F 가 계산된다.우리의 검색의 첫단계의 결과를 아래 그림에서 볼수있다. F,G,H 비용이 각각의 사각형에 표시되어 있다. 시작사각형에 오른쪽에 있는 사각형안에 표시된것처럼, F는 좌상단에, G는 좌하단에, 그리고 H는 우하단에 표시되어 있다.


그럼, 저 사각형들을 살펴보자. 글자와 같이 있는 사각형을 보면, G비용이 10이다. 이것은 시작 사각형으로부터 수평방향으로 위치한 사각형이기 때문이다. 즉, 시작사각형으로부터 위, 아래, 왼쪽, 오른쪽에 있는 모든사각형들은 모두 똑같이 G비용이 10이다. 대각선으로 위치한 사각형들은 14의 G비용을 갖는다.

그리서 보다 몇몇의 그 사각형들을. 사각형 안에 그것들 안에있는 문자안에, G=10, 이것은 왜냐면 이것은 단지 한 사각형이다. 출발사각형으로부터의 가로 방향. 사각형들은 즉시 상하 하지 않는다. 그리고 왼쪽으로의 출발사각으로부터 것드은 모두 똑같이 갖는다 G점수가 10을. 대각선 사각형은 G점수가 14를 갖는다.

 

H 비용은 맨하탄 방식으로 빨간 목적지 사각형까지의 거리를 추측하여 계산된다. 가로, 세로 방향으로만 움직이고 길위에 있는 장애물들은 그냥 무시된다. 이 방식대로 한번 해보자, 시작사각형에 오른쪽에 있는 사각형은 목표사각형으로부터 3개의 사각형만큼의 거리에 있으므로 H비용은 30이다. 이사각형에 위에 있는 사각형은 4개의 사각형만큼 떨어져 있으므로 H비용이 40이다(가로,세로 로만 움직인다는 것을 명심해라). 이제 당신도 다른 사각형들의 H비용을 어떻게 계산해야 할지 느낌이 올것이다.

 

이제 F비용은 단순히 H 와 G 값을 더하면 되는것이다.

 

찾기 계속하기(Continuing the Search)

계속 찾기를 해 나가기위해서 우리는 단순히 열린목록에 있는 사각형들 중에서 가장 작은 F비용을 가지고 있는 사각형을 선택하고 그 선택된 사각형으로 다음의 과정을 하면 된다.

 

4. 이것을 열림목록에서 빼고 단힌목록에 추가한다.

5. 인접한 모든 사각형을 검사해서 닫힌목록에 있거나 갈수없는것(벽,물,그밖에 장애물)들을 제외하고 나머지중에서 열린목록에 들어가 있지 않은것들을 열린목록에 추가한다. 선택되었던 사각형을 새로운 사각형들의 부모로 만든다.(선택되었던 사각형이란 4.에서 단힌목록에 추가된 그 사각형을 말한다. 새로운 사각형이란 5.에서 열린목록에 새롭게 추가된 사각형을 말한다.)

6. 만약 인접한 사각형중에 이미 열린목록에 있는 사각형이 있다면 이사각형으로 가는길이 더 좋은 길인지 확인해 봐라. 다시 말하면, 우리가 현재 선택된 사각형보다 G비용이 더 작은지를 검사해 봐라. 만약 아니라면 아무것도 할 필요가 없다. 그러나 새로운 길이 G비용이 더 작다면 선택되었던 사각형의 인접사각형들의 부모를 새로운 사각형으로 바꿔라(위쪽 그림에서 보면, 선택된 사각형으로 향하는 포인터들의 방향을 바꾸는 것을 말한다.). 마지막으로, 그 사각형의 F와 G를 다시 계산해라. 이것이 좀 복잡하게 느껴진다면, 아래 그림을 보아라.

좋았어~, 이제 이작업들을 직접해보자. 최초에 9개의 사각형중에 우리는 시작사각형을 닫힌목록에 넣은후 열린목록에 8개의 사각형을 가지고 있다. 이들중에서 F비용이 가장작은 것은 시작사각형에 오른쪽에 있는 사각형 하나이다. 이사각형은 다음 그림에서 파란색 안에 강조되어 있다.(사실 뭐 강조되어 있지는 않다. 그냥 하늘색 외곽선에 쌓여 있을뿐^^)


제일 먼저 할 것은, 이것을 열린목록에서 빼는것이다.. 그리고 닫힌목록에 넣는다. (이것이 바로 지금 저 사각형이 파란색 외관선으로 강조된 이유이다). 그리고 우리는 인접한 사각형들을 검사한다. 오른쪽에 있는 사각형은 벽이다. 그래서 이것들은 무시한다. 왼쪽에 있는 것은 시작사각형이고 이것은 닫힌목록에 있다. 그래서 이것역시 무시한다.

 

다른 4 개의 사각형들은 이미 열린목록에 있다. 그래서 우리는 그것들을 이용한 길 중에 현재 이사각형을 이용하는 것 보다 좋은 것이 있는지 G비용을 이용한 검사가 필요한다. 우상단의 사각형을 보자. 이것의 G비용은 14이다. 만약 우리가 선택된 사각형을 거쳐서 그곳으로 이동한다고 하면 G비용은 20과 같을것이다(현재사각형이 G비용이 10이고 이것에서 수직으로 위쪽으로 한번 이동하였으므로 10을 더한다.). G비용 20은 14보다 크다. 그래서 이것은 좋은 길이 아니다. 그림을 보면 좀더 알기쉬울것이다. 단순히 시작사각형에서 대각선으로 1번 움직이는 것이 가로로 한번 세로로 한번 이렇게 움직이는거 보다 더 직접적이다.

 

우리가 열린목록상에 이미 있는 4 개의 인접한 사각형에 대한 처리를 할때, 현재의 사각형으로는 더 이상 길을 개선할 수 없다는 것을 알게 된다. 그래서 우리는 아무것도 변경하지 않고 이제는 인접한 사각형들에 주목하자. 이제 우리는 이것을 가지고 처리 할 것이고, 다음 사각형으로 이동할 준비를 할 것이다.

 

그럼 열린목록에 있는 사각형은 7 개로 줄었다. 그중에 가장 작은 F비용을 가지고 있는 것을 하나 고르자. 흥미롭게도 이 경우 두개의 사각형이 54의 F비용을 가지고 있다. 어떤 것을 사용할까? 이건 사실 별로 중요한 문제는 아니다. 속도상의 목적으로는 둘중 열린목록에 더 늦게 추가된 것을 선택하는 것이 속도상 빠르다. 이것은 그냥 단지 하나의 성향인데 당신이 목표에 다가갈 때 검색상에서 더 늦게 발견된 사각형들을 선호하는 검색성향일 뿐이다. (각각 다른 두개의 A* 버전을 만들더라도 길이가 같은 각각 두개의 길을 찾게 될 것이기 때문에 F점수가 둘 다 같더라도 서로 다르게 처리해도 상관없다.)

 

그래서, 우리는 그냥 단지 아래쪽에 있는 것을 선택하자, 그리고 다음 그림에 보여지는 시작사각형의 오른편을 보자

 

이제, 우리는 인접한 사각형들을 검사할 때 바로 오른쪽에 사각형이 벽이라는 것을 발견하게 된다. 그래서 우리는 이것을 무시한다. 그 바로위도 똑같이 벽이기 때문에 이것도 역시 무시한다. 그리고 우리는 벽 바로 아래 사각형도 무시한다. 왜그럴까? 왜냐하면 당신은 벽의 모서리 부분을 자르지 않고는 그 사각형으로 바로 갈수가 없기 때문이다.(뽀쪽한게 막구있잖아요~). 당신은 일단 밑으로 내려가서 그다음 그사각형을 거쳐서 지나간다. 이 처리에서는 이렇게 코너를 돌아서 이동한다. (노트: 코너를 자르는 규칙은 옵션이다. 당신의 노드를 어떻게 위치시키느냐에 따라서 사용된다.)

 

이렇게 5 개의 사각형이 계산에서 빠진다. 현재사각형 아래에 있는 2개의 사각형은 열린목록에 없는것이다. 그래서 우리는 이것들을 추가한다. 그리고 현재 사각형은 이것들의 부모가 된다. 다른 3개의 사각형중 2개는 이미 닫힌목록(시작사각형과 현재사각형위에있는 사각형, 둘다 파란색 외관선안에 있다)상에 있다. 그래서 우리는 이것들을 무시한다. 그리고 바로 왼쪽에 있는 마지막 사각형은 현재사각형을 통해서 가는것보다 G비용이 적은지 검사를 해보자. 아니군~, 그래서 이제 다 했고 열린목록에서 다음으로 이동할 사각형을 검사해보자

 

우리는 목표사각형을 열린목록에 추가 할때까지 이 처리를 계속 반복한다. 이것에 대해 정리된 그림을 아래에서 볼수 있다.

 

시작사각형으로부터 2 개의 사각형만큼 밑에 있는 사각형의 부모사각형이 이전 그림에서 변경되었다는 것을 주목하라. 전에 이것은 G비용이 28이었고 오른쪽위에 사각형을 가리키고 있었다. 지금은 G비용은 20이고 위쪽 사각형을 가리키고 있다. 이 일은 우리가 길찾기를 처리해 나가면서 어디선가에서 일어난 것이다. 어딘가에서 G비용을 검사했고 여기서 더 비용이 적게드는 길을 찾아냈다 그러므로써 부모가 바뀌것이고 G, F비용이 다시 계산되어진것이다. 이변화가 일어나는 동안에 예제에서 아주 중요하다고 보이는 것은 없는 것 같다.

가능성이 많은 장소들에서 이 검사는 목표지점으로 가는 가장 좋은 길을 찾아가면서 모든 것들을 다르게 만들것이다.(모든것들이란~ 더 빨리 갈 수 있는 곳을 말하는듯~-_- 그러니까 좀더 좋은 길은 G,F 값이 전하고 다른게 바뀐다. 이런 뜻인 것 같다.)

 

그래 그러면 이제 어떻게 최종적인 진짜 길을 찾아내지? 단순히, 단지 빨간 목표지점에서 시작해서 화살표를 따라서 부모사각형으로 한걸음씩 거슬러 올라가면 된다. 이렇게하면 결국 시작사각형까지 되돌아 가게된다. 그리고 그것이 당신의 최종적인 길이다. 이것은 다음의 그림에서 볼수있다. 시작지점 A에서 목표지점 B까지 이동하는 것은 단순히 길을 따라있는 각각의 사각형의 중심(노드)에서 다음사각형의 중심으로 이동하면 된다. 당신이 목표지점에 도달할때까지~ 쉽지~ㅋ

 

 

 A* 방식의 요약(Summary of the A* Method)

좋다. 지금시점에서 이제 당신은 설명을 통해서 했던 것 들은 까먹었을 것이다. 차례차례 이 A* 방식을 여기에서 정리해보자.

 

1. 시작사각형을 열린목록에서 넣는다.

2. 다음의 과정들을 반복한다.

a) 열린목록에서 가장 낮은 F 비용을 찾는다. 그리고 우리는 이것을 현재사각형으로 선택한다.

b) 이것을 닫힌목록으로 바꾼다.

c) 현재 사각형에 인접한 8 개의 사각형에 대해?

● 만약 인접한사각형이 갈수없는 것 이거나 그것이 닫힌목록상에 있다면 이것은 무시한다. 그렇지 않은것은 다음을 계속한다.

● 만약이것이 열린목록에 있지 않다면, 이것을 열린목록에 추가한다. 이사각형의 부모를 현재 사각형으로 만든다. 사각형의 F,G,H 비용을 기록한다.

●  만약 이것이 이미 열린목록에 있다면, 사각형 G비용을 이용하여 이사각형이 더 나은가 알아본다. 그것의 G비용이 더 작으면 그것이 더 나은 길이라는 것을 의미한다. 만약 그렇다면, 부모 사각형을 그 (G비용이 더 작은)사각형으로 바꾸어라, 그리고 그 사각형의 G,F비용을 다시 계산해라. 만약 당신이 당신의 열린목록을 F비용으로 정렬하고 있다면 바뀐것에 따라서 열린목록을 다시 정렬해야한다.

d) 그만할 때

● 길을 찾다는 중 목표사각형을 열린목록에 추가하였을때,

● 열린목록이 비어있게 될 경우 이때는 목표사각형을 찾는데 실패한것인데 이 경우 길이 없는경우다.

반응형
반응형

정리는 나중에 노트보면서~!?

대피층이 왜 필요한지,
고층빌딩에서 대피층이 필요한 이유,
외국의 경우 대피층을 어떻게 정의 하고 있는지


공간의 가시성
터널엣올
공간분석이론 VGA의 확장
피난시간계산방법

출처  네이버 FDS 포럼 카페
반응형
반응형

관련사이트

http://fseg.gre.ac.uk/exodus/exodus_products.html
●EXODUS/SMARTFIRE 피난 해석 소프트웨어

●프로그램 개요
EXODUS는 영국 Greenwich 대학 화재 안전 공학 그룹(FSEG)에서 연구 개발된 피난 해석 시뮬레이션 소프트웨어입니다. 포럼에이트에서는 이하의 3제품에 대해서 2006년 12월에 판매・서포트를 개시하였습니다.
・buildingEXODUS 건축 환경을 위한 피난 모델
・maritimeEXODUS 해양 환경을 위한 피난 모델
・SMARTFIRE 화재 모델링의 SMART CFD 시스템



 ■ building EXODUS

buildingEXODUS는 비상시・일반시의 사람들의 움직임・행동을 평가하는 컴퓨터 베이스의 실험실입니다. 사람과 사람, 사람과 화재, 사람과 구조물의 상호 작용을 시뮬레이션 하는 것은 물론, 열, 연기, 유독가스등의 영향을 받아 실내에서 피난하는 각 개인의 경로를 추적합니다.
FSEG는 연구・컨설팅 활동을 통해서 인간 행동을 예측하는 계산 화재 공학(CFE) 툴의 개발・적용에 임하고 있어 시뮬레이션을 컨트롤 하기 위해서 규칙 기반의 소프트웨어 기술을 사용하고 있습니다. 더욱 유연성을 갖기 위해서 이러한 규칙들은 피난자, 움직임, 행동, 유독성의 행동 모델로써 알려진 5개의 상호 작용 서브 모델로 분류되어 실내 형상으로 정의된 공간 영역에서 동작합니다. 내부적으로 형상은 절점의 메쉬에 커버되고 원호 시스템으로 링크됩니다. 각 절점은 한명에 의해서 일반적으로 점유되는 공간 영역을 표현합니다.

●buildingEXODUS 가 사용된 유명한 프로젝트
・ Dusseldolf 공항 재개발
・ 골든 피라미드 프라자 이집트
・ 2nd Avenue Subway확장(뉴욕)
・ 샌프란시스코 지하철
・ 런던 밀레니엄 돔
・ 시드니 올림픽 스터디움 ・ 911WTC (세계 무역 센터)
  


●buildingEXODUS 의 적용사례

▲시가지 팝 콘서트

 ▲고층 건물 피난(911WTC)



▲하역의 순환


 
 ▲철도역 밀집 시뮬레이션

●buildingEXODUS 의 기능과 특징
・ vrEXODUS 포스트부 VR 애니메이션 툴
・ 사용하기 쉽다/고속 처리/표준 PC 가 필요
・ 대화형 런타임 2D 그래픽에 의한 점유자의 조사가 가능
・ 2D 그래픽은 개개의 점유자/인구밀도/연기와 온도 분포의 표시 가능
・ 일괄 처리에 의한 복수 해석을 신속히 실행
・ 일반시 출구와 비상시 출구를 구별하고 점유자 친밀성에 따라 출구 이용을 할당하는 기능
・ 각 점유자의 밀집으로 소비되는 시간을 정합니다.
・ 절점・선의 조사에 의해 구조물 내에서 기록되는 임의 지점에 있어서 유동 통계치를 구하는 것이 가능
・ FED 모델로 결정한 유독성 계산이 가능
・ 자극성 화재 가스에 대한 점유자의 반응을 구할 수가 있습니다.
・ 복수 해석에 의한 대용량 출력 파일의 해석을 지원하기 위해서 설계된 툴 「askEXODUS」 을 이용 가능
・ 순회 기능에 의한 태스크의 할당이 가능
・ 표식의 가시화에 의한 관할 구역 결정
・ 밀집상태에 근거하는 출구 선택이 가능
・ 일반시 순환 어플리케이션에 대해서 신지물(e.g. 소스 절점)의 범위를 설정
・ CFAST 화재 시뮬레이션 이력 파일의 열기가 가능
・ SMARTFIRE CFD 화재 시뮬레이션 파일의 열기가 가능





▲SMARTFIRE 에서 예측되는 연소와 buildingEXODUS 시뮬레이션의 표시
(VR 이미지는 vrEXODUS 에 의한 연기 확산에 의해 기어가는 점유자를 나타내는 피난 시뮬레이션 결과)



▲방과 통로부의 자동 탐지 및 공간 그래프 생성


▲EXODUS VR 엔진





 ■ maritime EXODUS

maritimeEXODUS 는 비상시・일반시의 승객과 선원의 움직임・행동을 평가하는 컴퓨터 기반의 실험실입니다. 이 모델은 지정 집합장소에 모여 배를 떠나가는 순번을 기다리는 승객의 경로를 추적합니다. 화재의 영향을 받는 승객을 상정하여 승객이 열, 연기, 유독가스등의 영향을 벗어날 수 있을까 예측합니다. 또한 순항속도에 있어서 트림 힐의 영향도 평가하고 침몰 단계를 시뮬레이트 합니다.
세계 최대의 선박 시뮬레이터 SHEBA 로 생성된 인간 성능 데이터를 이용합니다. 이것은 복도, 오르막 계단, 60도 계단, 트림 힐 역각에서의 연직은 연직 사다리를 이동하는 인간 성능, 수밀성비・승강구의 개폐를 포함합니다. 최근에는 연기를 포함한 동적 경사 상태에서의 인간 성능을 포함하도록 확장되었습니다.

●maritimeEXODUS 의 적용사례
maritimeEXODUS 는 영국, 네덜란드, 이탈리아, 한국, 캐나다에 있어서 롤 온・롤 오프・페리나 관광선등의 대형여객선, HSC, 프리게이트함이나 항공모함등의 해군함정, 템즈강의 배나 페리등의 대형선박의 해석이나 인근 연안 산업으로써는 석유 플랫폼의 피난 해석에 사용되었습니다.
2002년의 선박 안전을 위한 RINA/LR 상과 선박 조작의 IT 혁명을 위한 CITIS 상 등의 해운산업으로써 최고로 높은 상을 몇 개정도 수상하여 유명해져 UK MOD 에 의한 「군함의 피난 설계 지도・평가 개발에 MOD 가 가장 필요로 하는 피난 툴」로써 승인되었습니다. EXODUS 패밀리의 하나인 BCS prize 2001, Queen's Anniversary Award 2002, European IST prize 2004 를 통해서 영예를 안을 수 있었습니다.

●maritimeEXODUS 의 기능과 특징
・ IMO MSC 1033 (집합 시뮬레이션)에 전면 준거
・ 순항 속도에 대한 트림 힐, 구명구 착용의 영향, 구명구 검색
・ 일방통행 기능, 소화 활동등의 선원・승객 행동 표시의 기능
・ 화재, 연기, 열, 유독가스의 삽입 기능, 연기와 배의 기울기 결합(EU/FIRE-EXIT)
・ 침몰 단계 시뮬레이트 기능, 승선등의 비피난 행동의 시뮬레이트 기능
・ 사다리, 승강구, 수밀비, 60도 계단의 편성
・ CFD 화재 시뮬레이션 소프트웨어와의 직접 연결(EU/Fire-Exit)





▲대형여객선에 있어서 승객의 집합 시간 예측 사례




 ■ SMARTFIRE

SMARTFIRE 는 다른 화재 시뮬레이션 CFD 소프트웨어와 달리, 화재 공학으로 사용되는 화재 시뮬레이션 툴로써 명확하게 설계 개발되어 FSEG 의 20 년 이상의 CFD 화재 모델링 경험에 기초를 둔 화재 시뮬레이션 소프트웨어입니다. 또한 화재 공학자에게 고속 화재 시뮬레이션 해석이 가능한 탁상 화재 실험실을 탁상 화재 실험실을 제공하고 화재 공학자가 설계에 집중할 수 있도록 하는 등 많은 독자 기능을 가지고 있습니다.

●SMARTFIRE 의 조요한 소프트웨어 컴포넌트
전 처리 툴
시나리오 설계자는 SMARTFIRE 시스템에 2D CAD 도면을 간단하게 임포트 할 수 있습니다. GUI와 자동 메쉬 툴로 복잡한 모델링 시나리오의 작성을 가능하게 합니다. 패키지 소프트웨어 EXODUS 에 링크하는 것도 가능합니다.

CFD 엔진
2D 단면가시화, 대화형 3D 데이터 가시화, 그래프 표시로 완전 대화형 컨트롤이나 결과 모니터링이 가능합니다.

후 처리 툴
CFD 엔진 혹은 데이터 뷰어로 이용할 수 있는 버추얼 리얼리티(VR)형 그래픽에 대한 실행이 가능합니다. 데이터 뷰어에 의해서 고객에게 프리젠테이션으로 사용하는 VR형 그래픽이나 애니메이션을 간단하게 작성할 수 있습니다.


●SMARTFIRE 의 기능과 특징
・ 복잡한 형상을 고속 모델화 하는 CAD 인터페이스
・ 화재 해석에 대한 자동 메쉬 생성
・ 물리・수치 파라미터의 고속 설정이나 해석 경과의 대화형 그래피컬 모니터링을 가능하게 하는 GUI
・ 극적으로 계산 시간을 단축하는 병렬 계산 기능
・ EXODUS 로의 반 자동 링크
・ 해석결과로의 고속 액세스를 가능하게 하는 강력한 후 처리 가시화 환경
・ 3개의 방사 모델의 선택 ・ 가스 연소 모델


▲SMARTFIRE 시각화 환경

▲스프링클러・물안개의 모델화 기능


▲완전 비구조 메쉬 기능

●SMARTFIREの適用事例


▲사고 조사(캐나다에서의 스위스 항공기 추락)




▼신 항공기 개념의 설계와 테스트




■EXODUS & SMARTFIRE 영어판:릴리스 중, 일본어판 릴리스 예정일:2월말
  FSEG(그리니치 대학 화재 안전 공학 그룹) URL:http://fseg.gre.ac.uk

(Up&Coming '07 신춘특별호 게재)


FORUM8
반응형
반응형
http://www.petrostudies.com/pscmain.htm

사이트 직접가서 참조하는게 더빠를듯.

반응형
반응형





탈출하는 부분이 잘 표현 되어있다.
특히 3D로 자연스럽게 표현하였음.

모델로 사용한 것은
In his 1987 paper, Flocks, Herds, and Schools: A distributed Behavioral Model, Craig Reynolds introduced the concept of steering behaviors He showed that by combining three behaviors (collision avoidance, velocity matching, and flock centering) it was possible to efficiently simulate the movement of a flock of birds in real time - a feat that was otherwise computationally unmanageable.

워킹 스피드 값도 조절가능함


문의 위치를 입력 해야함

Quickly sketch geometry ->도면을 스캔한 이미지를 불러와서
쉽게 다시 도면파일로 그려줄수 있게 하였음.
특정 선택한 대피자들을 특정한 문으로 탈출할수 있도록 고려함

복층건물에서도 계단을 통해 대피하는 시뮬레이션 을 제공함
Number of occupant in seleted room 같은 도표를 제공함으로써
방에서 사람들이 얼마나 점거하고있는지 한눈에 보이게 하였다.

Flow rates for seleted doors
->view door flow rate, original or averaged
간단한 리뷰.끝

더 참고하거나 다운로드시 아래의 사이트를 방문하세요.
http://www.thunderheadeng.com/pathfinder/index.html

 




 

반응형
반응형

http://www.smoothware.com/danny/mirrorsmirrormov.html
DANIEL ROZIN INTERACTIVE ART | Works | Bio | Contact
 
  Mechanical Mirrors:
The mechanical mirrors are made of various materials but share the same behavior and interaction; any person standing in front of one of these pieces is instantly reflected on its surface. The mechanical mirrors all have video cameras, motors and computers on board and produce a soothing sound as the viewer interacts with them.
 
 

Mirrors Mirror - 2008
768 mirror tiles,768 motors, video camera, control electronics.
Size 90 inches H, 70 inches W, 6 Inches D
Mirrors Mirror creates the viewers' image by directing 768 small mirror tiles in a way that reflects different portions of their image. The piece is made of 24 columns of "pixels" that form a concaved curved surface that is aimed at the viewer. Brighter pixels reflect the upper body of the viewer and the wall behind him and dark ones are aimed lower. So the environment is important as it affects the reflection. The viewing experience is quite private as the resulting image can be seen only by the reflected person. This piece also includes an algorithmic animation feature that is triggered every time a person leaves the piece.

Mirrors Mirror at Taubman Museum

Detail of Mirrors Mirror

Video of Mirrors Mirror
(Click to view)



처음엔 이러한 종류의 IA를 보면 신기해 하였는데..
지금은 그닥 신기해 보이진 않는다.

가운데 캠으로 사람을 인식

사물->캠->사진파일 변환->분석(이미지를 이진화 시키려나..)->임베디드 시스템과의 통신

대충 이런식으로 갈꺼 같다.
반응형
반응형


http://www.sester.net/index.html

http://www.accessproject.net/

사람을 위치를 쫒아 spotlight를 비쳐주는 IA


생각은 쓰지않고 현상을 지켜보다.
반응형
반응형
안녕하세요 Orange_Flavor 입니다.
기다리고 기다리던 저의 엘범이 발매되었습니다.(저만 기다렸을까요...-_-)

제가 그동안 여러번 공연하면서 불렀던 곡들중 3곡을 추려서 미니엘범으로 발매하였습니다.

M.O에 대한 프로필도 덧붙여 적어봅니다.

http://music.cyworld.com/album.asp?aid=15058179
위에 주소로 가시면 싸이월드 배경음악으로 등록할수도 있구요.
(많이들 구매해주시면 걈사감샤^0^)



엘범은 아래의 사이트에서 음원서비스를 시작합니다.
아래의 사이트에서 '엠오' 또는 M.O를 검색하시면 듣고 구매까지 가능해요^^


<엘범리뷰>

그들의 도전은 끝이아니다. “달려달려~!!”

 

대학가요제를 목표로 하여 만든 달려달려라는 곡을 타이틀곡으로 이번달려달려엘범을 발매하게 되었다. 오랜 기간동안 작업하여 얻어진 곡으로써 M.O에게 남다른 애착심이 있는 이 곡은 Orange 자신의 이야기를 가사로 담았다. 구슬픈 가사임에도 불구하고 달려달려 라는 중독적인 문구를 통하여 힘들어도 그녀에게 달려간다는 메시지를 담고 있다. 더 나아가 경기침체로 힘들어 하는 사람들 까지도 열심히 달려보자 라는 메시지까지 주고 싶다는게 엠오의 바램이다!
  M.O에 음악은 힙합을 기반으로 곡들을 제작하는데, 많은 이들이 따라 부르기 쉽고 듣기 편한 대중적인 음악을 한다. 이들의 음악에는 20대에 겪어왔던 사랑, 삶의 고뇌 등을 담은 가사를 보면서 많은 사람들이 공감하게 만든다. 그들이 앞으로 내놓을 음악에 대한 행보는 발전의 발전을 거듭하면서 많은 이들의 호응을 자아내고 있는 M.O의 활동에 귀추해본다.

 


 

M.O의 첫번째 Digital Single.
총 세곡으로 구성되어 있으며 20대의 삶, 이별 그리고 우리의 의지에 대한 메시지를 담고있다

어른아이
'아무런 준비가 되지 않았는데 우리에겐 벌써 어른이라는 굴레가 씌워졌다.' 라는 주제로 이야기를 담고 있다. 실제 20대 중반을 지나고 있는 M.O멤버들 각각의 이야기를 담은 곡으로서 20대를 살고 있는 이들에게 많은 공감을 자아낼 수 있을 것 이다.

달려달려
본 앨범의 타이틀 곡으로 2008대학가요제에 출전했다가 아쉽게 2차 예선에서 탈락한 곡 이다.
오랜 기간동안 작업하여 얻어진 곡으로써 M.O에게 남다른 애착심이 있는 이 곡은 Orange Flavor 자신의 이야기를 가사로 담았다. 달려달려 라는 반복적인 문구를 통하여 많은이들이 호응하기 쉽게 구성되어있다. 힘든일이 있더라도 포기하지 말고 앞만보고 달려가자는 내용을 통해 현재 경기침체로 인한 청년들에게 희망이 되었으면 하는 메시지도 담긴 곡이다.

Show must go on
이 시대를 살아가는 청년들이라면 모두들 자신의 꿈을 위해 지금 이 순간도 열심히 노력하고 있을 것이며, 언젠가는 그 노력대한 보상을 받게 될 것이다. 이처럼 스팟 라이트를 받으며 인생이란 무대위에 당당히 서게 될 우리들의 모습을 생각하며 만든 노래가 바로 Show must go on이다.




 

반응형

+ Recent posts