'Or........../Work'에 해당되는 글 12건

  1. Flight Simulator : HUD - LCOSS 2009.08.27
  2. Line - Line Intersect 2009.08.27

Lead Computing Optical Sight System

도담에 와서 시작한 작업이다.

기존 군에서 사용하고 있던 F5E-CPT 의 IG (3D 엔진이라고 생각하면 됀다. 시뮬레이터에선 Image Genertor로 불리고 있다) 를 우리가 개발한 IG로 교체하는 작업이였다. 그러면서 추가적으로 LCOSS라는 부분이 필요하게 되었다. LCOSS는 F5E의 레이더의 한 부분으로 각 모드 (미사일, 건, 도그파이트)에 따라 LCOSS심볼이 작동하는것이다.

- 이 작업을 하면서 엄청나게 빡셌다. 전투기에 대한 지식이 없어서 막 헤맸다. 게다가 기존의 LCOSS는 OpenGVS (퀀텀 3D의 visual API)로 돼어있어서 어떻게 동작하는 분석 조차 힘들었다. 또한 코드가 다 하드코딩 돼어있어서 애먹었다. 하여튼 열심히 야근한 결과 납품 완료 !! (11월 납품 : 공군)

 

 

참고 사이트 : http://dodaam.com/product/Fixed_Wing/F5eCPT.html

'Or.......... > Work' 카테고리의 다른 글

Scene Graph Rendering  (0) 2009.08.27
kd-tree Introduction  (0) 2009.08.27
Grass Rendering  (0) 2009.08.27
Water Rendering  (0) 2009.08.27
Line - Line Intersect  (0) 2009.08.27
,

Line - Line Intersect

from Or........../Work 2009. 8. 27. 14:50

2D Line - Line Intersect

IntersectLineLine(D3DXVECTOR3 Line1Start, D3DXVECTOR3 Line1End, D3DXVECTOR3 Line2Start, D3DXVECTOR3 Line2End)

{

  float A1, B1, C1, A2, B2, C2, M1, M2, DetInv;

  if ((Line1End.x - Line1Start.x) != 0)
   M1 = (Line1End.y - Line1Start.y) / (Line1End.x - Line1Start.x);
  else
   FALSE;

  if ((Line2End.x - Line2Start.x) != 0)
   M2 = (Line2End.y - Line2Start.y) / (Line2End.x - Line2Start.x);
  else
   FALSE;

  // Compute constants
  A1 = M1;
  A2 = M2;

  B1 = -1;
  B2 = -1;

  C1 = (Line1Start.y - M1 * Line1Start.x);
  C2 = (Line2Start.y - M2 * Line2Start.x);

  // Compute the inverse of the determinate
  DetInv = 1 / (A1 * B2 - A2 * B1);

  // Use Kramers rule to compute Intersect Point
  float IntersectX, IntersectY;
  IntersectX = (B1 * C2 - B2 * C1) * DetInv;
  IntersectY = (A2 * C1 - A1 * C2) * DetInv;

  return TRUE;

} // end Intersect_Lines

'Or.......... > Work' 카테고리의 다른 글

Scene Graph Rendering  (0) 2009.08.27
kd-tree Introduction  (0) 2009.08.27
Grass Rendering  (0) 2009.08.27
Water Rendering  (0) 2009.08.27
Flight Simulator : HUD - LCOSS  (0) 2009.08.27
,