시뮬레이션을 하다보면, 노드의 위치정보를 사용해야하는 경우가 종종 발생한다. 특히, 무선망이나 이동성을 시험하는 경우에는 필수적이다. OPNET에서 노드의 위치정보를 획득할 수 있는 수단은 두가지이다.
1. op_ima_obj_pos_get(site_objid, lat_ptr, long_ptr, alt_ptr, x_ptr, y_ptr, z_ptr) 함수를 통해 지구중심좌표계(geocentric coordinate system) 상의 값을 구하는 방법.
2. op_ima_obj_attr_get_dbl(objid, attr_name, value_ptr) 함수를 통해 "x position"과 "y position" 값, 즉 평면상에서의 2D 좌표를 구하는 방법.
2번 방안의 경우 화면상의 표시와 쉽게 매칭되기 때문에, 이해하기 쉽다. 하지만, x/y 좌표를 구하기 위해서는 함수를 2번 호출해야한다는 번거로움(?)이 있다. 1번 방안의 경우 한번의 호출로 모든 좌표정보를 알아낼 수 있으며, 좀 더 멋있어(?) 보인다는 장점도 있다.
그런데, 1번 방안을 통해 알아낸 좌표값을 사용할 경우, latitude / longitude / altitude는 표현 자체가 완전히 다르므로 헷갈릴 일이 없지만, 뒷 부분의 x/y/z 좌표값을 혼동의 여지가 있으므로 사용에 주의할 필요가 있는데 여기에서 말하는 x/y/z 좌표값은 지표면을 기준으로 하는 값이 아니라는 점이다. 즉, 1번 방안을 통해 알아낸 x/y 좌표값과, 2번 방안을 통해 알아낸 x/y 좌표값은 서로 완전히 다른다. 그러므로, 사용하고자 하는 목적에 따라 두 방법 중 적절한 방법을 선택해서 사용해야만 한다.
일반적으로 1번 방안은 특정 서브네트워크에 대해서 지구상에서의 위치를 파악할 때 사용되고, 2번 방안은 서브네트워크안에서 노드들 사이의 (우리가 흔히 생각하는) 거리를 계산할 때 사용된다. 두 방안의 x/y 좌표값을 혼동해서 사용할 경우, 예상치 못한 엉뚱한 결과가 나올 수도 있으므로 주의할 필요가 있다.
'Riverbed Modeler(OPNET) > HowTo' 카테고리의 다른 글
OPNET, 윈도우즈 2000에 대한 지원 중단 (0) | 2010.11.01 |
---|---|
Visual Studio 2008을 위한 환경 변수 설정 (0) | 2010.10.02 |
결과 그래프 모습의 차이 - Values per statistic (0) | 2010.08.08 |
허브간의 연결 (0) | 2010.07.27 |
Proto-C란? (0) | 2010.06.07 |