Torus.js 55 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311
  1. // Converted from: ../../examples/obj/torus/Torus.obj
  2. // vertices: 576
  3. // faces: 576
  4. // materials: 1
  5. //
  6. // Generated with OBJ -> Three.js converter
  7. // http://github.com/alteredq/three.js/blob/master/utils/exporters/convert_obj_threejs.py
  8. var Torus = function ( urlbase ) {
  9. var scope = this;
  10. THREE.Geometry.call(this);
  11. var materials = [ {
  12. "a_dbg_color" : 0xffeeeeee,
  13. "a_dbg_index" : 0,
  14. "a_dbg_name" : "(null)"
  15. }];
  16. init_materials();
  17. var normals = [[1.000000,0.000000,0.000000],[0.991424,0.000000,-0.130497],[0.858547,0.500107,-0.113010],[0.865963,0.500107,0.000000],[0.495590,0.866085,-0.065249],[0.499863,0.866085,0.000000],[0.000000,1.000000,0.000000],[-0.495590,0.866085,0.065249],[-0.499863,0.866085,0.000000],[-0.858547,0.500107,0.113010],[-0.865963,0.500107,0.000000],[-0.991424,0.000000,0.130497],[-0.999969,0.000000,0.000000],[-0.858547,-0.500107,0.113010],[-0.865963,-0.500107,0.000000],[-0.495590,-0.866085,0.065249],[-0.499863,-0.866085,0.000000],[0.000000,-1.000000,0.000000],[0.495590,-0.866085,-0.065249],[0.499863,-0.866085,0.000000],[0.858547,-0.500107,-0.113010],[0.865963,-0.500107,0.000000],[0.965911,0.000000,-0.258797],[0.836451,0.500107,-0.224128],[0.482833,0.866085,-0.129368],[-0.482833,0.866085,0.129368],[-0.836451,0.500107,0.224097],[-0.965911,0.000000,0.258797],[-0.836451,-0.500107,0.224128],[-0.482833,-0.866085,0.129368],[0.482833,-0.866085,-0.129368],[0.836451,-0.500107,-0.224128],[0.923856,0.000000,-0.382672],[0.800043,0.500107,-0.331370],[0.461837,0.866085,-0.191290],[-0.461837,0.866085,0.191290],[-0.800043,0.500107,0.331370],[-0.923856,0.000000,0.382672],[-0.800043,-0.500107,0.331370],[-0.461837,-0.866085,0.191290],[0.461837,-0.866085,-0.191290],[0.800043,-0.500107,-0.331370],[0.866024,0.000000,-0.499985],[0.749931,0.500107,-0.432966],[0.432905,0.866085,-0.249916],[-0.432905,0.866085,0.249916],[-0.749931,0.500107,0.432966],[-0.866024,0.000000,0.499985],[-0.749931,-0.500107,0.432966],[-0.432905,-0.866085,0.249916],[0.432905,-0.866085,-0.249916],[0.749931,-0.500107,-0.432966],[0.793329,0.000000,-0.608753],[0.687002,0.500107,-0.527146],[0.396588,0.866085,-0.304300],[-0.396588,0.866085,0.304300],[-0.687002,0.500107,0.527146],[-0.793329,0.000000,0.608753],[-0.687002,-0.500107,0.527146],[-0.396588,-0.866085,0.304300],[0.396588,-0.866085,-0.304300],[0.687002,-0.500107,-0.527146],[0.707083,0.000000,-0.707083],[0.612323,0.500107,-0.612323],[0.353465,0.866085,-0.353465],[-0.353465,0.866085,0.353465],[-0.612323,0.500107,0.612323],[-0.707083,0.000000,0.707083],[-0.612323,-0.500107,0.612323],[-0.353465,-0.866085,0.353465],[0.353465,-0.866085,-0.353465],[0.612323,-0.500107,-0.612323],[0.608753,0.000000,-0.793329],[0.527146,0.500107,-0.687002],[0.304300,0.866085,-0.396588],[-0.304300,0.866085,0.396588],[-0.527146,0.500107,0.687002],[-0.608753,0.000000,0.793329],[-0.527146,-0.500107,0.687002],[-0.304300,-0.866085,0.396588],[0.304300,-0.866085,-0.396588],[0.527146,-0.500107,-0.687002],[0.499985,0.000000,-0.866024],[0.432966,0.500107,-0.749931],[0.249916,0.866085,-0.432905],[-0.249916,0.866085,0.432905],[-0.432966,0.500107,0.749931],[-0.499985,0.000000,0.866024],[-0.432966,-0.500107,0.749931],[-0.249916,-0.866085,0.432905],[0.249916,-0.866085,-0.432905],[0.432966,-0.500107,-0.749931],[0.382672,0.000000,-0.923856],[0.331370,0.500107,-0.800043],[0.191290,0.866085,-0.461837],[-0.191290,0.866085,0.461837],[-0.331370,0.500107,0.800043],[-0.382672,0.000000,0.923856],[-0.331370,-0.500107,0.800043],[-0.191290,-0.866085,0.461837],[0.191290,-0.866085,-0.461837],[0.331370,-0.500107,-0.800043],[0.258797,0.000000,-0.965911],[0.224097,0.500107,-0.836451],[0.129368,0.866085,-0.482833],[-0.129368,0.866085,0.482833],[-0.224097,0.500107,0.836451],[-0.258797,0.000000,0.965911],[-0.224128,-0.500107,0.836451],[-0.129368,-0.866085,0.482833],[0.129368,-0.866085,-0.482833],[0.224097,-0.500107,-0.836451],[0.130497,0.000000,-0.991424],[0.113010,0.500107,-0.858547],[0.065249,0.866085,-0.495590],[-0.065249,0.866085,0.495590],[-0.113010,0.500107,0.858547],[-0.130497,0.000000,0.991424],[-0.113010,-0.500107,0.858547],[-0.065249,-0.866085,0.495590],[0.065249,-0.866085,-0.495590],[0.113010,-0.500107,-0.858547],[0.000000,0.000000,-1.000000],[0.000000,0.500107,-0.865963],[0.000000,0.866085,-0.499863],[0.000000,0.866085,0.499863],[0.000000,0.500107,0.865963],[0.000000,0.000000,1.000000],[0.000000,-0.500107,0.865963],[0.000000,-0.866085,0.499863],[0.000000,-0.866085,-0.499863],[0.000000,-0.500107,-0.865963],[-0.130497,0.000000,-0.991424],[-0.113010,0.500107,-0.858547],[-0.065249,0.866085,-0.495590],[0.065249,0.866085,0.495590],[0.113010,0.500107,0.858547],[0.130497,0.000000,0.991424],[0.113010,-0.500107,0.858547],[0.065249,-0.866085,0.495590],[-0.065249,-0.866085,-0.495590],[-0.113010,-0.500107,-0.858547],[-0.258797,0.000000,-0.965911],[-0.224097,0.500107,-0.836451],[-0.129368,0.866085,-0.482833],[0.129368,0.866085,0.482833],[0.224097,0.500107,0.836451],[0.258797,0.000000,0.965911],[0.224097,-0.500107,0.836451],[0.129368,-0.866085,0.482833],[-0.129368,-0.866085,-0.482833],[-0.224097,-0.500107,-0.836451],[-0.382672,0.000000,-0.923856],[-0.331370,0.500107,-0.800043],[-0.191290,0.866085,-0.461837],[0.191290,0.866085,0.461837],[0.331370,0.500107,0.800043],[0.382672,0.000000,0.923856],[0.331370,-0.500107,0.800043],[0.191290,-0.866085,0.461837],[-0.191290,-0.866085,-0.461837],[-0.331370,-0.500107,-0.800043],[-0.499985,0.000000,-0.866024],[-0.432966,0.500107,-0.749931],[-0.249916,0.866085,-0.432905],[0.249916,0.866085,0.432905],[0.432966,0.500107,0.749931],[0.499985,0.000000,0.866024],[0.432966,-0.500107,0.749931],[0.249916,-0.866085,0.432905],[-0.249916,-0.866085,-0.432905],[-0.432966,-0.500107,-0.749931],[-0.608753,0.000000,-0.793329],[-0.527146,0.500107,-0.687002],[-0.304300,0.866085,-0.396588],[0.304300,0.866085,0.396588],[0.527146,0.500107,0.687002],[0.608753,0.000000,0.793329],[0.527146,-0.500107,0.687002],[0.304300,-0.866085,0.396588],[-0.304300,-0.866085,-0.396588],[-0.527146,-0.500107,-0.687002],[-0.707083,0.000000,-0.707083],[-0.612323,0.500107,-0.612323],[-0.353465,0.866085,-0.353465],[0.353465,0.866085,0.353465],[0.612323,0.500107,0.612323],[0.707083,0.000000,0.707083],[0.612323,-0.500107,0.612323],[0.353465,-0.866085,0.353465],[-0.353465,-0.866085,-0.353465],[-0.612323,-0.500107,-0.612323],[-0.793329,0.000000,-0.608753],[-0.687002,0.500107,-0.527146],[-0.396588,0.866085,-0.304300],[0.396588,0.866085,0.304300],[0.687002,0.500107,0.527146],[0.793329,0.000000,0.608753],[0.687002,-0.500107,0.527146],[0.396588,-0.866085,0.304300],[-0.396588,-0.866085,-0.304300],[-0.687002,-0.500107,-0.527146],[-0.866024,0.000000,-0.499985],[-0.749931,0.500107,-0.432966],[-0.432905,0.866085,-0.249916],[0.432905,0.866085,0.249916],[0.749931,0.500107,0.432966],[0.866024,0.000000,0.499985],[0.749931,-0.500107,0.432966],[0.432905,-0.866085,0.249916],[-0.432905,-0.866085,-0.249916],[-0.749931,-0.500107,-0.432966],[-0.923856,0.000000,-0.382672],[-0.800043,0.500107,-0.331370],[-0.461837,0.866085,-0.191290],[0.461837,0.866085,0.191290],[0.800043,0.500107,0.331370],[0.923856,0.000000,0.382672],[0.800043,-0.500107,0.331370],[0.461837,-0.866085,0.191290],[-0.461837,-0.866085,-0.191290],[-0.800043,-0.500107,-0.331370],[-0.965911,0.000000,-0.258797],[-0.836451,0.500107,-0.224128],[-0.482833,0.866085,-0.129368],[0.482833,0.866085,0.129368],[0.836451,0.500107,0.224128],[0.965911,0.000000,0.258797],[0.836451,-0.500107,0.224128],[0.482833,-0.866085,0.129368],[-0.482833,-0.866085,-0.129368],[-0.836451,-0.500107,-0.224128],[-0.991424,0.000000,-0.130497],[-0.858547,0.500107,-0.113010],[-0.495590,0.866085,-0.065249],[0.495590,0.866085,0.065249],[0.858547,0.500107,0.113010],[0.991424,0.000000,0.130497],[0.858547,-0.500107,0.113010],[0.495590,-0.866085,0.065249],[-0.495590,-0.866085,-0.065249],[-0.858547,-0.500107,-0.113010],[-1.000000,0.000000,0.000000],[-0.836451,0.500107,0.224128],[-0.224097,-0.500107,0.836451],[0.000000,0.000000,-0.999969],[-0.836451,0.500107,-0.224097]];
  18. v(1.250000,-0.000000,-0.000000);
  19. v(1.216506,0.125000,-0.000000);
  20. v(1.125000,0.216506,-0.000000);
  21. v(1.000000,0.250000,-0.000000);
  22. v(0.875000,0.216506,-0.000000);
  23. v(0.783493,0.125000,-0.000000);
  24. v(0.750000,-0.000000,-0.000000);
  25. v(0.783493,-0.125000,-0.000000);
  26. v(0.875000,-0.216506,-0.000000);
  27. v(1.000000,-0.250000,-0.000000);
  28. v(1.125000,-0.216506,-0.000000);
  29. v(1.216506,-0.125000,-0.000000);
  30. v(1.239306,-0.000000,-0.163157);
  31. v(1.206099,0.125000,-0.158786);
  32. v(1.115375,0.216506,-0.146842);
  33. v(0.991445,0.250000,-0.130526);
  34. v(0.867514,0.216506,-0.114210);
  35. v(0.776790,0.125000,-0.102266);
  36. v(0.743583,-0.000000,-0.097894);
  37. v(0.776790,-0.125000,-0.102266);
  38. v(0.867514,-0.216506,-0.114210);
  39. v(0.991445,-0.250000,-0.130526);
  40. v(1.115375,-0.216506,-0.146842);
  41. v(1.206099,-0.125000,-0.158786);
  42. v(1.207407,-0.000000,-0.323523);
  43. v(1.175055,0.125000,-0.314855);
  44. v(1.086666,0.216506,-0.291171);
  45. v(0.965925,0.250000,-0.258819);
  46. v(0.845185,0.216506,-0.226466);
  47. v(0.756796,0.125000,-0.202783);
  48. v(0.724444,-0.000000,-0.194114);
  49. v(0.756796,-0.125000,-0.202783);
  50. v(0.845185,-0.216506,-0.226466);
  51. v(0.965925,-0.250000,-0.258819);
  52. v(1.086666,-0.216506,-0.291171);
  53. v(1.175055,-0.125000,-0.314855);
  54. v(1.154849,-0.000000,-0.478354);
  55. v(1.123905,0.125000,-0.465537);
  56. v(1.039364,0.216506,-0.430519);
  57. v(0.923879,0.250000,-0.382683);
  58. v(0.808394,0.216506,-0.334848);
  59. v(0.723853,0.125000,-0.299830);
  60. v(0.692909,-0.000000,-0.287012);
  61. v(0.723853,-0.125000,-0.299830);
  62. v(0.808394,-0.216506,-0.334848);
  63. v(0.923879,-0.250000,-0.382683);
  64. v(1.039364,-0.216506,-0.430519);
  65. v(1.123905,-0.125000,-0.465537);
  66. v(1.082531,-0.000000,-0.625000);
  67. v(1.053525,0.125000,-0.608253);
  68. v(0.974278,0.216506,-0.562500);
  69. v(0.866025,0.250000,-0.500000);
  70. v(0.757772,0.216506,-0.437500);
  71. v(0.678525,0.125000,-0.391747);
  72. v(0.649519,-0.000000,-0.375000);
  73. v(0.678525,-0.125000,-0.391746);
  74. v(0.757772,-0.216506,-0.437500);
  75. v(0.866025,-0.250000,-0.500000);
  76. v(0.974278,-0.216506,-0.562500);
  77. v(1.053525,-0.125000,-0.608253);
  78. v(0.991691,-0.000000,-0.760951);
  79. v(0.965119,0.125000,-0.740562);
  80. v(0.892522,0.216506,-0.684856);
  81. v(0.793353,0.250000,-0.608761);
  82. v(0.694184,0.216506,-0.532666);
  83. v(0.621587,0.125000,-0.476960);
  84. v(0.595015,-0.000000,-0.456571);
  85. v(0.621587,-0.125000,-0.476960);
  86. v(0.694184,-0.216506,-0.532666);
  87. v(0.793353,-0.250000,-0.608761);
  88. v(0.892522,-0.216506,-0.684856);
  89. v(0.965119,-0.125000,-0.740562);
  90. v(0.883883,-0.000000,-0.883883);
  91. v(0.860199,0.125000,-0.860200);
  92. v(0.795495,0.216506,-0.795495);
  93. v(0.707106,0.250000,-0.707107);
  94. v(0.618718,0.216506,-0.618718);
  95. v(0.554013,0.125000,-0.554013);
  96. v(0.530330,-0.000000,-0.530330);
  97. v(0.554013,-0.125000,-0.554013);
  98. v(0.618718,-0.216506,-0.618718);
  99. v(0.707106,-0.250000,-0.707107);
  100. v(0.795495,-0.216506,-0.795495);
  101. v(0.860199,-0.125000,-0.860200);
  102. v(0.760951,-0.000000,-0.991691);
  103. v(0.740562,0.125000,-0.965119);
  104. v(0.684856,0.216506,-0.892522);
  105. v(0.608761,0.250000,-0.793353);
  106. v(0.532666,0.216506,-0.694184);
  107. v(0.476960,0.125000,-0.621587);
  108. v(0.456571,-0.000000,-0.595015);
  109. v(0.476960,-0.125000,-0.621587);
  110. v(0.532666,-0.216506,-0.694184);
  111. v(0.608761,-0.250000,-0.793353);
  112. v(0.684856,-0.216506,-0.892522);
  113. v(0.740562,-0.125000,-0.965119);
  114. v(0.625000,-0.000000,-1.082531);
  115. v(0.608253,0.125000,-1.053525);
  116. v(0.562500,0.216506,-0.974278);
  117. v(0.500000,0.250000,-0.866025);
  118. v(0.437500,0.216506,-0.757772);
  119. v(0.391746,0.125000,-0.678525);
  120. v(0.375000,-0.000000,-0.649519);
  121. v(0.391746,-0.125000,-0.678525);
  122. v(0.437500,-0.216506,-0.757772);
  123. v(0.500000,-0.250000,-0.866025);
  124. v(0.562500,-0.216506,-0.974278);
  125. v(0.608253,-0.125000,-1.053525);
  126. v(0.478354,-0.000000,-1.154849);
  127. v(0.465537,0.125000,-1.123905);
  128. v(0.430518,0.216506,-1.039364);
  129. v(0.382683,0.250000,-0.923879);
  130. v(0.334848,0.216506,-0.808394);
  131. v(0.299830,0.125000,-0.723853);
  132. v(0.287012,-0.000000,-0.692909);
  133. v(0.299830,-0.125000,-0.723853);
  134. v(0.334848,-0.216506,-0.808394);
  135. v(0.382683,-0.250000,-0.923879);
  136. v(0.430518,-0.216506,-1.039364);
  137. v(0.465537,-0.125000,-1.123905);
  138. v(0.323523,-0.000000,-1.207407);
  139. v(0.314855,0.125000,-1.175055);
  140. v(0.291171,0.216506,-1.086666);
  141. v(0.258819,0.250000,-0.965926);
  142. v(0.226466,0.216506,-0.845185);
  143. v(0.202783,0.125000,-0.756796);
  144. v(0.194114,-0.000000,-0.724444);
  145. v(0.202783,-0.125000,-0.756796);
  146. v(0.226466,-0.216506,-0.845185);
  147. v(0.258819,-0.250000,-0.965925);
  148. v(0.291171,-0.216506,-1.086666);
  149. v(0.314855,-0.125000,-1.175054);
  150. v(0.163157,-0.000000,-1.239306);
  151. v(0.158786,0.125000,-1.206099);
  152. v(0.146842,0.216506,-1.115375);
  153. v(0.130526,0.250000,-0.991445);
  154. v(0.114210,0.216506,-0.867514);
  155. v(0.102266,0.125000,-0.776790);
  156. v(0.097894,-0.000000,-0.743583);
  157. v(0.102266,-0.125000,-0.776790);
  158. v(0.114210,-0.216506,-0.867514);
  159. v(0.130526,-0.250000,-0.991445);
  160. v(0.146842,-0.216506,-1.115375);
  161. v(0.158786,-0.125000,-1.206099);
  162. v(-0.000000,-0.000000,-1.250000);
  163. v(-0.000000,0.125000,-1.216506);
  164. v(-0.000000,0.216506,-1.125000);
  165. v(-0.000000,0.250000,-1.000000);
  166. v(-0.000000,0.216506,-0.875000);
  167. v(-0.000000,0.125000,-0.783493);
  168. v(-0.000000,-0.000000,-0.750000);
  169. v(-0.000000,-0.125000,-0.783493);
  170. v(-0.000000,-0.216506,-0.875000);
  171. v(-0.000000,-0.250000,-1.000000);
  172. v(-0.000000,-0.216506,-1.124999);
  173. v(-0.000000,-0.125000,-1.216506);
  174. v(-0.163158,-0.000000,-1.239306);
  175. v(-0.158786,0.125000,-1.206099);
  176. v(-0.146842,0.216506,-1.115375);
  177. v(-0.130527,0.250000,-0.991445);
  178. v(-0.114211,0.216506,-0.867514);
  179. v(-0.102267,0.125000,-0.776790);
  180. v(-0.097895,-0.000000,-0.743583);
  181. v(-0.102267,-0.125000,-0.776790);
  182. v(-0.114211,-0.216506,-0.867514);
  183. v(-0.130527,-0.250000,-0.991445);
  184. v(-0.146842,-0.216506,-1.115375);
  185. v(-0.158786,-0.125000,-1.206099);
  186. v(-0.323524,-0.000000,-1.207407);
  187. v(-0.314855,0.125000,-1.175055);
  188. v(-0.291172,0.216506,-1.086666);
  189. v(-0.258819,0.250000,-0.965926);
  190. v(-0.226467,0.216506,-0.845185);
  191. v(-0.202783,0.125000,-0.756796);
  192. v(-0.194115,-0.000000,-0.724444);
  193. v(-0.202783,-0.125000,-0.756796);
  194. v(-0.226467,-0.216506,-0.845185);
  195. v(-0.258819,-0.250000,-0.965925);
  196. v(-0.291172,-0.216506,-1.086666);
  197. v(-0.314855,-0.125000,-1.175054);
  198. v(-0.478355,-0.000000,-1.154849);
  199. v(-0.465537,0.125000,-1.123905);
  200. v(-0.430519,0.216506,-1.039364);
  201. v(-0.382684,0.250000,-0.923879);
  202. v(-0.334848,0.216506,-0.808394);
  203. v(-0.299830,0.125000,-0.723853);
  204. v(-0.287013,-0.000000,-0.692909);
  205. v(-0.299830,-0.125000,-0.723853);
  206. v(-0.334848,-0.216506,-0.808394);
  207. v(-0.382684,-0.250000,-0.923879);
  208. v(-0.430519,-0.216506,-1.039364);
  209. v(-0.465537,-0.125000,-1.123905);
  210. v(-0.625000,-0.000000,-1.082531);
  211. v(-0.608254,0.125000,-1.053525);
  212. v(-0.562500,0.216506,-0.974278);
  213. v(-0.500000,0.250000,-0.866025);
  214. v(-0.437500,0.216506,-0.757772);
  215. v(-0.391747,0.125000,-0.678525);
  216. v(-0.375000,-0.000000,-0.649519);
  217. v(-0.391747,-0.125000,-0.678525);
  218. v(-0.437500,-0.216506,-0.757772);
  219. v(-0.500000,-0.250000,-0.866025);
  220. v(-0.562500,-0.216506,-0.974278);
  221. v(-0.608254,-0.125000,-1.053525);
  222. v(-0.760952,-0.000000,-0.991691);
  223. v(-0.740563,0.125000,-0.965119);
  224. v(-0.684857,0.216506,-0.892522);
  225. v(-0.608762,0.250000,-0.793353);
  226. v(-0.532667,0.216506,-0.694184);
  227. v(-0.476961,0.125000,-0.621587);
  228. v(-0.456571,-0.000000,-0.595015);
  229. v(-0.476961,-0.125000,-0.621587);
  230. v(-0.532667,-0.216506,-0.694184);
  231. v(-0.608762,-0.250000,-0.793353);
  232. v(-0.684857,-0.216506,-0.892522);
  233. v(-0.740563,-0.125000,-0.965119);
  234. v(-0.883884,-0.000000,-0.883883);
  235. v(-0.860200,0.125000,-0.860200);
  236. v(-0.795495,0.216506,-0.795495);
  237. v(-0.707107,0.250000,-0.707107);
  238. v(-0.618719,0.216506,-0.618718);
  239. v(-0.554014,0.125000,-0.554013);
  240. v(-0.530330,-0.000000,-0.530330);
  241. v(-0.554014,-0.125000,-0.554013);
  242. v(-0.618719,-0.216506,-0.618718);
  243. v(-0.707107,-0.250000,-0.707106);
  244. v(-0.795495,-0.216506,-0.795495);
  245. v(-0.860200,-0.125000,-0.860200);
  246. v(-0.991692,-0.000000,-0.760951);
  247. v(-0.965120,0.125000,-0.740562);
  248. v(-0.892523,0.216506,-0.684856);
  249. v(-0.793354,0.250000,-0.608761);
  250. v(-0.694185,0.216506,-0.532666);
  251. v(-0.621588,0.125000,-0.476960);
  252. v(-0.595015,-0.000000,-0.456571);
  253. v(-0.621588,-0.125000,-0.476960);
  254. v(-0.694185,-0.216506,-0.532666);
  255. v(-0.793354,-0.250000,-0.608761);
  256. v(-0.892523,-0.216506,-0.684856);
  257. v(-0.965120,-0.125000,-0.740562);
  258. v(-1.082532,-0.000000,-0.625000);
  259. v(-1.053526,0.125000,-0.608253);
  260. v(-0.974279,0.216506,-0.562500);
  261. v(-0.866026,0.250000,-0.500000);
  262. v(-0.757773,0.216506,-0.437500);
  263. v(-0.678526,0.125000,-0.391747);
  264. v(-0.649519,-0.000000,-0.375000);
  265. v(-0.678526,-0.125000,-0.391747);
  266. v(-0.757773,-0.216506,-0.437500);
  267. v(-0.866026,-0.250000,-0.500000);
  268. v(-0.974279,-0.216506,-0.562500);
  269. v(-1.053526,-0.125000,-0.608253);
  270. v(-1.154850,-0.000000,-0.478354);
  271. v(-1.123906,0.125000,-0.465537);
  272. v(-1.039365,0.216506,-0.430519);
  273. v(-0.923880,0.250000,-0.382683);
  274. v(-0.808395,0.216506,-0.334848);
  275. v(-0.723854,0.125000,-0.299830);
  276. v(-0.692910,-0.000000,-0.287012);
  277. v(-0.723854,-0.125000,-0.299830);
  278. v(-0.808395,-0.216506,-0.334848);
  279. v(-0.923880,-0.250000,-0.382683);
  280. v(-1.039365,-0.216506,-0.430519);
  281. v(-1.123906,-0.125000,-0.465537);
  282. v(-1.207407,-0.000000,-0.323524);
  283. v(-1.175055,0.125000,-0.314855);
  284. v(-1.086667,0.216506,-0.291171);
  285. v(-0.965926,0.250000,-0.258819);
  286. v(-0.845185,0.216506,-0.226466);
  287. v(-0.756797,0.125000,-0.202783);
  288. v(-0.724445,-0.000000,-0.194114);
  289. v(-0.756797,-0.125000,-0.202783);
  290. v(-0.845185,-0.216506,-0.226466);
  291. v(-0.965926,-0.250000,-0.258819);
  292. v(-1.086667,-0.216506,-0.291171);
  293. v(-1.175055,-0.125000,-0.314855);
  294. v(-1.239306,-0.000000,-0.163157);
  295. v(-1.206099,0.125000,-0.158786);
  296. v(-1.115376,0.216506,-0.146842);
  297. v(-0.991445,0.250000,-0.130526);
  298. v(-0.867515,0.216506,-0.114210);
  299. v(-0.776791,0.125000,-0.102266);
  300. v(-0.743584,-0.000000,-0.097894);
  301. v(-0.776791,-0.125000,-0.102266);
  302. v(-0.867515,-0.216506,-0.114210);
  303. v(-0.991445,-0.250000,-0.130526);
  304. v(-1.115376,-0.216506,-0.146842);
  305. v(-1.206099,-0.125000,-0.158786);
  306. v(-1.250000,-0.000000,-0.000000);
  307. v(-1.216507,0.125000,-0.000000);
  308. v(-1.125000,0.216506,-0.000000);
  309. v(-1.000000,0.250000,-0.000000);
  310. v(-0.875000,0.216506,-0.000000);
  311. v(-0.783494,0.125000,-0.000000);
  312. v(-0.750000,-0.000000,-0.000000);
  313. v(-0.783494,-0.125000,-0.000000);
  314. v(-0.875000,-0.216506,-0.000000);
  315. v(-1.000000,-0.250000,-0.000000);
  316. v(-1.125000,-0.216506,-0.000000);
  317. v(-1.216507,-0.125000,-0.000000);
  318. v(-1.239306,-0.000000,0.163158);
  319. v(-1.206099,0.125000,0.158786);
  320. v(-1.115376,0.216506,0.146842);
  321. v(-0.991445,0.250000,0.130527);
  322. v(-0.867515,0.216506,0.114211);
  323. v(-0.776791,0.125000,0.102267);
  324. v(-0.743584,-0.000000,0.097895);
  325. v(-0.776791,-0.125000,0.102267);
  326. v(-0.867515,-0.216506,0.114211);
  327. v(-0.991445,-0.250000,0.130527);
  328. v(-1.115376,-0.216506,0.146842);
  329. v(-1.206099,-0.125000,0.158786);
  330. v(-1.207408,-0.000000,0.323524);
  331. v(-1.175055,0.125000,0.314855);
  332. v(-1.086667,0.216506,0.291172);
  333. v(-0.965926,0.250000,0.258819);
  334. v(-0.845185,0.216506,0.226467);
  335. v(-0.756797,0.125000,0.202783);
  336. v(-0.724445,-0.000000,0.194115);
  337. v(-0.756797,-0.125000,0.202783);
  338. v(-0.845185,-0.216506,0.226467);
  339. v(-0.965926,-0.250000,0.258819);
  340. v(-1.086667,-0.216506,0.291172);
  341. v(-1.175055,-0.125000,0.314855);
  342. v(-1.154850,-0.000000,0.478355);
  343. v(-1.123906,0.125000,0.465537);
  344. v(-1.039365,0.216506,0.430519);
  345. v(-0.923880,0.250000,0.382684);
  346. v(-0.808395,0.216506,0.334848);
  347. v(-0.723854,0.125000,0.299830);
  348. v(-0.692910,-0.000000,0.287013);
  349. v(-0.723854,-0.125000,0.299830);
  350. v(-0.808395,-0.216506,0.334848);
  351. v(-0.923880,-0.250000,0.382684);
  352. v(-1.039365,-0.216506,0.430519);
  353. v(-1.123906,-0.125000,0.465537);
  354. v(-1.082532,-0.000000,0.625000);
  355. v(-1.053526,0.125000,0.608253);
  356. v(-0.974279,0.216506,0.562500);
  357. v(-0.866026,0.250000,0.500000);
  358. v(-0.757773,0.216506,0.437500);
  359. v(-0.678526,0.125000,0.391747);
  360. v(-0.649519,-0.000000,0.375000);
  361. v(-0.678526,-0.125000,0.391747);
  362. v(-0.757773,-0.216506,0.437500);
  363. v(-0.866026,-0.250000,0.500000);
  364. v(-0.974279,-0.216506,0.562500);
  365. v(-1.053526,-0.125000,0.608253);
  366. v(-0.991692,-0.000000,0.760952);
  367. v(-0.965120,0.125000,0.740562);
  368. v(-0.892523,0.216506,0.684857);
  369. v(-0.793354,0.250000,0.608762);
  370. v(-0.694185,0.216506,0.532667);
  371. v(-0.621588,0.125000,0.476961);
  372. v(-0.595015,-0.000000,0.456571);
  373. v(-0.621588,-0.125000,0.476961);
  374. v(-0.694185,-0.216506,0.532667);
  375. v(-0.793354,-0.250000,0.608762);
  376. v(-0.892523,-0.216506,0.684857);
  377. v(-0.965120,-0.125000,0.740562);
  378. v(-0.883884,-0.000000,0.883884);
  379. v(-0.860200,0.125000,0.860200);
  380. v(-0.795496,0.216507,0.795495);
  381. v(-0.707107,0.250000,0.707107);
  382. v(-0.618719,0.216506,0.618719);
  383. v(-0.554014,0.125000,0.554014);
  384. v(-0.530330,-0.000000,0.530330);
  385. v(-0.554014,-0.125000,0.554014);
  386. v(-0.618719,-0.216506,0.618719);
  387. v(-0.707107,-0.250000,0.707107);
  388. v(-0.795496,-0.216506,0.795495);
  389. v(-0.860200,-0.125000,0.860200);
  390. v(-0.760952,-0.000000,0.991692);
  391. v(-0.740563,0.125000,0.965120);
  392. v(-0.684857,0.216506,0.892523);
  393. v(-0.608762,0.250000,0.793354);
  394. v(-0.532667,0.216506,0.694184);
  395. v(-0.476961,0.125000,0.621588);
  396. v(-0.456571,-0.000000,0.595015);
  397. v(-0.476961,-0.125000,0.621588);
  398. v(-0.532667,-0.216506,0.694184);
  399. v(-0.608762,-0.250000,0.793354);
  400. v(-0.684857,-0.216506,0.892523);
  401. v(-0.740563,-0.125000,0.965120);
  402. v(-0.625000,-0.000000,1.082532);
  403. v(-0.608253,0.125000,1.053526);
  404. v(-0.562500,0.216507,0.974279);
  405. v(-0.500000,0.250000,0.866026);
  406. v(-0.437500,0.216507,0.757773);
  407. v(-0.391747,0.125000,0.678526);
  408. v(-0.375000,-0.000000,0.649519);
  409. v(-0.391747,-0.125000,0.678526);
  410. v(-0.437500,-0.216506,0.757773);
  411. v(-0.500000,-0.250000,0.866026);
  412. v(-0.562500,-0.216506,0.974279);
  413. v(-0.608253,-0.125000,1.053526);
  414. v(-0.478355,-0.000000,1.154850);
  415. v(-0.465537,0.125000,1.123906);
  416. v(-0.430519,0.216507,1.039365);
  417. v(-0.382684,0.250000,0.923880);
  418. v(-0.334848,0.216506,0.808395);
  419. v(-0.299830,0.125000,0.723854);
  420. v(-0.287013,-0.000000,0.692910);
  421. v(-0.299830,-0.125000,0.723854);
  422. v(-0.334848,-0.216506,0.808395);
  423. v(-0.382684,-0.250000,0.923880);
  424. v(-0.430519,-0.216506,1.039365);
  425. v(-0.465537,-0.125000,1.123906);
  426. v(-0.323524,-0.000000,1.207408);
  427. v(-0.314855,0.125000,1.175055);
  428. v(-0.291172,0.216506,1.086667);
  429. v(-0.258819,0.250000,0.965926);
  430. v(-0.226467,0.216506,0.845185);
  431. v(-0.202783,0.125000,0.756797);
  432. v(-0.194115,-0.000000,0.724445);
  433. v(-0.202783,-0.125000,0.756797);
  434. v(-0.226467,-0.216506,0.845185);
  435. v(-0.258819,-0.250000,0.965926);
  436. v(-0.291172,-0.216506,1.086667);
  437. v(-0.314855,-0.125000,1.175055);
  438. v(-0.163158,-0.000000,1.239306);
  439. v(-0.158787,0.125000,1.206099);
  440. v(-0.146843,0.216507,1.115376);
  441. v(-0.130527,0.250000,0.991445);
  442. v(-0.114211,0.216507,0.867515);
  443. v(-0.102267,0.125000,0.776791);
  444. v(-0.097895,-0.000000,0.743584);
  445. v(-0.102267,-0.125000,0.776791);
  446. v(-0.114211,-0.216506,0.867515);
  447. v(-0.130527,-0.250000,0.991445);
  448. v(-0.146843,-0.216506,1.115376);
  449. v(-0.158787,-0.125000,1.206099);
  450. v(-0.000000,-0.000000,1.250000);
  451. v(-0.000000,0.125000,1.216507);
  452. v(-0.000000,0.216506,1.125000);
  453. v(-0.000000,0.250000,1.000000);
  454. v(-0.000000,0.216506,0.875000);
  455. v(-0.000000,0.125000,0.783494);
  456. v(-0.000000,-0.000000,0.750000);
  457. v(-0.000000,-0.125000,0.783494);
  458. v(-0.000000,-0.216506,0.875000);
  459. v(-0.000000,-0.250000,1.000000);
  460. v(-0.000000,-0.216506,1.125000);
  461. v(-0.000000,-0.125000,1.216507);
  462. v(0.163158,-0.000000,1.239306);
  463. v(0.158786,0.125000,1.206099);
  464. v(0.146842,0.216507,1.115376);
  465. v(0.130526,0.250000,0.991445);
  466. v(0.114210,0.216507,0.867515);
  467. v(0.102266,0.125000,0.776791);
  468. v(0.097894,-0.000000,0.743584);
  469. v(0.102266,-0.125000,0.776791);
  470. v(0.114210,-0.216506,0.867515);
  471. v(0.130526,-0.250000,0.991445);
  472. v(0.146842,-0.216506,1.115376);
  473. v(0.158786,-0.125000,1.206099);
  474. v(0.323523,-0.000000,1.207408);
  475. v(0.314855,0.125000,1.175055);
  476. v(0.291171,0.216506,1.086667);
  477. v(0.258819,0.250000,0.965926);
  478. v(0.226466,0.216506,0.845185);
  479. v(0.202783,0.125000,0.756797);
  480. v(0.194114,-0.000000,0.724445);
  481. v(0.202783,-0.125000,0.756797);
  482. v(0.226466,-0.216506,0.845185);
  483. v(0.258819,-0.250000,0.965926);
  484. v(0.291171,-0.216506,1.086667);
  485. v(0.314855,-0.125000,1.175055);
  486. v(0.478354,-0.000000,1.154850);
  487. v(0.465537,0.125000,1.123906);
  488. v(0.430519,0.216507,1.039365);
  489. v(0.382683,0.250000,0.923880);
  490. v(0.334848,0.216506,0.808395);
  491. v(0.299830,0.125000,0.723854);
  492. v(0.287012,-0.000000,0.692910);
  493. v(0.299830,-0.125000,0.723854);
  494. v(0.334848,-0.216506,0.808395);
  495. v(0.382683,-0.250000,0.923880);
  496. v(0.430519,-0.216506,1.039365);
  497. v(0.465537,-0.125000,1.123906);
  498. v(0.625000,-0.000000,1.082532);
  499. v(0.608253,0.125000,1.053526);
  500. v(0.562500,0.216507,0.974279);
  501. v(0.500000,0.250000,0.866026);
  502. v(0.437500,0.216507,0.757773);
  503. v(0.391746,0.125000,0.678526);
  504. v(0.375000,-0.000000,0.649519);
  505. v(0.391746,-0.125000,0.678526);
  506. v(0.437500,-0.216506,0.757773);
  507. v(0.500000,-0.250000,0.866026);
  508. v(0.562500,-0.216506,0.974279);
  509. v(0.608253,-0.125000,1.053526);
  510. v(0.760952,-0.000000,0.991692);
  511. v(0.740562,0.125000,0.965120);
  512. v(0.684856,0.216506,0.892523);
  513. v(0.608761,0.250000,0.793354);
  514. v(0.532666,0.216506,0.694184);
  515. v(0.476960,0.125000,0.621588);
  516. v(0.456571,-0.000000,0.595015);
  517. v(0.476960,-0.125000,0.621588);
  518. v(0.532666,-0.216506,0.694184);
  519. v(0.608761,-0.250000,0.793354);
  520. v(0.684856,-0.216506,0.892523);
  521. v(0.740562,-0.125000,0.965120);
  522. v(0.883883,-0.000000,0.883884);
  523. v(0.860199,0.125000,0.860200);
  524. v(0.795495,0.216506,0.795496);
  525. v(0.707106,0.250000,0.707107);
  526. v(0.618718,0.216506,0.618719);
  527. v(0.554013,0.125000,0.554014);
  528. v(0.530330,-0.000000,0.530330);
  529. v(0.554013,-0.125000,0.554014);
  530. v(0.618718,-0.216506,0.618719);
  531. v(0.707106,-0.250000,0.707107);
  532. v(0.795495,-0.216506,0.795496);
  533. v(0.860199,-0.125000,0.860200);
  534. v(0.991691,-0.000000,0.760952);
  535. v(0.965119,0.125000,0.740562);
  536. v(0.892522,0.216507,0.684857);
  537. v(0.793353,0.250000,0.608762);
  538. v(0.694184,0.216506,0.532667);
  539. v(0.621587,0.125000,0.476961);
  540. v(0.595015,-0.000000,0.456571);
  541. v(0.621587,-0.125000,0.476961);
  542. v(0.694184,-0.216506,0.532667);
  543. v(0.793353,-0.250000,0.608762);
  544. v(0.892522,-0.216506,0.684857);
  545. v(0.965119,-0.125000,0.740562);
  546. v(1.082531,-0.000000,0.625000);
  547. v(1.053525,0.125000,0.608254);
  548. v(0.974278,0.216506,0.562500);
  549. v(0.866025,0.250000,0.500000);
  550. v(0.757772,0.216506,0.437500);
  551. v(0.678525,0.125000,0.391747);
  552. v(0.649519,-0.000000,0.375000);
  553. v(0.678525,-0.125000,0.391747);
  554. v(0.757772,-0.216506,0.437500);
  555. v(0.866025,-0.250000,0.500000);
  556. v(0.974278,-0.216506,0.562500);
  557. v(1.053525,-0.125000,0.608254);
  558. v(1.154849,-0.000000,0.478355);
  559. v(1.123905,0.125000,0.465537);
  560. v(1.039364,0.216506,0.430519);
  561. v(0.923879,0.250000,0.382684);
  562. v(0.808394,0.216506,0.334848);
  563. v(0.723853,0.125000,0.299830);
  564. v(0.692909,-0.000000,0.287013);
  565. v(0.723853,-0.125000,0.299830);
  566. v(0.808394,-0.216506,0.334848);
  567. v(0.923879,-0.250000,0.382684);
  568. v(1.039364,-0.216506,0.430519);
  569. v(1.123905,-0.125000,0.465537);
  570. v(1.207407,-0.000000,0.323524);
  571. v(1.175055,0.125000,0.314855);
  572. v(1.086666,0.216506,0.291171);
  573. v(0.965926,0.250000,0.258819);
  574. v(0.845185,0.216506,0.226467);
  575. v(0.756796,0.125000,0.202783);
  576. v(0.724444,-0.000000,0.194114);
  577. v(0.756796,-0.125000,0.202783);
  578. v(0.845185,-0.216506,0.226467);
  579. v(0.965926,-0.250000,0.258819);
  580. v(1.086666,-0.216506,0.291171);
  581. v(1.175055,-0.125000,0.314855);
  582. v(1.239306,-0.000000,0.163158);
  583. v(1.206099,0.125000,0.158786);
  584. v(1.115375,0.216506,0.146842);
  585. v(0.991445,0.250000,0.130527);
  586. v(0.867514,0.216506,0.114211);
  587. v(0.776790,0.125000,0.102267);
  588. v(0.743583,-0.000000,0.097895);
  589. v(0.776790,-0.125000,0.102267);
  590. v(0.867514,-0.216506,0.114211);
  591. v(0.991445,-0.250000,0.130527);
  592. v(1.115375,-0.216506,0.146842);
  593. v(1.206099,-0.125000,0.158786);
  594. f4n(0,12,13,1, 0, 0,1,2,3);
  595. f4n(1,13,14,2, 0, 3,2,4,5);
  596. f4n(2,14,15,3, 0, 5,4,6,6);
  597. f4n(3,15,16,4, 0, 6,6,7,8);
  598. f4n(4,16,17,5, 0, 8,7,9,10);
  599. f4n(5,17,18,6, 0, 10,9,11,12);
  600. f4n(6,18,19,7, 0, 12,11,13,14);
  601. f4n(7,19,20,8, 0, 14,13,15,16);
  602. f4n(8,20,21,9, 0, 16,15,17,17);
  603. f4n(9,21,22,10, 0, 17,17,18,19);
  604. f4n(10,22,23,11, 0, 19,18,20,21);
  605. f4n(0,11,23,12, 0, 0,21,20,1);
  606. f4n(12,24,25,13, 0, 1,22,23,2);
  607. f4n(13,25,26,14, 0, 2,23,24,4);
  608. f4n(14,26,27,15, 0, 4,24,6,6);
  609. f4n(15,27,28,16, 0, 6,6,25,7);
  610. f4n(16,28,29,17, 0, 7,25,26,9);
  611. f4n(17,29,30,18, 0, 9,26,27,11);
  612. f4n(18,30,31,19, 0, 11,27,28,13);
  613. f4n(19,31,32,20, 0, 13,28,29,15);
  614. f4n(20,32,33,21, 0, 15,29,17,17);
  615. f4n(21,33,34,22, 0, 17,17,30,18);
  616. f4n(22,34,35,23, 0, 18,30,31,20);
  617. f4n(23,35,24,12, 0, 20,31,22,1);
  618. f4n(24,36,37,25, 0, 22,32,33,23);
  619. f4n(25,37,38,26, 0, 23,33,34,24);
  620. f4n(26,38,39,27, 0, 24,34,6,6);
  621. f4n(27,39,40,28, 0, 6,6,35,25);
  622. f4n(28,40,41,29, 0, 25,35,36,26);
  623. f4n(29,41,42,30, 0, 26,36,37,27);
  624. f4n(30,42,43,31, 0, 27,37,38,28);
  625. f4n(31,43,44,32, 0, 28,38,39,29);
  626. f4n(32,44,45,33, 0, 29,39,17,17);
  627. f4n(33,45,46,34, 0, 17,17,40,30);
  628. f4n(34,46,47,35, 0, 30,40,41,31);
  629. f4n(35,47,36,24, 0, 31,41,32,22);
  630. f4n(36,48,49,37, 0, 32,42,43,33);
  631. f4n(37,49,50,38, 0, 33,43,44,34);
  632. f4n(38,50,51,39, 0, 34,44,6,6);
  633. f4n(39,51,52,40, 0, 6,6,45,35);
  634. f4n(40,52,53,41, 0, 35,45,46,36);
  635. f4n(41,53,54,42, 0, 36,46,47,37);
  636. f4n(42,54,55,43, 0, 37,47,48,38);
  637. f4n(43,55,56,44, 0, 38,48,49,39);
  638. f4n(44,56,57,45, 0, 39,49,17,17);
  639. f4n(45,57,58,46, 0, 17,17,50,40);
  640. f4n(46,58,59,47, 0, 40,50,51,41);
  641. f4n(47,59,48,36, 0, 41,51,42,32);
  642. f4n(48,60,61,49, 0, 42,52,53,43);
  643. f4n(49,61,62,50, 0, 43,53,54,44);
  644. f4n(50,62,63,51, 0, 44,54,6,6);
  645. f4n(51,63,64,52, 0, 6,6,55,45);
  646. f4n(52,64,65,53, 0, 45,55,56,46);
  647. f4n(53,65,66,54, 0, 46,56,57,47);
  648. f4n(54,66,67,55, 0, 47,57,58,48);
  649. f4n(55,67,68,56, 0, 48,58,59,49);
  650. f4n(56,68,69,57, 0, 49,59,17,17);
  651. f4n(57,69,70,58, 0, 17,17,60,50);
  652. f4n(58,70,71,59, 0, 50,60,61,51);
  653. f4n(59,71,60,48, 0, 51,61,52,42);
  654. f4n(60,72,73,61, 0, 52,62,63,53);
  655. f4n(61,73,74,62, 0, 53,63,64,54);
  656. f4n(62,74,75,63, 0, 54,64,6,6);
  657. f4n(63,75,76,64, 0, 6,6,65,55);
  658. f4n(64,76,77,65, 0, 55,65,66,56);
  659. f4n(65,77,78,66, 0, 56,66,67,57);
  660. f4n(66,78,79,67, 0, 57,67,68,58);
  661. f4n(67,79,80,68, 0, 58,68,69,59);
  662. f4n(68,80,81,69, 0, 59,69,17,17);
  663. f4n(69,81,82,70, 0, 17,17,70,60);
  664. f4n(70,82,83,71, 0, 60,70,71,61);
  665. f4n(71,83,72,60, 0, 61,71,62,52);
  666. f4n(72,84,85,73, 0, 62,72,73,63);
  667. f4n(73,85,86,74, 0, 63,73,74,64);
  668. f4n(74,86,87,75, 0, 64,74,6,6);
  669. f4n(75,87,88,76, 0, 6,6,75,65);
  670. f4n(76,88,89,77, 0, 65,75,76,66);
  671. f4n(77,89,90,78, 0, 66,76,77,67);
  672. f4n(78,90,91,79, 0, 67,77,78,68);
  673. f4n(79,91,92,80, 0, 68,78,79,69);
  674. f4n(80,92,93,81, 0, 69,79,17,17);
  675. f4n(81,93,94,82, 0, 17,17,80,70);
  676. f4n(82,94,95,83, 0, 70,80,81,71);
  677. f4n(83,95,84,72, 0, 71,81,72,62);
  678. f4n(84,96,97,85, 0, 72,82,83,73);
  679. f4n(85,97,98,86, 0, 73,83,84,74);
  680. f4n(86,98,99,87, 0, 74,84,6,6);
  681. f4n(87,99,100,88, 0, 6,6,85,75);
  682. f4n(88,100,101,89, 0, 75,85,86,76);
  683. f4n(89,101,102,90, 0, 76,86,87,77);
  684. f4n(90,102,103,91, 0, 77,87,88,78);
  685. f4n(91,103,104,92, 0, 78,88,89,79);
  686. f4n(92,104,105,93, 0, 79,89,17,17);
  687. f4n(93,105,106,94, 0, 17,17,90,80);
  688. f4n(94,106,107,95, 0, 80,90,91,81);
  689. f4n(95,107,96,84, 0, 81,91,82,72);
  690. f4n(96,108,109,97, 0, 82,92,93,83);
  691. f4n(97,109,110,98, 0, 83,93,94,84);
  692. f4n(98,110,111,99, 0, 84,94,6,6);
  693. f4n(99,111,112,100, 0, 6,6,95,85);
  694. f4n(100,112,113,101, 0, 85,95,96,86);
  695. f4n(101,113,114,102, 0, 86,96,97,87);
  696. f4n(102,114,115,103, 0, 87,97,98,88);
  697. f4n(103,115,116,104, 0, 88,98,99,89);
  698. f4n(104,116,117,105, 0, 89,99,17,17);
  699. f4n(105,117,118,106, 0, 17,17,100,90);
  700. f4n(106,118,119,107, 0, 90,100,101,91);
  701. f4n(107,119,108,96, 0, 91,101,92,82);
  702. f4n(108,120,121,109, 0, 92,102,103,93);
  703. f4n(109,121,122,110, 0, 93,103,104,94);
  704. f4n(110,122,123,111, 0, 94,104,6,6);
  705. f4n(111,123,124,112, 0, 6,6,105,95);
  706. f4n(112,124,125,113, 0, 95,105,106,96);
  707. f4n(113,125,126,114, 0, 96,106,107,97);
  708. f4n(114,126,127,115, 0, 97,107,108,98);
  709. f4n(115,127,128,116, 0, 98,108,109,99);
  710. f4n(116,128,129,117, 0, 99,109,17,17);
  711. f4n(117,129,130,118, 0, 17,17,110,100);
  712. f4n(118,130,131,119, 0, 100,110,111,101);
  713. f4n(119,131,120,108, 0, 101,111,102,92);
  714. f4n(120,132,133,121, 0, 102,112,113,103);
  715. f4n(121,133,134,122, 0, 103,113,114,104);
  716. f4n(122,134,135,123, 0, 104,114,6,6);
  717. f4n(123,135,136,124, 0, 6,6,115,105);
  718. f4n(124,136,137,125, 0, 105,115,116,106);
  719. f4n(125,137,138,126, 0, 106,116,117,107);
  720. f4n(126,138,139,127, 0, 107,117,118,108);
  721. f4n(127,139,140,128, 0, 108,118,119,109);
  722. f4n(128,140,141,129, 0, 109,119,17,17);
  723. f4n(129,141,142,130, 0, 17,17,120,110);
  724. f4n(130,142,143,131, 0, 110,120,121,111);
  725. f4n(131,143,132,120, 0, 111,121,112,102);
  726. f4n(132,144,145,133, 0, 112,122,123,113);
  727. f4n(133,145,146,134, 0, 113,123,124,114);
  728. f4n(134,146,147,135, 0, 114,124,6,6);
  729. f4n(135,147,148,136, 0, 6,6,125,115);
  730. f4n(136,148,149,137, 0, 115,125,126,116);
  731. f4n(137,149,150,138, 0, 116,126,127,117);
  732. f4n(138,150,151,139, 0, 117,127,128,118);
  733. f4n(139,151,152,140, 0, 118,128,129,119);
  734. f4n(140,152,153,141, 0, 119,129,17,17);
  735. f4n(141,153,154,142, 0, 17,17,130,120);
  736. f4n(142,154,155,143, 0, 120,130,131,121);
  737. f4n(143,155,144,132, 0, 121,131,122,112);
  738. f4n(144,156,157,145, 0, 122,132,133,123);
  739. f4n(145,157,158,146, 0, 123,133,134,124);
  740. f4n(146,158,159,147, 0, 124,134,6,6);
  741. f4n(147,159,160,148, 0, 6,6,135,125);
  742. f4n(148,160,161,149, 0, 125,135,136,126);
  743. f4n(149,161,162,150, 0, 126,136,137,127);
  744. f4n(150,162,163,151, 0, 127,137,138,128);
  745. f4n(151,163,164,152, 0, 128,138,139,129);
  746. f4n(152,164,165,153, 0, 129,139,17,17);
  747. f4n(153,165,166,154, 0, 17,17,140,130);
  748. f4n(154,166,167,155, 0, 130,140,141,131);
  749. f4n(155,167,156,144, 0, 131,141,132,122);
  750. f4n(156,168,169,157, 0, 132,142,143,133);
  751. f4n(157,169,170,158, 0, 133,143,144,134);
  752. f4n(158,170,171,159, 0, 134,144,6,6);
  753. f4n(159,171,172,160, 0, 6,6,145,135);
  754. f4n(160,172,173,161, 0, 135,145,146,136);
  755. f4n(161,173,174,162, 0, 136,146,147,137);
  756. f4n(162,174,175,163, 0, 137,147,148,138);
  757. f4n(163,175,176,164, 0, 138,148,149,139);
  758. f4n(164,176,177,165, 0, 139,149,17,17);
  759. f4n(165,177,178,166, 0, 17,17,150,140);
  760. f4n(166,178,179,167, 0, 140,150,151,141);
  761. f4n(167,179,168,156, 0, 141,151,142,132);
  762. f4n(168,180,181,169, 0, 142,152,153,143);
  763. f4n(169,181,182,170, 0, 143,153,154,144);
  764. f4n(170,182,183,171, 0, 144,154,6,6);
  765. f4n(171,183,184,172, 0, 6,6,155,145);
  766. f4n(172,184,185,173, 0, 145,155,156,146);
  767. f4n(173,185,186,174, 0, 146,156,157,147);
  768. f4n(174,186,187,175, 0, 147,157,158,148);
  769. f4n(175,187,188,176, 0, 148,158,159,149);
  770. f4n(176,188,189,177, 0, 149,159,17,17);
  771. f4n(177,189,190,178, 0, 17,17,160,150);
  772. f4n(178,190,191,179, 0, 150,160,161,151);
  773. f4n(179,191,180,168, 0, 151,161,152,142);
  774. f4n(180,192,193,181, 0, 152,162,163,153);
  775. f4n(181,193,194,182, 0, 153,163,164,154);
  776. f4n(182,194,195,183, 0, 154,164,6,6);
  777. f4n(183,195,196,184, 0, 6,6,165,155);
  778. f4n(184,196,197,185, 0, 155,165,166,156);
  779. f4n(185,197,198,186, 0, 156,166,167,157);
  780. f4n(186,198,199,187, 0, 157,167,168,158);
  781. f4n(187,199,200,188, 0, 158,168,169,159);
  782. f4n(188,200,201,189, 0, 159,169,17,17);
  783. f4n(189,201,202,190, 0, 17,17,170,160);
  784. f4n(190,202,203,191, 0, 160,170,171,161);
  785. f4n(191,203,192,180, 0, 161,171,162,152);
  786. f4n(192,204,205,193, 0, 162,172,173,163);
  787. f4n(193,205,206,194, 0, 163,173,174,164);
  788. f4n(194,206,207,195, 0, 164,174,6,6);
  789. f4n(195,207,208,196, 0, 6,6,175,165);
  790. f4n(196,208,209,197, 0, 165,175,176,166);
  791. f4n(197,209,210,198, 0, 166,176,177,167);
  792. f4n(198,210,211,199, 0, 167,177,178,168);
  793. f4n(199,211,212,200, 0, 168,178,179,169);
  794. f4n(200,212,213,201, 0, 169,179,17,17);
  795. f4n(201,213,214,202, 0, 17,17,180,170);
  796. f4n(202,214,215,203, 0, 170,180,181,171);
  797. f4n(203,215,204,192, 0, 171,181,172,162);
  798. f4n(204,216,217,205, 0, 172,182,183,173);
  799. f4n(205,217,218,206, 0, 173,183,184,174);
  800. f4n(206,218,219,207, 0, 174,184,6,6);
  801. f4n(207,219,220,208, 0, 6,6,185,175);
  802. f4n(208,220,221,209, 0, 175,185,186,176);
  803. f4n(209,221,222,210, 0, 176,186,187,177);
  804. f4n(210,222,223,211, 0, 177,187,188,178);
  805. f4n(211,223,224,212, 0, 178,188,189,179);
  806. f4n(212,224,225,213, 0, 179,189,17,17);
  807. f4n(213,225,226,214, 0, 17,17,190,180);
  808. f4n(214,226,227,215, 0, 180,190,191,181);
  809. f4n(215,227,216,204, 0, 181,191,182,172);
  810. f4n(216,228,229,217, 0, 182,192,193,183);
  811. f4n(217,229,230,218, 0, 183,193,194,184);
  812. f4n(218,230,231,219, 0, 184,194,6,6);
  813. f4n(219,231,232,220, 0, 6,6,195,185);
  814. f4n(220,232,233,221, 0, 185,195,196,186);
  815. f4n(221,233,234,222, 0, 186,196,197,187);
  816. f4n(222,234,235,223, 0, 187,197,198,188);
  817. f4n(223,235,236,224, 0, 188,198,199,189);
  818. f4n(224,236,237,225, 0, 189,199,17,17);
  819. f4n(225,237,238,226, 0, 17,17,200,190);
  820. f4n(226,238,239,227, 0, 190,200,201,191);
  821. f4n(227,239,228,216, 0, 191,201,192,182);
  822. f4n(228,240,241,229, 0, 192,202,203,193);
  823. f4n(229,241,242,230, 0, 193,203,204,194);
  824. f4n(230,242,243,231, 0, 194,204,6,6);
  825. f4n(231,243,244,232, 0, 6,6,205,195);
  826. f4n(232,244,245,233, 0, 195,205,206,196);
  827. f4n(233,245,246,234, 0, 196,206,207,197);
  828. f4n(234,246,247,235, 0, 197,207,208,198);
  829. f4n(235,247,248,236, 0, 198,208,209,199);
  830. f4n(236,248,249,237, 0, 199,209,17,17);
  831. f4n(237,249,250,238, 0, 17,17,210,200);
  832. f4n(238,250,251,239, 0, 200,210,211,201);
  833. f4n(239,251,240,228, 0, 201,211,202,192);
  834. f4n(240,252,253,241, 0, 202,212,213,203);
  835. f4n(241,253,254,242, 0, 203,213,214,204);
  836. f4n(242,254,255,243, 0, 204,214,6,6);
  837. f4n(243,255,256,244, 0, 6,6,215,205);
  838. f4n(244,256,257,245, 0, 205,215,216,206);
  839. f4n(245,257,258,246, 0, 206,216,217,207);
  840. f4n(246,258,259,247, 0, 207,217,218,208);
  841. f4n(247,259,260,248, 0, 208,218,219,209);
  842. f4n(248,260,261,249, 0, 209,219,17,17);
  843. f4n(249,261,262,250, 0, 17,17,220,210);
  844. f4n(250,262,263,251, 0, 210,220,221,211);
  845. f4n(251,263,252,240, 0, 211,221,212,202);
  846. f4n(252,264,265,253, 0, 212,222,223,213);
  847. f4n(253,265,266,254, 0, 213,223,224,214);
  848. f4n(254,266,267,255, 0, 214,224,6,6);
  849. f4n(255,267,268,256, 0, 6,6,225,215);
  850. f4n(256,268,269,257, 0, 215,225,226,216);
  851. f4n(257,269,270,258, 0, 216,226,227,217);
  852. f4n(258,270,271,259, 0, 217,227,228,218);
  853. f4n(259,271,272,260, 0, 218,228,229,219);
  854. f4n(260,272,273,261, 0, 219,229,17,17);
  855. f4n(261,273,274,262, 0, 17,17,230,220);
  856. f4n(262,274,275,263, 0, 220,230,231,221);
  857. f4n(263,275,264,252, 0, 221,231,222,212);
  858. f4n(264,276,277,265, 0, 222,232,233,223);
  859. f4n(265,277,278,266, 0, 223,233,234,224);
  860. f4n(266,278,279,267, 0, 224,234,6,6);
  861. f4n(267,279,280,268, 0, 6,6,235,225);
  862. f4n(268,280,281,269, 0, 225,235,236,226);
  863. f4n(269,281,282,270, 0, 226,236,237,227);
  864. f4n(270,282,283,271, 0, 227,237,238,228);
  865. f4n(271,283,284,272, 0, 228,238,239,229);
  866. f4n(272,284,285,273, 0, 229,239,17,17);
  867. f4n(273,285,286,274, 0, 17,17,240,230);
  868. f4n(274,286,287,275, 0, 230,240,241,231);
  869. f4n(275,287,276,264, 0, 231,241,232,222);
  870. f4n(276,288,289,277, 0, 232,242,10,233);
  871. f4n(277,289,290,278, 0, 233,10,8,234);
  872. f4n(278,290,291,279, 0, 234,8,6,6);
  873. f4n(279,291,292,280, 0, 6,6,5,235);
  874. f4n(280,292,293,281, 0, 235,5,3,236);
  875. f4n(281,293,294,282, 0, 236,3,0,237);
  876. f4n(282,294,295,283, 0, 237,0,21,238);
  877. f4n(283,295,296,284, 0, 238,21,19,239);
  878. f4n(284,296,297,285, 0, 239,19,17,17);
  879. f4n(285,297,298,286, 0, 17,17,16,240);
  880. f4n(286,298,299,287, 0, 240,16,14,241);
  881. f4n(287,299,288,276, 0, 241,14,242,232);
  882. f4n(288,300,301,289, 0, 242,11,9,10);
  883. f4n(289,301,302,290, 0, 10,9,7,8);
  884. f4n(290,302,303,291, 0, 8,7,6,6);
  885. f4n(291,303,304,292, 0, 6,6,4,5);
  886. f4n(292,304,305,293, 0, 5,4,2,3);
  887. f4n(293,305,306,294, 0, 3,2,1,0);
  888. f4n(294,306,307,295, 0, 0,1,20,21);
  889. f4n(295,307,308,296, 0, 21,20,18,19);
  890. f4n(296,308,309,297, 0, 19,18,17,17);
  891. f4n(297,309,310,298, 0, 17,17,15,16);
  892. f4n(298,310,311,299, 0, 16,15,13,14);
  893. f4n(299,311,300,288, 0, 14,13,11,242);
  894. f4n(300,312,313,301, 0, 11,27,243,9);
  895. f4n(301,313,314,302, 0, 9,243,25,7);
  896. f4n(302,314,315,303, 0, 7,25,6,6);
  897. f4n(303,315,316,304, 0, 6,6,24,4);
  898. f4n(304,316,317,305, 0, 4,24,23,2);
  899. f4n(305,317,318,306, 0, 2,23,22,1);
  900. f4n(306,318,319,307, 0, 1,22,31,20);
  901. f4n(307,319,320,308, 0, 20,31,30,18);
  902. f4n(308,320,321,309, 0, 18,30,17,17);
  903. f4n(309,321,322,310, 0, 17,17,29,15);
  904. f4n(310,322,323,311, 0, 15,29,28,13);
  905. f4n(311,323,312,300, 0, 13,28,27,11);
  906. f4n(312,324,325,313, 0, 27,37,36,243);
  907. f4n(313,325,326,314, 0, 243,36,35,25);
  908. f4n(314,326,327,315, 0, 25,35,6,6);
  909. f4n(315,327,328,316, 0, 6,6,34,24);
  910. f4n(316,328,329,317, 0, 24,34,33,23);
  911. f4n(317,329,330,318, 0, 23,33,32,22);
  912. f4n(318,330,331,319, 0, 22,32,41,31);
  913. f4n(319,331,332,320, 0, 31,41,40,30);
  914. f4n(320,332,333,321, 0, 30,40,17,17);
  915. f4n(321,333,334,322, 0, 17,17,39,29);
  916. f4n(322,334,335,323, 0, 29,39,38,28);
  917. f4n(323,335,324,312, 0, 28,38,37,27);
  918. f4n(324,336,337,325, 0, 37,47,46,36);
  919. f4n(325,337,338,326, 0, 36,46,45,35);
  920. f4n(326,338,339,327, 0, 35,45,6,6);
  921. f4n(327,339,340,328, 0, 6,6,44,34);
  922. f4n(328,340,341,329, 0, 34,44,43,33);
  923. f4n(329,341,342,330, 0, 33,43,42,32);
  924. f4n(330,342,343,331, 0, 32,42,51,41);
  925. f4n(331,343,344,332, 0, 41,51,50,40);
  926. f4n(332,344,345,333, 0, 40,50,17,17);
  927. f4n(333,345,346,334, 0, 17,17,49,39);
  928. f4n(334,346,347,335, 0, 39,49,48,38);
  929. f4n(335,347,336,324, 0, 38,48,47,37);
  930. f4n(336,348,349,337, 0, 47,57,56,46);
  931. f4n(337,349,350,338, 0, 46,56,55,45);
  932. f4n(338,350,351,339, 0, 45,55,6,6);
  933. f4n(339,351,352,340, 0, 6,6,54,44);
  934. f4n(340,352,353,341, 0, 44,54,53,43);
  935. f4n(341,353,354,342, 0, 43,53,52,42);
  936. f4n(342,354,355,343, 0, 42,52,61,51);
  937. f4n(343,355,356,344, 0, 51,61,60,50);
  938. f4n(344,356,357,345, 0, 50,60,17,17);
  939. f4n(345,357,358,346, 0, 17,17,59,49);
  940. f4n(346,358,359,347, 0, 49,59,58,48);
  941. f4n(347,359,348,336, 0, 48,58,57,47);
  942. f4n(348,360,361,349, 0, 57,67,66,56);
  943. f4n(349,361,362,350, 0, 56,66,65,55);
  944. f4n(350,362,363,351, 0, 55,65,6,6);
  945. f4n(351,363,364,352, 0, 6,6,64,54);
  946. f4n(352,364,365,353, 0, 54,64,63,53);
  947. f4n(353,365,366,354, 0, 53,63,62,52);
  948. f4n(354,366,367,355, 0, 52,62,71,61);
  949. f4n(355,367,368,356, 0, 61,71,70,60);
  950. f4n(356,368,369,357, 0, 60,70,17,17);
  951. f4n(357,369,370,358, 0, 17,17,69,59);
  952. f4n(358,370,371,359, 0, 59,69,68,58);
  953. f4n(359,371,360,348, 0, 58,68,67,57);
  954. f4n(360,372,373,361, 0, 67,77,76,66);
  955. f4n(361,373,374,362, 0, 66,76,75,65);
  956. f4n(362,374,375,363, 0, 65,75,6,6);
  957. f4n(363,375,376,364, 0, 6,6,74,64);
  958. f4n(364,376,377,365, 0, 64,74,73,63);
  959. f4n(365,377,378,366, 0, 63,73,72,62);
  960. f4n(366,378,379,367, 0, 62,72,81,71);
  961. f4n(367,379,380,368, 0, 71,81,80,70);
  962. f4n(368,380,381,369, 0, 70,80,17,17);
  963. f4n(369,381,382,370, 0, 17,17,79,69);
  964. f4n(370,382,383,371, 0, 69,79,78,68);
  965. f4n(371,383,372,360, 0, 68,78,77,67);
  966. f4n(372,384,385,373, 0, 77,87,86,76);
  967. f4n(373,385,386,374, 0, 76,86,85,75);
  968. f4n(374,386,387,375, 0, 75,85,6,6);
  969. f4n(375,387,388,376, 0, 6,6,84,74);
  970. f4n(376,388,389,377, 0, 74,84,83,73);
  971. f4n(377,389,390,378, 0, 73,83,82,72);
  972. f4n(378,390,391,379, 0, 72,82,91,81);
  973. f4n(379,391,392,380, 0, 81,91,90,80);
  974. f4n(380,392,393,381, 0, 80,90,17,17);
  975. f4n(381,393,394,382, 0, 17,17,89,79);
  976. f4n(382,394,395,383, 0, 79,89,88,78);
  977. f4n(383,395,384,372, 0, 78,88,87,77);
  978. f4n(384,396,397,385, 0, 87,97,96,86);
  979. f4n(385,397,398,386, 0, 86,96,95,85);
  980. f4n(386,398,399,387, 0, 85,95,6,6);
  981. f4n(387,399,400,388, 0, 6,6,94,84);
  982. f4n(388,400,401,389, 0, 84,94,93,83);
  983. f4n(389,401,402,390, 0, 83,93,92,82);
  984. f4n(390,402,403,391, 0, 82,92,101,91);
  985. f4n(391,403,404,392, 0, 91,101,100,90);
  986. f4n(392,404,405,393, 0, 90,100,17,17);
  987. f4n(393,405,406,394, 0, 17,17,99,89);
  988. f4n(394,406,407,395, 0, 89,99,98,88);
  989. f4n(395,407,396,384, 0, 88,98,97,87);
  990. f4n(396,408,409,397, 0, 97,107,106,96);
  991. f4n(397,409,410,398, 0, 96,106,105,95);
  992. f4n(398,410,411,399, 0, 95,105,6,6);
  993. f4n(399,411,412,400, 0, 6,6,104,94);
  994. f4n(400,412,413,401, 0, 94,104,103,93);
  995. f4n(401,413,414,402, 0, 93,103,102,92);
  996. f4n(402,414,415,403, 0, 92,102,111,101);
  997. f4n(403,415,416,404, 0, 101,111,110,100);
  998. f4n(404,416,417,405, 0, 100,110,17,17);
  999. f4n(405,417,418,406, 0, 17,17,109,99);
  1000. f4n(406,418,419,407, 0, 99,109,244,98);
  1001. f4n(407,419,408,396, 0, 98,244,107,97);
  1002. f4n(408,420,421,409, 0, 107,117,116,106);
  1003. f4n(409,421,422,410, 0, 106,116,115,105);
  1004. f4n(410,422,423,411, 0, 105,115,6,6);
  1005. f4n(411,423,424,412, 0, 6,6,114,104);
  1006. f4n(412,424,425,413, 0, 104,114,113,103);
  1007. f4n(413,425,426,414, 0, 103,113,112,102);
  1008. f4n(414,426,427,415, 0, 102,112,121,111);
  1009. f4n(415,427,428,416, 0, 111,121,120,110);
  1010. f4n(416,428,429,417, 0, 110,120,17,17);
  1011. f4n(417,429,430,418, 0, 17,17,119,109);
  1012. f4n(418,430,431,419, 0, 109,119,118,244);
  1013. f4n(419,431,420,408, 0, 244,118,117,107);
  1014. f4n(420,432,433,421, 0, 117,127,126,116);
  1015. f4n(421,433,434,422, 0, 116,126,125,115);
  1016. f4n(422,434,435,423, 0, 115,125,6,6);
  1017. f4n(423,435,436,424, 0, 6,6,124,114);
  1018. f4n(424,436,437,425, 0, 114,124,123,113);
  1019. f4n(425,437,438,426, 0, 113,123,245,112);
  1020. f4n(426,438,439,427, 0, 112,245,131,121);
  1021. f4n(427,439,440,428, 0, 121,131,130,120);
  1022. f4n(428,440,441,429, 0, 120,130,17,17);
  1023. f4n(429,441,442,430, 0, 17,17,129,119);
  1024. f4n(430,442,443,431, 0, 119,129,128,118);
  1025. f4n(431,443,432,420, 0, 118,128,127,117);
  1026. f4n(432,444,445,433, 0, 127,137,136,126);
  1027. f4n(433,445,446,434, 0, 126,136,135,125);
  1028. f4n(434,446,447,435, 0, 125,135,6,6);
  1029. f4n(435,447,448,436, 0, 6,6,134,124);
  1030. f4n(436,448,449,437, 0, 124,134,133,123);
  1031. f4n(437,449,450,438, 0, 123,133,132,245);
  1032. f4n(438,450,451,439, 0, 245,132,141,131);
  1033. f4n(439,451,452,440, 0, 131,141,140,130);
  1034. f4n(440,452,453,441, 0, 130,140,17,17);
  1035. f4n(441,453,454,442, 0, 17,17,139,129);
  1036. f4n(442,454,455,443, 0, 129,139,138,128);
  1037. f4n(443,455,444,432, 0, 128,138,137,127);
  1038. f4n(444,456,457,445, 0, 137,147,146,136);
  1039. f4n(445,457,458,446, 0, 136,146,145,135);
  1040. f4n(446,458,459,447, 0, 135,145,6,6);
  1041. f4n(447,459,460,448, 0, 6,6,144,134);
  1042. f4n(448,460,461,449, 0, 134,144,143,133);
  1043. f4n(449,461,462,450, 0, 133,143,142,132);
  1044. f4n(450,462,463,451, 0, 132,142,151,141);
  1045. f4n(451,463,464,452, 0, 141,151,150,140);
  1046. f4n(452,464,465,453, 0, 140,150,17,17);
  1047. f4n(453,465,466,454, 0, 17,17,149,139);
  1048. f4n(454,466,467,455, 0, 139,149,148,138);
  1049. f4n(455,467,456,444, 0, 138,148,147,137);
  1050. f4n(456,468,469,457, 0, 147,157,156,146);
  1051. f4n(457,469,470,458, 0, 146,156,155,145);
  1052. f4n(458,470,471,459, 0, 145,155,6,6);
  1053. f4n(459,471,472,460, 0, 6,6,154,144);
  1054. f4n(460,472,473,461, 0, 144,154,153,143);
  1055. f4n(461,473,474,462, 0, 143,153,152,142);
  1056. f4n(462,474,475,463, 0, 142,152,161,151);
  1057. f4n(463,475,476,464, 0, 151,161,160,150);
  1058. f4n(464,476,477,465, 0, 150,160,17,17);
  1059. f4n(465,477,478,466, 0, 17,17,159,149);
  1060. f4n(466,478,479,467, 0, 149,159,158,148);
  1061. f4n(467,479,468,456, 0, 148,158,157,147);
  1062. f4n(468,480,481,469, 0, 157,167,166,156);
  1063. f4n(469,481,482,470, 0, 156,166,165,155);
  1064. f4n(470,482,483,471, 0, 155,165,6,6);
  1065. f4n(471,483,484,472, 0, 6,6,164,154);
  1066. f4n(472,484,485,473, 0, 154,164,163,153);
  1067. f4n(473,485,486,474, 0, 153,163,162,152);
  1068. f4n(474,486,487,475, 0, 152,162,171,161);
  1069. f4n(475,487,488,476, 0, 161,171,170,160);
  1070. f4n(476,488,489,477, 0, 160,170,17,17);
  1071. f4n(477,489,490,478, 0, 17,17,169,159);
  1072. f4n(478,490,491,479, 0, 159,169,168,158);
  1073. f4n(479,491,480,468, 0, 158,168,167,157);
  1074. f4n(480,492,493,481, 0, 167,177,176,166);
  1075. f4n(481,493,494,482, 0, 166,176,175,165);
  1076. f4n(482,494,495,483, 0, 165,175,6,6);
  1077. f4n(483,495,496,484, 0, 6,6,174,164);
  1078. f4n(484,496,497,485, 0, 164,174,173,163);
  1079. f4n(485,497,498,486, 0, 163,173,172,162);
  1080. f4n(486,498,499,487, 0, 162,172,181,171);
  1081. f4n(487,499,500,488, 0, 171,181,180,170);
  1082. f4n(488,500,501,489, 0, 170,180,17,17);
  1083. f4n(489,501,502,490, 0, 17,17,179,169);
  1084. f4n(490,502,503,491, 0, 169,179,178,168);
  1085. f4n(491,503,492,480, 0, 168,178,177,167);
  1086. f4n(492,504,505,493, 0, 177,187,186,176);
  1087. f4n(493,505,506,494, 0, 176,186,185,175);
  1088. f4n(494,506,507,495, 0, 175,185,6,6);
  1089. f4n(495,507,508,496, 0, 6,6,184,174);
  1090. f4n(496,508,509,497, 0, 174,184,183,173);
  1091. f4n(497,509,510,498, 0, 173,183,182,172);
  1092. f4n(498,510,511,499, 0, 172,182,191,181);
  1093. f4n(499,511,512,500, 0, 181,191,190,180);
  1094. f4n(500,512,513,501, 0, 180,190,17,17);
  1095. f4n(501,513,514,502, 0, 17,17,189,179);
  1096. f4n(502,514,515,503, 0, 179,189,188,178);
  1097. f4n(503,515,504,492, 0, 178,188,187,177);
  1098. f4n(504,516,517,505, 0, 187,197,196,186);
  1099. f4n(505,517,518,506, 0, 186,196,195,185);
  1100. f4n(506,518,519,507, 0, 185,195,6,6);
  1101. f4n(507,519,520,508, 0, 6,6,194,184);
  1102. f4n(508,520,521,509, 0, 184,194,193,183);
  1103. f4n(509,521,522,510, 0, 183,193,192,182);
  1104. f4n(510,522,523,511, 0, 182,192,201,191);
  1105. f4n(511,523,524,512, 0, 191,201,200,190);
  1106. f4n(512,524,525,513, 0, 190,200,17,17);
  1107. f4n(513,525,526,514, 0, 17,17,199,189);
  1108. f4n(514,526,527,515, 0, 189,199,198,188);
  1109. f4n(515,527,516,504, 0, 188,198,197,187);
  1110. f4n(516,528,529,517, 0, 197,207,206,196);
  1111. f4n(517,529,530,518, 0, 196,206,205,195);
  1112. f4n(518,530,531,519, 0, 195,205,6,6);
  1113. f4n(519,531,532,520, 0, 6,6,204,194);
  1114. f4n(520,532,533,521, 0, 194,204,203,193);
  1115. f4n(521,533,534,522, 0, 193,203,202,192);
  1116. f4n(522,534,535,523, 0, 192,202,211,201);
  1117. f4n(523,535,536,524, 0, 201,211,210,200);
  1118. f4n(524,536,537,525, 0, 200,210,17,17);
  1119. f4n(525,537,538,526, 0, 17,17,209,199);
  1120. f4n(526,538,539,527, 0, 199,209,208,198);
  1121. f4n(527,539,528,516, 0, 198,208,207,197);
  1122. f4n(528,540,541,529, 0, 207,217,216,206);
  1123. f4n(529,541,542,530, 0, 206,216,215,205);
  1124. f4n(530,542,543,531, 0, 205,215,6,6);
  1125. f4n(531,543,544,532, 0, 6,6,214,204);
  1126. f4n(532,544,545,533, 0, 204,214,213,203);
  1127. f4n(533,545,546,534, 0, 203,213,212,202);
  1128. f4n(534,546,547,535, 0, 202,212,221,211);
  1129. f4n(535,547,548,536, 0, 211,221,220,210);
  1130. f4n(536,548,549,537, 0, 210,220,17,17);
  1131. f4n(537,549,550,538, 0, 17,17,219,209);
  1132. f4n(538,550,551,539, 0, 209,219,218,208);
  1133. f4n(539,551,540,528, 0, 208,218,217,207);
  1134. f4n(540,552,553,541, 0, 217,227,226,216);
  1135. f4n(541,553,554,542, 0, 216,226,225,215);
  1136. f4n(542,554,555,543, 0, 215,225,6,6);
  1137. f4n(543,555,556,544, 0, 6,6,224,214);
  1138. f4n(544,556,557,545, 0, 214,224,246,213);
  1139. f4n(545,557,558,546, 0, 213,246,222,212);
  1140. f4n(546,558,559,547, 0, 212,222,231,221);
  1141. f4n(547,559,560,548, 0, 221,231,230,220);
  1142. f4n(548,560,561,549, 0, 220,230,17,17);
  1143. f4n(549,561,562,550, 0, 17,17,229,219);
  1144. f4n(550,562,563,551, 0, 219,229,228,218);
  1145. f4n(551,563,552,540, 0, 218,228,227,217);
  1146. f4n(552,564,565,553, 0, 227,237,236,226);
  1147. f4n(553,565,566,554, 0, 226,236,235,225);
  1148. f4n(554,566,567,555, 0, 225,235,6,6);
  1149. f4n(555,567,568,556, 0, 6,6,234,224);
  1150. f4n(556,568,569,557, 0, 224,234,233,246);
  1151. f4n(557,569,570,558, 0, 246,233,232,222);
  1152. f4n(558,570,571,559, 0, 222,232,241,231);
  1153. f4n(559,571,572,560, 0, 231,241,240,230);
  1154. f4n(560,572,573,561, 0, 230,240,17,17);
  1155. f4n(561,573,574,562, 0, 17,17,239,229);
  1156. f4n(562,574,575,563, 0, 229,239,238,228);
  1157. f4n(563,575,564,552, 0, 228,238,237,227);
  1158. f4n(564,0,1,565, 0, 237,0,3,236);
  1159. f4n(565,1,2,566, 0, 236,3,5,235);
  1160. f4n(566,2,3,567, 0, 235,5,6,6);
  1161. f4n(567,3,4,568, 0, 6,6,8,234);
  1162. f4n(568,4,5,569, 0, 234,8,10,233);
  1163. f4n(569,5,6,570, 0, 233,10,12,232);
  1164. f4n(570,6,7,571, 0, 232,12,14,241);
  1165. f4n(571,7,8,572, 0, 241,14,16,240);
  1166. f4n(572,8,9,573, 0, 240,16,17,17);
  1167. f4n(573,9,10,574, 0, 17,17,19,239);
  1168. f4n(574,10,11,575, 0, 239,19,21,238);
  1169. f4n(575,11,0,564, 0, 238,21,0,237);
  1170. this.computeCentroids();
  1171. this.computeNormals();
  1172. function material_color( mi ) {
  1173. var m = materials[mi];
  1174. if( m.col_diffuse )
  1175. return (m.col_diffuse[0]*255 << 16) + (m.col_diffuse[1]*255 << 8) + m.col_diffuse[2]*255;
  1176. else if ( m.a_dbg_color )
  1177. return m.a_dbg_color;
  1178. else
  1179. return 0xffeeeeee;
  1180. }
  1181. function v( x, y, z ) {
  1182. scope.vertices.push( new THREE.Vertex( new THREE.Vector3( x, y, z ) ) );
  1183. }
  1184. function f3( a, b, c, mi ) {
  1185. var material = scope.materials[ mi ];
  1186. scope.faces.push( new THREE.Face3( a, b, c, null, material ) );
  1187. }
  1188. function f4( a, b, c, d, mi ) {
  1189. var material = scope.materials[ mi ];
  1190. scope.faces.push( new THREE.Face4( a, b, c, d, null, material ) );
  1191. }
  1192. function f3n( a, b, c, mi, n1, n2, n3 ) {
  1193. var material = scope.materials[ mi ];
  1194. var n1x = normals[n1][0];
  1195. var n1y = normals[n1][1];
  1196. var n1z = normals[n1][2];
  1197. var n2x = normals[n2][0];
  1198. var n2y = normals[n2][1];
  1199. var n2z = normals[n2][2];
  1200. var n3x = normals[n3][0];
  1201. var n3y = normals[n3][1];
  1202. var n3z = normals[n3][2];
  1203. scope.faces.push( new THREE.Face3( a, b, c,
  1204. [new THREE.Vector3( n1x, n1y, n1z ), new THREE.Vector3( n2x, n2y, n2z ), new THREE.Vector3( n3x, n3y, n3z )],
  1205. material ) );
  1206. }
  1207. function f4n( a, b, c, d, mi, n1, n2, n3, n4 ) {
  1208. var material = scope.materials[ mi ];
  1209. var n1x = normals[n1][0];
  1210. var n1y = normals[n1][1];
  1211. var n1z = normals[n1][2];
  1212. var n2x = normals[n2][0];
  1213. var n2y = normals[n2][1];
  1214. var n2z = normals[n2][2];
  1215. var n3x = normals[n3][0];
  1216. var n3y = normals[n3][1];
  1217. var n3z = normals[n3][2];
  1218. var n4x = normals[n4][0];
  1219. var n4y = normals[n4][1];
  1220. var n4z = normals[n4][2];
  1221. scope.faces.push( new THREE.Face4( a, b, c, d,
  1222. [new THREE.Vector3( n1x, n1y, n1z ), new THREE.Vector3( n2x, n2y, n2z ), new THREE.Vector3( n3x, n3y, n3z ), new THREE.Vector3( n4x, n4y, n4z )],
  1223. material ) );
  1224. }
  1225. function uv( u1, v1, u2, v2, u3, v3, u4, v4 ) {
  1226. var uv = [];
  1227. uv.push( new THREE.UV( u1, v1 ) );
  1228. uv.push( new THREE.UV( u2, v2 ) );
  1229. uv.push( new THREE.UV( u3, v3 ) );
  1230. if ( u4 && v4 ) uv.push( new THREE.UV( u4, v4 ) );
  1231. scope.uvs.push( uv );
  1232. }
  1233. function init_materials() {
  1234. scope.materials = [];
  1235. for(var i=0; i<materials.length; ++i) {
  1236. scope.materials[i] = [ create_material( materials[i], urlbase ) ];
  1237. }
  1238. }
  1239. function is_pow2( n ) {
  1240. var l = Math.log(n) / Math.LN2;
  1241. return Math.floor(l) == l;
  1242. }
  1243. function nearest_pow2(n) {
  1244. var l = Math.log(n) / Math.LN2;
  1245. return Math.pow( 2, Math.round(l) );
  1246. }
  1247. function create_material( m ) {
  1248. var material;
  1249. if( m.map_diffuse && urlbase ) {
  1250. var texture = document.createElement( 'canvas' );
  1251. material = new THREE.MeshBitmapMaterial( texture );
  1252. var image = new Image();
  1253. image.onload = function () {
  1254. if ( !is_pow2(this.width) || !is_pow2(this.height) ) {
  1255. var w = nearest_pow2( this.width );
  1256. var h = nearest_pow2( this.height );
  1257. material.bitmap.width = w;
  1258. material.bitmap.height = h;
  1259. material.bitmap.getContext("2d").drawImage( this, 0, 0, w, h );
  1260. }
  1261. else {
  1262. material.bitmap = this;
  1263. }
  1264. material.loaded = 1;
  1265. };
  1266. image.src = urlbase + "/" + m.map_diffuse;
  1267. }
  1268. else if( m.col_diffuse ) {
  1269. var color = (m.col_diffuse[0]*255 << 16) + (m.col_diffuse[1]*255 << 8) + m.col_diffuse[2]*255;
  1270. material = new THREE.MeshColorFillMaterial( color, m.transparency );
  1271. }
  1272. else if( m.a_dbg_color ) {
  1273. material = new THREE.MeshColorFillMaterial( m.a_dbg_color );
  1274. }
  1275. else {
  1276. material = new THREE.MeshColorFillMaterial( 0xffeeeeee );
  1277. }
  1278. return material;
  1279. }
  1280. }
  1281. Torus.prototype = new THREE.Geometry();
  1282. Torus.prototype.constructor = Torus;