대충 위키보고 짜고 성능은 나중에 생각하지 머..

국문위키에서 공식대로 따라가야 하는데

순서를 바꾸거나 생략할 수 있는 묘안이 없으려나?


$ ./a.out

alpha : 43.2

beta : 78.1

dist : 10

MC : 8.27144 


$ cat tri.c

#include <iostream>
#include <math.h>

using namespace std;

const double PI = 3.1415926535;

double SIN(double val)
{
        return sin(PI * val / 180.0);
}

double COS(double val)
{
        return cos(PI * val / 180.0);
}

int main(int argc, char** argv)
{
double alpha; // servo angle (left)
double beta; // servo angle (right)
double gamma = 0.0;
double AB; // distance of eye(10cm)
double AC = 0.0;
double BC = 0.0;
double RC = 0.0;
double MR = 0.0;
double MC = 0.0; // result

//alpha = 54;
//beta = 54;
//AB = 10;//

cout << "alpha : ";
cin >> alpha;
cout << "beta : ";
cin >> beta;
cout << "dist : ";
cin >> AB;

gamma = 180 - (alpha + beta);
AC = AB * SIN(beta) / SIN(gamma);
BC = AB * SIN(beta) / SIN(gamma);
RC =  AC * SIN(alpha);

MR = (AB / 2) - (BC * COS(beta));
MC = sqrt((MR * MR) + (RC * RC));

cout << "MC : " << MC << endl;
}


[링크 : https://en.wikipedia.org/wiki/Triangulation]

[링크 : http://linux.die.net/man/3/sin] 항상 그렇지만.. 라디안 값

[링크 : http://enter.tistory.com/60]

'이론 관련 > 사진 광학 관련' 카테고리의 다른 글

포칼 리듀서 / 스피드 부스터  (0) 2016.04.26
안구 해부도?  (0) 2015.11.01
카메라의 원리  (0) 2015.09.09
스테레오 카메라 - 에피폴라 제한조건  (0) 2015.08.25
샤프니스 계산  (0) 2015.05.28
Posted by 구차니