static double COORD_CAM_ANGLE_deg = 1.38;
public static void Main()
double COORD_CAM_ANGLE_rad = COORD_CAM_ANGLE_deg * Math.PI / 180.0d;
double focus_distance = 0.1895d;
double refference_radius = 0.03d;
double ref_y = -0.02651d;
double ref_Rx_rad = 0.0340d;
double ref_Ry_rad = 0.0000d;
double ref_Rz_rad = 0.0230d;
Point3d O = new Point3d(0, 0, 0);
Point3d O_cam = new Point3d();
double Xrand_on_cam_x = 1.0d;
double Xrand_on_cam_y = Xrand_on_cam_x * Math.Tan(COORD_CAM_ANGLE_rad);
double[] Xrand_on_cam = new double[] {Xrand_on_cam_x, Xrand_on_cam_y, 0.0d};
double XYrand_on_cam_x = 2.0d;
double XYrand_on_cam_y = 2.0d;
double[] XYrand_on_cam = new double[] {XYrand_on_cam_x, XYrand_on_cam_y, 0.0d};
Coord3d coord_cam = new Coord3d( O, Xrand_on_cam, XYrand_on_cam, "Cam coordinate");
Console.WriteLine(coord_cam);
Point3d One_on_cam = new Point3d(1,0,0,coord_cam);
Console.WriteLine(One_on_cam);
Console.WriteLine("[ " + One_on_cam.X + ", " + One_on_cam.Y + ", " + One_on_cam.Z + " ]" );
Console.WriteLine(Coord3d.GlobalCS);
Console.WriteLine("Hello World");