home *** CD-ROM | disk | FTP | other *** search
/ Internet Gallery / INTERGAL.bin / intergal / prgs / idv21 / data.z / SinCos.java < prev    next >
Text File  |  1996-04-22  |  11KB  |  161 lines

  1. import java.lang.Math;
  2.  
  3. public final class SinCos {
  4.  
  5.     public static final int RESOLUTION = 1024;
  6.  
  7.     public static int Sin( int Angle )
  8.     {
  9.         return SINCOS[ Angle&(RESOLUTION-1) ];
  10.     }
  11.     
  12.     public static int Cos( int Angle )
  13.     {
  14.         return SINCOS[ (Angle&(RESOLUTION-1)) + RESOLUTION/4];
  15.     }
  16.     
  17.     private static final int SINCOS[] = {
  18.          0,    100,    201,    301,    402,    502,    603,    703,    803,
  19.        904,   1004,   1105,   1205,   1305,   1405,   1505,   1605,   1705,
  20.       1805,   1905,   2005,   2105,   2204,   2304,   2404,   2503,   2602,
  21.       2701,   2801,   2900,   2998,   3097,   3196,   3294,   3393,   3491,
  22.       3589,   3687,   3785,   3883,   3980,   4078,   4175,   4272,   4369,
  23.       4466,   4563,   4659,   4756,   4852,   4948,   5043,   5139,   5234,
  24.       5329,   5424,   5519,   5614,   5708,   5802,   5896,   5990,   6083,
  25.       6176,   6269,   6362,   6455,   6547,   6639,   6731,   6822,   6914,
  26.       7005,   7095,   7186,   7276,   7366,   7456,   7545,   7634,   7723,
  27.       7811,   7900,   7988,   8075,   8162,   8249,   8336,   8423,   8509,
  28.       8594,   8680,   8765,   8850,   8934,   9018,   9102,   9185,   9268,
  29.       9351,   9434,   9516,   9597,   9679,   9759,   9840,   9920,  10000,
  30.      10079,  10159,  10237,  10315,  10393,  10471,  10548,  10625,  10701,
  31.      10777,  10853,  10928,  11002,  11077,  11150,  11224,  11297,  11370,
  32.      11442,  11513,  11585,  11656,  11726,  11796,  11866,  11935,  12003,
  33.      12072,  12139,  12207,  12273,  12340,  12406,  12471,  12536,  12600,
  34.      12665,  12728,  12791,  12854,  12916,  12977,  13038,  13099,  13159,
  35.      13219,  13278,  13337,  13395,  13452,  13510,  13566,  13622,  13678,
  36.      13733,  13788,  13842,  13895,  13948,  14001,  14053,  14104,  14155,
  37.      14205,  14255,  14304,  14353,  14401,  14449,  14496,  14543,  14589,
  38.      14634,  14679,  14723,  14767,  14810,  14853,  14895,  14937,  14978,
  39.      15018,  15058,  15098,  15136,  15175,  15212,  15249,  15286,  15322,
  40.      15357,  15392,  15426,  15459,  15492,  15525,  15557,  15588,  15618,
  41.      15649,  15678,  15707,  15735,  15763,  15790,  15817,  15842,  15868,
  42.      15892,  15917,  15940,  15963,  15985,  16007,  16028,  16049,  16069,
  43.      16088,  16107,  16125,  16142,  16159,  16175,  16191,  16206,  16221,
  44.      16234,  16248,  16260,  16272,  16284,  16294,  16305,  16314,  16323,
  45.      16331,  16339,  16346,  16353,  16359,  16364,  16368,  16372,  16376,
  46.      16379,  16381,  16382,  16383,  16384,  16383,  16382,  16381,  16379,
  47.      16376,  16372,  16368,  16364,  16359,  16353,  16346,  16339,  16331,
  48.      16323,  16314,  16305,  16294,  16284,  16272,  16260,  16248,  16234,
  49.      16221,  16206,  16191,  16175,  16159,  16142,  16125,  16107,  16088,
  50.      16069,  16049,  16028,  16007,  15985,  15963,  15940,  15917,  15892,
  51.      15868,  15842,  15817,  15790,  15763,  15735,  15707,  15678,  15649,
  52.      15618,  15588,  15557,  15525,  15492,  15459,  15426,  15392,  15357,
  53.      15322,  15286,  15249,  15212,  15175,  15136,  15098,  15058,  15018,
  54.      14978,  14937,  14895,  14853,  14810,  14767,  14723,  14679,  14634,
  55.      14589,  14543,  14496,  14449,  14401,  14353,  14304,  14255,  14205,
  56.      14155,  14104,  14053,  14001,  13948,  13895,  13842,  13788,  13733,
  57.      13678,  13622,  13566,  13510,  13452,  13395,  13337,  13278,  13219,
  58.      13159,  13099,  13038,  12977,  12916,  12854,  12791,  12728,  12665,
  59.      12600,  12536,  12471,  12406,  12340,  12273,  12207,  12139,  12072,
  60.      12003,  11935,  11866,  11796,  11726,  11656,  11585,  11513,  11442,
  61.      11370,  11297,  11224,  11150,  11077,  11002,  10928,  10853,  10777,
  62.      10701,  10625,  10548,  10471,  10393,  10315,  10237,  10159,  10079,
  63.      10000,   9920,   9840,   9759,   9679,   9597,   9516,   9434,   9351,
  64.       9268,   9185,   9102,   9018,   8934,   8850,   8765,   8680,   8594,
  65.       8509,   8423,   8336,   8249,   8162,   8075,   7988,   7900,   7811,
  66.       7723,   7634,   7545,   7456,   7366,   7276,   7186,   7095,   7005,
  67.       6914,   6822,   6731,   6639,   6547,   6455,   6362,   6269,   6176,
  68.       6083,   5990,   5896,   5802,   5708,   5614,   5519,   5424,   5329,
  69.       5234,   5139,   5043,   4948,   4852,   4756,   4659,   4563,   4466,
  70.       4369,   4272,   4175,   4078,   3980,   3883,   3785,   3687,   3589,
  71.       3491,   3393,   3294,   3196,   3097,   2998,   2900,   2801,   2701,
  72.       2602,   2503,   2404,   2304,   2204,   2105,   2005,   1905,   1805,
  73.       1705,   1605,   1505,   1405,   1305,   1205,   1105,   1004,    904,
  74.        803,    703,    603,    502,    402,    301,    201,    100,      0,
  75.       -100,   -201,   -301,   -402,   -502,   -603,   -703,   -803,   -904,
  76.      -1004,  -1105,  -1205,  -1305,  -1405,  -1505,  -1605,  -1705,  -1805,
  77.      -1905,  -2005,  -2105,  -2204,  -2304,  -2404,  -2503,  -2602,  -2701,
  78.      -2801,  -2900,  -2998,  -3097,  -3196,  -3294,  -3393,  -3491,  -3589,
  79.      -3687,  -3785,  -3883,  -3980,  -4078,  -4175,  -4272,  -4369,  -4466,
  80.      -4563,  -4659,  -4756,  -4852,  -4948,  -5043,  -5139,  -5234,  -5329,
  81.      -5424,  -5519,  -5614,  -5708,  -5802,  -5896,  -5990,  -6083,  -6176,
  82.      -6269,  -6362,  -6455,  -6547,  -6639,  -6731,  -6822,  -6914,  -7005,
  83.      -7095,  -7186,  -7276,  -7366,  -7456,  -7545,  -7634,  -7723,  -7811,
  84.      -7900,  -7988,  -8075,  -8162,  -8249,  -8336,  -8423,  -8509,  -8594,
  85.      -8680,  -8765,  -8850,  -8934,  -9018,  -9102,  -9185,  -9268,  -9351,
  86.      -9434,  -9516,  -9597,  -9679,  -9759,  -9840,  -9920, -10000, -10079,
  87.     -10159, -10237, -10315, -10393, -10471, -10548, -10625, -10701, -10777,
  88.     -10853, -10928, -11002, -11077, -11150, -11224, -11297, -11370, -11442,
  89.     -11513, -11585, -11656, -11726, -11796, -11866, -11935, -12003, -12072,
  90.     -12139, -12207, -12273, -12340, -12406, -12471, -12536, -12600, -12665,
  91.     -12728, -12791, -12854, -12916, -12977, -13038, -13099, -13159, -13219,
  92.     -13278, -13337, -13395, -13452, -13510, -13566, -13622, -13678, -13733,
  93.     -13788, -13842, -13895, -13948, -14001, -14053, -14104, -14155, -14205,
  94.     -14255, -14304, -14353, -14401, -14449, -14496, -14543, -14589, -14634,
  95.     -14679, -14723, -14767, -14810, -14853, -14895, -14937, -14978, -15018,
  96.     -15058, -15098, -15136, -15175, -15212, -15249, -15286, -15322, -15357,
  97.     -15392, -15426, -15459, -15492, -15525, -15557, -15588, -15618, -15649,
  98.     -15678, -15707, -15735, -15763, -15790, -15817, -15842, -15868, -15892,
  99.     -15917, -15940, -15963, -15985, -16007, -16028, -16049, -16069, -16088,
  100.     -16107, -16125, -16142, -16159, -16175, -16191, -16206, -16221, -16234,
  101.     -16248, -16260, -16272, -16284, -16294, -16305, -16314, -16323, -16331,
  102.     -16339, -16346, -16353, -16359, -16364, -16368, -16372, -16376, -16379,
  103.     -16381, -16382, -16383, -16384, -16383, -16382, -16381, -16379, -16376,
  104.     -16372, -16368, -16364, -16359, -16353, -16346, -16339, -16331, -16323,
  105.     -16314, -16305, -16294, -16284, -16272, -16260, -16248, -16234, -16221,
  106.     -16206, -16191, -16175, -16159, -16142, -16125, -16107, -16088, -16069,
  107.     -16049, -16028, -16007, -15985, -15963, -15940, -15917, -15892, -15868,
  108.     -15842, -15817, -15790, -15763, -15735, -15707, -15678, -15649, -15618,
  109.     -15588, -15557, -15525, -15492, -15459, -15426, -15392, -15357, -15322,
  110.     -15286, -15249, -15212, -15175, -15136, -15098, -15058, -15018, -14978,
  111.     -14937, -14895, -14853, -14810, -14767, -14723, -14679, -14634, -14589,
  112.     -14543, -14496, -14449, -14401, -14353, -14304, -14255, -14205, -14155,
  113.     -14104, -14053, -14001, -13948, -13895, -13842, -13788, -13733, -13678,
  114.     -13622, -13566, -13510, -13452, -13395, -13337, -13278, -13219, -13159,
  115.     -13099, -13038, -12977, -12916, -12854, -12791, -12728, -12665, -12600,
  116.     -12536, -12471, -12406, -12340, -12273, -12207, -12139, -12072, -12003,
  117.     -11935, -11866, -11796, -11726, -11656, -11585, -11513, -11442, -11370,
  118.     -11297, -11224, -11150, -11077, -11002, -10928, -10853, -10777, -10701,
  119.     -10625, -10548, -10471, -10393, -10315, -10237, -10159, -10079, -10000,
  120.      -9920,  -9840,  -9759,  -9679,  -9597,  -9516,  -9434,  -9351,  -9268,
  121.      -9185,  -9102,  -9018,  -8934,  -8850,  -8765,  -8680,  -8594,  -8509,
  122.      -8423,  -8336,  -8249,  -8162,  -8075,  -7988,  -7900,  -7811,  -7723,
  123.      -7634,  -7545,  -7456,  -7366,  -7276,  -7186,  -7095,  -7005,  -6914,
  124.      -6822,  -6731,  -6639,  -6547,  -6455,  -6362,  -6269,  -6176,  -6083,
  125.      -5990,  -5896,  -5802,  -5708,  -5614,  -5519,  -5424,  -5329,  -5234,
  126.      -5139,  -5043,  -4948,  -4852,  -4756,  -4659,  -4563,  -4466,  -4369,
  127.      -4272,  -4175,  -4078,  -3980,  -3883,  -3785,  -3687,  -3589,  -3491,
  128.      -3393,  -3294,  -3196,  -3097,  -2998,  -2900,  -2801,  -2701,  -2602,
  129.      -2503,  -2404,  -2304,  -2204,  -2105,  -2005,  -1905,  -1805,  -1705,
  130.      -1605,  -1505,  -1405,  -1305,  -1205,  -1105,  -1004,   -904,   -803,
  131.       -703,   -603,   -502,   -402,   -301,   -201,   -100,      0,    100,
  132.        201,    301,    402,    502,    603,    703,    803,    904,   1004,
  133.       1105,   1205,   1305,   1405,   1505,   1605,   1705,   1805,   1905,
  134.       2005,   2105,   2204,   2304,   2404,   2503,   2602,   2701,   2801,
  135.       2900,   2998,   3097,   3196,   3294,   3393,   3491,   3589,   3687,
  136.       3785,   3883,   3980,   4078,   4175,   4272,   4369,   4466,   4563,
  137.       4659,   4756,   4852,   4948,   5043,   5139,   5234,   5329,   5424,
  138.       5519,   5614,   5708,   5802,   5896,   5990,   6083,   6176,   6269,
  139.       6362,   6455,   6547,   6639,   6731,   6822,   6914,   7005,   7095,
  140.       7186,   7276,   7366,   7456,   7545,   7634,   7723,   7811,   7900,
  141.       7988,   8075,   8162,   8249,   8336,   8423,   8509,   8594,   8680,
  142.       8765,   8850,   8934,   9018,   9102,   9185,   9268,   9351,   9434,
  143.       9516,   9597,   9679,   9759,   9840,   9920,  10000,  10079,  10159,
  144.      10237,  10315,  10393,  10471,  10548,  10625,  10701,  10777,  10853,
  145.      10928,  11002,  11077,  11150,  11224,  11297,  11370,  11442,  11513,
  146.      11585,  11656,  11726,  11796,  11866,  11935,  12003,  12072,  12139,
  147.      12207,  12273,  12340,  12406,  12471,  12536,  12600,  12665,  12728,
  148.      12791,  12854,  12916,  12977,  13038,  13099,  13159,  13219,  13278,
  149.      13337,  13395,  13452,  13510,  13566,  13622,  13678,  13733,  13788,
  150.      13842,  13895,  13948,  14001,  14053,  14104,  14155,  14205,  14255,
  151.      14304,  14353,  14401,  14449,  14496,  14543,  14589,  14634,  14679,
  152.      14723,  14767,  14810,  14853,  14895,  14937,  14978,  15018,  15058,
  153.      15098,  15136,  15175,  15212,  15249,  15286,  15322,  15357,  15392,
  154.      15426,  15459,  15492,  15525,  15557,  15588,  15618,  15649,  15678,
  155.      15707,  15735,  15763,  15790,  15817,  15842,  15868,  15892,  15917,
  156.      15940,  15963,  15985,  16007,  16028,  16049,  16069,  16088,  16107,
  157.      16125,  16142,  16159,  16175,  16191,  16206,  16221,  16234,  16248,
  158.      16260,  16272,  16284,  16294,  16305,  16314,  16323,  16331,  16339,
  159.      16346,  16353,  16359,  16364,  16368,  16372,  16376,  16379,  16381,
  160.      16382,  16383 };
  161. }