Click or drag to resize
XDL

Xfn Class

XDL라이브러리에서 사용하는 정적 함수들을 제공한다.
Inheritance Hierarchy
SystemObject
  Pixoneer.NXDLXfn

Namespace:  Pixoneer.NXDL
Assembly:  NXDL (in NXDL.dll) Version: 2.0.3.30
Syntax
C#
public class Xfn

The Xfn type exposes the following members.

Methods
  NameDescription
Public methodStatic memberCode exampleCalArcDistAndAngle
두 위도/경도 점을 입력하여 두점 간의 거리와 방향(첫번재 점으로부터 두번째 점을 잇는 선분에 대한 북쪽으로의 방향)을 계산한다.
Public methodStatic memberCode exampleCalcAzimuthElevationOfTarget
방위각과 고도방위각도를 계산한다.
Public methodStatic memberCalcEulerAngleZYXOfFrame
두 좌표계 간 오일러 회전각을 구한다. 기준 좌표계의 좌표축 vXref, vYref, vZref를 각각 X, Y, Z축이라고 할 때, Z축 기준으로 yaw만큼, 회전된 Y축 기준으로 pitch만큼, 다시 회전된 X축 기준으로 roll만큼 회전하면 최종 회전된 X, Y, Z축이 주어진 좌표계의 X축(vXfrm), Y축(vYfrm), Z축(vZfrm)과 일치하는 오일러 회전각 yaw, pitch, roll을 구한다.
Public methodStatic memberCalcGlobalModelAttitude(XGeoPoint, XAngle, XAngle, XAngle, XAngle, XAngle, XAngle)
로컬 좌표계에서 만든 모델을 지구 타원체 상의 특정 지점에 위치하도록 하는 자세를 구한다. 모델 자체의 회전이 없다면, NED 좌표축에서 N축을 모델 좌표계의 Y축, E축을 X축, D축을 -Z축과 나란히 하는 자세각을 구하여, 모델을 이 자세로 회전하면 모델의 원점 좌표를 주어진 지리 좌표에 두고 모델의 XY 평면이 그 점의 접평면이 되게 하고 Z축이 지상 위로 향하도록 자세를 잡는다. 모델 좌표축에 대한 회전각을 입력하면 주어진 지상점을 원점으로 하고 회전이 반영된 모델 자세를 구한다.
Public methodStatic memberCalcGlobalModelAttitude(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 방향이 되도록 자세를 잡는다. 모델 좌표축에 대한 회전각을 입력하면 주어진 지상점을 원점으로 하고 회전이 반영된 모델 자세를 구한다.
Public methodStatic memberCode exampleCalcGlobalSensorAttitudeInPlatform
지구 타원체 상의 특정 지점에서 지구 중심으로 향하는 축과 직교하는 좌표계(ENU)에 대하여 기체의 회전값 yawPlatform, pitchPlatform, rollPlatform을 입력으로 받아 기체에 장착된 2축 카메라 짐벌 회전을 고려하여 카메라가 지향하는 yaw, pitch, roll값을 계산한다. 즉, 기체의 회전요소와 카메라의 회전요소를 결합하여 특정 지점에서의 카메라의 회전 각도를 계산해 낸다.
Public methodStatic memberCode exampleCalcGlobalSensorAttitudeInPlatformAxis3
지구 타원체 상의 특정 지점에서 지구 중심으로 향하는 축과 직교하는 좌표계(ENU)에 대하여 기체의 회전값 yawPlatform, pitchPlatform, rollPlatform을 입력으로 받아 기체에 장착된 3축 카메라 짐벌 회전을 고려하여 카메라가 지향하는 yaw, pitch, roll값을 계산한다. 즉, 기체의 회전요소와 카메라의 회전요소를 결합하여 특정 지점에서의 카메라의 회전 각도를 계산해 낸다.
Public methodStatic memberCalcGlobalSensorAttitudeInPlatformUAS
UAS LS 표준에 따라 지구 타원체 상의 특정 지점에서 지구 중심으로 향하는 축과 직교하는 좌표계(NED)에서 North 시선 방향인 기체와 센서의 회전각을 입력 받아서 D 방향을 지향하는 센서가 탑재된 N 방향 기준의 센서 자세를 나타내는 yaw, pitch, roll값을 계산한다. 즉, 입력 지점에서 NED 축을 입력된 자세로 회전했을 때 센서의 시선은 N축과 일치하고, 센서의 시선이 D축으로 정렬되는 자세 회전각을 계산한다.
Public methodStatic memberCode exampleCalcPosByBearingAndDist
특정 위도 경도 위치에서 북쪽으로부터 bearing값과 거리에 해당하는 위도, 경도값을 계산한다.
Public methodStatic memberCalcRelativeSensorAttitudeInPlatformUAS
UAS LS 표준에 따라 지구 타원체 상의 특정 지점에서 지구 중심으로 향하는 축과 직교하는 좌표계(NED)에서 North 시선 방향인 기체와 센서의 회전각을 입력 받아서 기체 자세에 상대적인 센서의 자세 회전각을 계산한다.
Public methodStatic memberCode exampleClose
엔진에서 사용중인 메모리 리소스 등을 모두 반환한다. 이 함수는 응용 프로그램이 종료되기 전에 호출 되어야 메모리 leak을 방지할 수 있다. 간혹 응용 프로그램 창이 열려있는 것과 같이 NXDL 외부에서 이벤트 핸들러가 남아있는 경우가 있다. 이런 경우 접근 오류가 발생하므로 입력 플래그를 두어 명시적으로 응용 프로그램의 모든 창을 닫을 수 있도록 한다.
Public methodStatic memberClose(Boolean)
엔진에서 사용중인 메모리 리소스 등을 모두 반환한다. 이 함수는 응용 프로그램이 종료되기 전에 호출 되어야 메모리 leak을 방지할 수 있다. 간혹 응용 프로그램 창이 열려있는 것과 같이 NXDL 외부에서 이벤트 핸들러가 남아있는 경우가 있다. 이런 경우 접근 오류가 발생하므로 입력 플래그를 두어 명시적으로 응용 프로그램의 모든 창을 닫을 수 있도록 한다.
Public methodStatic memberDotProduct
두개의 XVertex3d객체를 이용하여 Dot product를 계산하고 결과값을 Scalar값으로 반환한다.
Public methodStatic memberCode exampleEcrToGeo
ECEF좌표를 위경도 좌표로 변환한다.
Public methodStatic memberELUToYPR
ECEF 공간 상에서 카메라 위치/업 벡터, 대상 위치를 이용하여 카메라의 자세(Yaw, Pitch, roll)을 계산한다.
Public methodStatic memberCode exampleGeoToEcr
위경도 좌표로부터 ECEF좌표로 변환을 수행한다.
Public methodStatic memberGetDataSize
eDataType의 데이터 크기(Byte 수)를 반환한다.
Public methodStatic memberGetDataTypeString
eDataType의 데이터 타입을 String으로 변환하여 반환한다.
Public methodStatic memberGetDocumentPath
Documentation이 존재하는 상위 폴더의 경로를 얻는다.
Public methodStatic memberGetFrameENU
ECEF공간 위치에서 지구 중심에 대한 ENU 방향 벡터를 계산한다.
Public methodStatic memberGetFrameNED
ECEF공간 위치에서 지구 중심에 대한 NED 방향 벡터를 계산한다.
Public methodStatic memberGetModelTransform(XGeoPoint, XAngle, XAngle, XAngle, XVertex3d)
모델의 지리좌표, 자세 회전각과 3차원 배율로부터 모델 좌표를 지리좌표로 변환하는 4x4 변환행렬을 구한다.
Public methodStatic memberGetModelTransform(XVertex3d, XAngle, XAngle, XAngle, XVertex3d)
모델의 ECEF 좌표, 자세 회전각과 3차원 배율로부터 모델 좌표를 지리좌좌표로 변환하는 4x4 변환행렬을 구한다.
Public methodStatic memberCode exampleGetResourcePath
리소스가 존재하는 상위 폴더의 경로를 얻는다.
Public methodStatic memberGetScaleFactor(Double, Double, Double, Double, Double, Double)
입력되는 상수값으로 부터 선형 방정식에 대한 scale factor를 계산한다. Linear equation A = sf0 + sf1 * a; B = sf0 + sf1 * b;
Public methodStatic memberGetScaleFactor(Single, Single, Single, Single, Single, Single)
입력되는 상수값으로 부터 선형 방정식에 대한 scale factor를 계산한다. Linear equation A = sf0 + sf1 * a; B = sf0 + sf1 * b;
Public methodStatic memberGetSensorPointingVector
지구 타원체 상의 특정 지점에서 지구 중심으로 향하는 축과 직교하는 좌표계(ENU)에 대한 각 축의 성분 벡터와 그 좌표계로부터 회전값 yaw, pitch, roll을 적용하여 이루어진 ECEF공간상의 방향 벡터를 계산한다.
Public methodStatic memberCode exampleGetSPTargetOnWGS84ByDist
센서로 부터 거리 d만큼 떨어진 WGS84 타원체 상에 특정 입사각에 해당하는 타겟의 위치를 얻는다.
Public methodStatic memberGetTempPathA
엔진 사용시 임시 파일 저장 필요시 엔진에서 설정된 임시 파일 경로를 얻는다.
Public methodStatic memberIsValidLicense
XDL 라이선스가 유효한지 체크한다.
Public methodStatic memberMergeChannels
XGrid 형식의 데이터를 하나의 BGR 또는 RGB 형식의 XGrid 데이터로 합친다. 입력 데이터는 크기(Column/Row 크기)는 동일해야 하고 1 바이트크기의 동일한 데이터형식이어야 한다.
Public methodStatic memberOmegaPhiKappaToYawPitchRoll
투영 좌표계 원점의 ENU 좌표계를 기준으로 하는 카메라 회전각 omega, phi, kappa에 해당하는 센서 위치의 yaw, pitch, roll을 계산한다.
Public methodStatic memberPolyFit
입력 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
Public methodStatic memberRotateFrame
서로 수직인 세 기저벡터로 주어진 좌표축을 주어진 각도로 순서대로 회전시킨 새 좌표축을 얻는다. 회전 순서는 vAxis1 방향축을 기준으로 ang1 각도로 회전시킨 후, vAxis2 방향축이 회전한 축을 기준으로 ang2 각도만큼 회전시키고, 다시 vAxis3 방향축이 회전한 축을 기준으로 ang3 각도만큼 회전시킨다. 회전각은 오른손 법칙을 따라 부호를 결정한다. (회전축 방향으로 바라볼 때 시계 방향이 양의 방향이다.)
Public methodStatic memberSetConfigPath
XDL라이브러리에서 사용하는 Configuration에 대한 파일 경로를 설정하여 Configuration을 초기화한다.
Public methodStatic memberSplitChannel
BGR 또는 RGB 형식의 XGrid 데이터를 각각의 요소로 분리하여 XGrid로 생성한다.
Public methodStatic memberSVD
Singular Value Decomposition
Public methodStatic memberYawPitchRollToOmegaPhiKappa
센서 자세를 투영 좌표계 원점의 ENU 좌표계를 기준으로 하는 카메라 회전각 omega, phi, kappa로 변환한다.
Public methodStatic memberYPRToELU
ECEF 공간 상에서 카메라 위치/자세(Yaw, Pitch, roll), 대상과의 거리를 입력하여 대상위치(LookAt) 및 Up 벡터를 계산한다.
Top
See Also