#include "tables.h" struct vecinfo vectab[] = { {15.9688, 0.0, 0.9981, 86.4237}, {15.8764, 0.0, 1.9846, 82.8750}, {15.7260, 0.0, 2.9486, 79.3803}, {15.5223, 0.0, 3.8806, 75.9638}, {15.2717, 0.0, 4.7724, 72.6460}, {14.9813, 0.0, 5.6180, 69.4440}, {14.6585, 0.0, 6.4131, 66.3706}, {14.3108, 0.0, 7.1554, 63.4349}, {13.9452, 0.0, 7.8442, 60.6422}, {13.5680, 0.0, 8.4800, 57.9946}, {13.1847, 0.0, 9.0645, 55.4915}, {12.8000, 0.0, 9.6000, 53.1301}, {12.4178, 0.0, 10.0895, 50.9061}, {12.0412, 0.0, 10.5361, 48.8141}, {11.6726, 0.0, 10.9431, 46.8476}, {11.3137, 0.0, 11.3137, 45.0000}, {10.9431, 0.0, 11.6726, 43.1524}, {10.5361, 0.0, 12.0412, 41.1859}, {10.0895, 0.0, 12.4178, 39.0939}, {9.6000, 0.0, 12.8000, 36.8699}, {9.0645, 0.0, 13.1847, 34.5085}, {8.4800, 0.0, 13.5680, 32.0054}, {7.8442, 0.0, 13.9452, 29.3578}, {7.1554, 0.0, 14.3108, 26.5651}, {6.4131, 0.0, 14.6585, 23.6294}, {5.6180, 0.0, 14.9813, 20.5560}, {4.7724, 0.0, 15.2717, 17.3540}, {3.8806, 0.0, 15.5223, 14.0362}, {2.9486, 0.0, 15.7260, 10.6197}, {1.9846, 0.0, 15.8764, 7.1250}, {0.9981, 0.0, 15.9688, 3.5763}, {0.0, 0.0, 16.0000, 0.0000}, {0.0, 0.9981, 15.9688, -3.5763}, {0.0, 1.9846, 15.8764, -7.1250}, {0.0, 2.9486, 15.7260, -10.6197}, {0.0, 3.8806, 15.5223, -14.0362}, {0.0, 4.7724, 15.2717, -17.3540}, {0.0, 5.6180, 14.9813, -20.5560}, {0.0, 6.4131, 14.6585, -23.6294}, {0.0, 7.1554, 14.3108, -26.5651}, {0.0, 7.8442, 13.9452, -29.3578}, {0.0, 8.4800, 13.5680, -32.0054}, {0.0, 9.0645, 13.1847, -34.5085}, {0.0, 9.6000, 12.8000, -36.8699}, {0.0, 10.0895, 12.4178, -39.0939}, {0.0, 10.5361, 12.0412, -41.1859}, {0.0, 10.9431, 11.6726, -43.1524}, {0.0, 11.3137, 11.3137, -45.0000}, {0.0, 11.6726, 10.9431, -46.8476}, {0.0, 12.0412, 10.5361, -48.8141}, {0.0, 12.4178, 10.0895, -50.9061}, {0.0, 12.8000, 9.6000, -53.1301}, {0.0, 13.1847, 9.0645, -55.4915}, {0.0, 13.5680, 8.4800, -57.9946}, {0.0, 13.9452, 7.8442, -60.6422}, {0.0, 14.3108, 7.1554, -63.4349}, {0.0, 14.6585, 6.4131, -66.3706}, {0.0, 14.9813, 5.6180, -69.4440}, {0.0, 15.2717, 4.7724, -72.6460}, {0.0, 15.5223, 3.8806, -75.9638}, {0.0, 15.7260, 2.9486, -79.3803}, {0.0, 15.8764, 1.9846, -82.8750}, {0.0, 15.9688, 0.9981, -86.4237}, {8.0000, 0.0, 0.0, 90.0000}, {7.9382, 0.0, 0.9923, 82.8750}, {7.7611, 0.0, 1.9403, 75.9638}, {7.4906, 0.0, 2.8090, 69.4440}, {7.1554, 0.0, 3.5777, 63.4349}, {6.7840, 0.0, 4.2400, 57.9946}, {6.4000, 0.0, 4.8000, 53.1301}, {6.0206, 0.0, 5.2680, 48.8141}, {5.6569, 0.0, 5.6569, 45.0000}, {5.2680, 0.0, 6.0206, 41.1859}, {4.8000, 0.0, 6.4000, 36.8699}, {4.2400, 0.0, 6.7840, 32.0054}, {3.5777, 0.0, 7.1554, 26.5651}, {2.8090, 0.0, 7.4906, 20.5560}, {1.9403, 0.0, 7.7611, 14.0362}, {0.9923, 0.0, 7.9382, 7.1250}, {0.0, 0.0, 8.0000, 0.0000}, {0.0, 0.9923, 7.9382, -7.1250}, {0.0, 1.9403, 7.7611, -14.0362}, {0.0, 2.8090, 7.4906, -20.5560}, {0.0, 3.5777, 7.1554, -26.5651}, {0.0, 4.2400, 6.7840, -32.0054}, {0.0, 4.8000, 6.4000, -36.8699}, {0.0, 5.2680, 6.0206, -41.1859}, {0.0, 5.6569, 5.6569, -45.0000}, {0.0, 6.0206, 5.2680, -48.8141}, {0.0, 6.4000, 4.8000, -53.1301}, {0.0, 6.7840, 4.2400, -57.9946}, {0.0, 7.1554, 3.5777, -63.4349}, {0.0, 7.4906, 2.8090, -69.4440}, {0.0, 7.7611, 1.9403, -75.9638}, {0.0, 7.9382, 0.9923, -82.8750}, {0.0, 8.0000, 0.0, -90.0000}, {4.0000, 0.0, 0.0, 90.0000}, {3.8806, 0.0, 0.9701, 75.9638}, {3.5777, 0.0, 1.7889, 63.4349}, {3.2000, 0.0, 2.4000, 53.1301}, {2.8284, 0.0, 2.8284, 45.0000}, {2.4000, 0.0, 3.2000, 36.8699}, {1.7889, 0.0, 3.5777, 26.5651}, {0.9701, 0.0, 3.8806, 14.0362}, {0.0, 0.0, 4.0000, 0.0000}, {0.0, 0.9701, 3.8806, -14.0362}, {0.0, 1.7889, 3.5777, -26.5651}, {0.0, 2.4000, 3.2000, -36.8699}, {0.0, 2.8284, 2.8284, -45.0000}, {0.0, 3.2000, 2.4000, -53.1301}, {0.0, 3.5777, 1.7889, -63.4349}, {0.0, 3.8806, 0.9701, -75.9638}, {0.0, 4.0000, 0.0, -90.0000}, {2.0000, 0.0, 0.0, 90.0000}, {1.7889, 0.0, 0.8944, 63.4349}, {1.4142, 0.0, 1.4142, 45.0000}, {0.8944, 0.0, 1.7889, 26.5651}, {0.0, 0.0, 2.0000, 0.0000}, {0.0, 0.8944, 1.7889, -26.5651}, {0.0, 1.4142, 1.4142, -45.0000}, {0.0, 1.7889, 0.8944, -63.4349}, {0.0, 2.0000, 0.0, -90.0000}, {1.0000, 0.0, 0.0, 90.0000}, {0.7071, 0.0, 0.7071, 45.0000}, {0.0, 0.0, 1.0000, 0.0000}, {0.0, 0.7071, 0.7071, -45.0000}, {0.0, 1.0000, 0.0, -90.0000}, {0.0, 0.0, 0.0, -90.0000}, }; double catrommtx[4][4] = { -0.5, 1.5, -1.5, 0.5, 1.0, -2.5, 2.0, -0.5, -0.5, 0.0, 0.5, 0.0, 0.0, 1.0, 0.0, 0.0, }; double bsplmtx[4][4] = { -1.0 / 6.0, 0.5, -0.5, 1.0 / 6.0, 0.5, -1.0, 0.5, 0.0, -0.5, 0.0, 0.5, 0.0, 1.0 / 6.0, 2.0 / 3.0, 1.0 / 6.0, 0.0, }; double cardmtx[4][4] = { -1.0, 1.0, -1.0, 1.0, 2.0, -2.0, 1.0, -1.0, -1.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, };