![]() |
Xfn Methods |
The Xfn type exposes the following members.
Name | Description | |
---|---|---|
![]() ![]() ![]() |
CalArcDistAndAngle | 두 위도/경도 점을 입력하여 두점 간의 거리와 방향(첫번재 점으로부터 두번째 점을 잇는 선분에 대한 북쪽으로의 방향)을 계산한다. |
![]() ![]() ![]() |
CalcAzimuthElevationOfTarget | 방위각과 고도방위각도를 계산한다. |
![]() ![]() |
CalcEulerAngleZYXOfFrame | 두 좌표계 간 오일러 회전각을 구한다. 기준 좌표계의 좌표축 vXref, vYref, vZref를 각각 X, Y, Z축이라고 할 때, Z축 기준으로 yaw만큼, 회전된 Y축 기준으로 pitch만큼, 다시 회전된 X축 기준으로 roll만큼 회전하면 최종 회전된 X, Y, Z축이 주어진 좌표계의 X축(vXfrm), Y축(vYfrm), Z축(vZfrm)과 일치하는 오일러 회전각 yaw, pitch, roll을 구한다. |
![]() ![]() |
CalcGlobalModelAttitude(XGeoPoint, XAngle, XAngle, XAngle, XAngle, XAngle, XAngle) | 로컬 좌표계에서 만든 모델을 지구 타원체 상의 특정 지점에 위치하도록 하는 자세를 구한다. 모델 자체의 회전이 없다면, NED 좌표축에서 N축을 모델 좌표계의 Y축, E축을 X축, D축을 -Z축과 나란히 하는 자세각을 구하여, 모델을 이 자세로 회전하면 모델의 원점 좌표를 주어진 지리 좌표에 두고 모델의 XY 평면이 그 점의 접평면이 되게 하고 Z축이 지상 위로 향하도록 자세를 잡는다. 모델 좌표축에 대한 회전각을 입력하면 주어진 지상점을 원점으로 하고 회전이 반영된 모델 자세를 구한다. |
![]() ![]() |
CalcGlobalModelAttitude(XGeoPoint, XVertex3d, XAngle, XAngle, XAngle, XAngle, XAngle, XAngle) | 로컬 (UTM 또는 모델 고유) 좌표계에서 만든 모델을 지구 타원체 상의 특정 지점에 위치하도록 하는 자세를 구한다. UTM과 같은 투영 좌표계에서 모델 좌표계와 NED 좌표계의 정렬 상태가 다를 수 있으므로 ECEF 상에서 모델 회전의 기준이 되는 N 방향 벡터를 입력으로 제공한다. UTM 좌표로 된 모델인 경우, N 벡터는 UTM Y 좌표가 증가하는 방향의 벡터를 좌표변환을 통해 구할 수 있다. Z축을 지상에서 고도 방향으로 증가하므로 지상점의 기본 U(-D) 방향 벡터이고, E 벡터는 N, D 벡터의 외적으로 결정된다. 모델 자체의 회전이 없다면, N축을 모델 좌표계의 Y축, E축을 X축, D축을 -Z축과 나란히 하는 자세각을 구하여, 모델을 이 자세로 회전하면 모델의 원점 좌표를 주어진 지리 좌표에 두고 모델의 XY 평면이 그 점에서 NE 평면이 되게 하고 Z축이 -D 방향이 되도록 자세를 잡는다. 모델 좌표축에 대한 회전각을 입력하면 주어진 지상점을 원점으로 하고 회전이 반영된 모델 자세를 구한다. |
![]() ![]() ![]() |
CalcGlobalSensorAttitudeInPlatform | 지구 타원체 상의 특정 지점에서 지구 중심으로 향하는 축과 직교하는 좌표계(ENU)에 대하여 기체의 회전값 yawPlatform, pitchPlatform, rollPlatform을 입력으로 받아 기체에 장착된 2축 카메라 짐벌 회전을 고려하여 카메라가 지향하는 yaw, pitch, roll값을 계산한다. 즉, 기체의 회전요소와 카메라의 회전요소를 결합하여 특정 지점에서의 카메라의 회전 각도를 계산해 낸다. |
![]() ![]() ![]() |
CalcGlobalSensorAttitudeInPlatformAxis3 | 지구 타원체 상의 특정 지점에서 지구 중심으로 향하는 축과 직교하는 좌표계(ENU)에 대하여 기체의 회전값 yawPlatform, pitchPlatform, rollPlatform을 입력으로 받아 기체에 장착된 3축 카메라 짐벌 회전을 고려하여 카메라가 지향하는 yaw, pitch, roll값을 계산한다. 즉, 기체의 회전요소와 카메라의 회전요소를 결합하여 특정 지점에서의 카메라의 회전 각도를 계산해 낸다. |
![]() ![]() |
CalcGlobalSensorAttitudeInPlatformUAS | UAS LS 표준에 따라 지구 타원체 상의 특정 지점에서 지구 중심으로 향하는 축과 직교하는 좌표계(NED)에서 North 시선 방향인 기체와 센서의 회전각을 입력 받아서 D 방향을 지향하는 센서가 탑재된 N 방향 기준의 센서 자세를 나타내는 yaw, pitch, roll값을 계산한다. 즉, 입력 지점에서 NED 축을 입력된 자세로 회전했을 때 센서의 시선은 N축과 일치하고, 센서의 시선이 D축으로 정렬되는 자세 회전각을 계산한다. |
![]() ![]() ![]() |
CalcPosByBearingAndDist | 특정 위도 경도 위치에서 북쪽으로부터 bearing값과 거리에 해당하는 위도, 경도값을 계산한다. |
![]() ![]() |
CalcRelativeSensorAttitudeInPlatformUAS | UAS LS 표준에 따라 지구 타원체 상의 특정 지점에서 지구 중심으로 향하는 축과 직교하는 좌표계(NED)에서 North 시선 방향인 기체와 센서의 회전각을 입력 받아서 기체 자세에 상대적인 센서의 자세 회전각을 계산한다. |
![]() ![]() ![]() |
Close | 엔진에서 사용중인 메모리 리소스 등을 모두 반환한다. 이 함수는 응용 프로그램이 종료되기 전에 호출 되어야 메모리 leak을 방지할 수 있다. 간혹 응용 프로그램 창이 열려있는 것과 같이 NXDL 외부에서 이벤트 핸들러가 남아있는 경우가 있다. 이런 경우 접근 오류가 발생하므로 입력 플래그를 두어 명시적으로 응용 프로그램의 모든 창을 닫을 수 있도록 한다. |
![]() ![]() |
Close(Boolean) | 엔진에서 사용중인 메모리 리소스 등을 모두 반환한다. 이 함수는 응용 프로그램이 종료되기 전에 호출 되어야 메모리 leak을 방지할 수 있다. 간혹 응용 프로그램 창이 열려있는 것과 같이 NXDL 외부에서 이벤트 핸들러가 남아있는 경우가 있다. 이런 경우 접근 오류가 발생하므로 입력 플래그를 두어 명시적으로 응용 프로그램의 모든 창을 닫을 수 있도록 한다. |
![]() ![]() |
DotProduct | 두개의 XVertex3d객체를 이용하여 Dot product를 계산하고 결과값을 Scalar값으로 반환한다. |
![]() ![]() ![]() |
EcrToGeo | ECEF좌표를 위경도 좌표로 변환한다. |
![]() ![]() |
ELUToYPR | ECEF 공간 상에서 카메라 위치/업 벡터, 대상 위치를 이용하여 카메라의 자세(Yaw, Pitch, roll)을 계산한다. |
![]() ![]() ![]() |
GeoToEcr | 위경도 좌표로부터 ECEF좌표로 변환을 수행한다. |
![]() ![]() |
GetDataSize | eDataType의 데이터 크기(Byte 수)를 반환한다. |
![]() ![]() |
GetDataTypeString | eDataType의 데이터 타입을 String으로 변환하여 반환한다. |
![]() ![]() |
GetDocumentPath | Documentation이 존재하는 상위 폴더의 경로를 얻는다. |
![]() ![]() |
GetFrameENU | ECEF공간 위치에서 지구 중심에 대한 ENU 방향 벡터를 계산한다. |
![]() ![]() |
GetFrameNED | ECEF공간 위치에서 지구 중심에 대한 NED 방향 벡터를 계산한다. |
![]() ![]() |
GetModelTransform(XGeoPoint, XAngle, XAngle, XAngle, XVertex3d) | 모델의 지리좌표, 자세 회전각과 3차원 배율로부터 모델 좌표를 지리좌표로 변환하는 4x4 변환행렬을 구한다. |
![]() ![]() |
GetModelTransform(XVertex3d, XAngle, XAngle, XAngle, XVertex3d) | 모델의 ECEF 좌표, 자세 회전각과 3차원 배율로부터 모델 좌표를 지리좌좌표로 변환하는 4x4 변환행렬을 구한다. |
![]() ![]() ![]() |
GetResourcePath | 리소스가 존재하는 상위 폴더의 경로를 얻는다. |
![]() ![]() |
GetScaleFactor(Double, Double, Double, Double, Double, Double) | 입력되는 상수값으로 부터 선형 방정식에 대한 scale factor를 계산한다. Linear equation A = sf0 + sf1 * a; B = sf0 + sf1 * b; |
![]() ![]() |
GetScaleFactor(Single, Single, Single, Single, Single, Single) | 입력되는 상수값으로 부터 선형 방정식에 대한 scale factor를 계산한다. Linear equation A = sf0 + sf1 * a; B = sf0 + sf1 * b; |
![]() ![]() |
GetSensorPointingVector | 지구 타원체 상의 특정 지점에서 지구 중심으로 향하는 축과 직교하는 좌표계(ENU)에 대한 각 축의 성분 벡터와 그 좌표계로부터 회전값 yaw, pitch, roll을 적용하여 이루어진 ECEF공간상의 방향 벡터를 계산한다. 위성 등의 움직입을 고려할 때, Z축 성분은 지구 중심, Y축 성분은 속도의 반대 방향, X축 성분은 YxZ 방향을 가진다. |
![]() ![]() ![]() |
GetSPTargetOnWGS84ByDist | 센서로 부터 거리 dist만큼 떨어진 WGS84 타원체 상에 특정 입사각에 해당하는 타겟의 위치를 얻는다. |
![]() ![]() |
GetTempPathA | 엔진 사용시 임시 파일 저장 필요시 엔진에서 설정된 임시 파일 경로를 얻는다. |
![]() ![]() |
IntersectLineAndEarth | ECEF 좌표계에서 두 점(PosS, PosE)을 연장하는 직선이 지구(WGS84)와 만나는 점을 구한다. |
![]() ![]() |
IntersectLookAndEarth | ECEF 좌표계에서 한 점(Pos)와 Look 방향으로 진행하는 직선을 연장하였을 때, 이 직선이 지구(WGS84)와 만나는 점을 구한다. |
![]() ![]() |
IsValidLicense | XDL 라이선스가 유효한지 체크한다. |
![]() ![]() |
MergeChannels | XGrid 형식의 데이터를 하나의 BGR 또는 RGB 형식의 XGrid 데이터로 합친다. 입력 데이터는 크기(Column/Row 크기)는 동일해야 하고 1 바이트크기의 동일한 데이터형식이어야 한다. |
![]() ![]() |
OmegaPhiKappaToYawPitchRoll | 투영 좌표계 원점의 ENU 좌표계를 기준으로 하는 카메라 회전각 omega, phi, kappa에 해당하는 센서 위치의 yaw, pitch, roll을 계산한다. |
![]() ![]() |
PolyFit |
입력 x에 대한 y값을 계산하는 y = f(x)에 대하여, 함수 f()를 사용자가 설정한 차수(degree)의 다항함수로 추정하여 그 계수를 제공한다. 최소제곱법(least square approximation)을 사용. degree = 3 일 때 Xfn.PolyFit(x, y, 3, coeff); 3차 다항식 : y = a + b*x + c*x^2 + d*x^3 계수 : coeff[0] = a, coeff[1] = b, coeff[2] = c, coeff[3] = d |
![]() ![]() |
RotateFrame | 서로 수직인 세 기저벡터로 주어진 좌표축을 주어진 각도로 순서대로 회전시킨 새 좌표축을 얻는다. 회전 순서는 vAxis1 방향축을 기준으로 ang1 각도로 회전시킨 후, vAxis2 방향축이 회전한 축을 기준으로 ang2 각도만큼 회전시키고, 다시 vAxis3 방향축이 회전한 축을 기준으로 ang3 각도만큼 회전시킨다. 회전각은 오른손 법칙을 따라 부호를 결정한다. (회전축 방향으로 바라볼 때 시계 방향이 양의 방향이다.) |
![]() ![]() |
SetConfigPath | XDL라이브러리에서 사용하는 Configuration에 대한 파일 경로를 설정하여 Configuration을 초기화한다. |
![]() ![]() |
SplitChannel | BGR 또는 RGB 형식의 XGrid 데이터를 각각의 요소로 분리하여 XGrid로 생성한다. |
![]() ![]() |
SVD | Singular Value Decomposition |
![]() ![]() |
YawPitchRollToOmegaPhiKappa | 센서 자세를 투영 좌표계 원점의 ENU 좌표계를 기준으로 하는 카메라 회전각 omega, phi, kappa로 변환한다. |
![]() ![]() |
YPRToELU | ECEF 공간 상에서 카메라 위치/자세(Yaw, Pitch, roll), 대상과의 거리를 입력하여 대상위치(LookAt) 및 Up 벡터를 계산한다. |