A 120-cell from Paul Bourke's Hyperspace User Manual.
Visualized with hypersolid.js by Miłosz Kośmider.
| 600 | |
| 1.85123 0.27009 0 0.707106 | |
| 1.85123 -0.27009 0 0.707106 | |
| 1.85123 0.437016 0.437016 0.437016 | |
| 1.85123 -0.437016 0.437016 0.437016 | |
| 1.85123 0 0.707106 0.27009 | |
| 1.85123 0.437016 -0.437016 0.437016 | |
| 1.85123 -0.437016 -0.437016 0.437016 | |
| 1.85123 0 -0.707106 0.27009 | |
| 1.85123 0.27009 0 -0.707106 | |
| 1.85123 -0.27009 0 -0.707106 | |
| 1.85123 0.437016 0.437016 -0.437016 | |
| 1.85123 -0.437016 0.437016 -0.437016 | |
| 1.85123 0 0.707106 -0.27009 | |
| 1.85123 0.437016 -0.437016 -0.437016 | |
| 1.85123 -0.437016 -0.437016 -0.437016 | |
| 1.85123 0 -0.707106 -0.27009 | |
| 1.85123 0.707106 0.27009 0 | |
| 1.85123 0.707106 -0.27009 0 | |
| 1.85123 -0.707106 0.27009 0 | |
| 1.85123 -0.707106 -0.27009 0 | |
| -1.85123 0.27009 0 0.707106 | |
| -1.85123 -0.27009 0 0.707106 | |
| -1.85123 0.437016 0.437016 0.437016 | |
| -1.85123 -0.437016 0.437016 0.437016 | |
| -1.85123 0 0.707106 0.27009 | |
| -1.85123 0.437016 -0.437016 0.437016 | |
| -1.85123 -0.437016 -0.437016 0.437016 | |
| -1.85123 0 -0.707106 0.27009 | |
| -1.85123 0.27009 0 -0.707106 | |
| -1.85123 -0.27009 0 -0.707106 | |
| -1.85123 0.437016 0.437016 -0.437016 | |
| -1.85123 -0.437016 0.437016 -0.437016 | |
| -1.85123 0 0.707106 -0.27009 | |
| -1.85123 0.437016 -0.437016 -0.437016 | |
| -1.85123 -0.437016 -0.437016 -0.437016 | |
| -1.85123 0 -0.707106 -0.27009 | |
| -1.85123 0.707106 0.27009 0 | |
| -1.85123 0.707106 -0.27009 0 | |
| -1.85123 -0.707106 0.27009 0 | |
| -1.85123 -0.707106 -0.27009 0 | |
| 0.27009 1.85123 0.707106 0 | |
| -0.27009 1.85123 0.707106 0 | |
| 0 1.85123 0.27009 0.707106 | |
| 0.437016 1.85123 0.437016 0.437016 | |
| -0.437016 1.85123 0.437016 0.437016 | |
| 0.27009 1.85123 -0.707106 0 | |
| -0.27009 1.85123 -0.707106 0 | |
| 0 1.85123 -0.27009 0.707106 | |
| 0.437016 1.85123 -0.437016 0.437016 | |
| -0.437016 1.85123 -0.437016 0.437016 | |
| 0 1.85123 0.27009 -0.707106 | |
| 0.437016 1.85123 0.437016 -0.437016 | |
| -0.437016 1.85123 0.437016 -0.437016 | |
| 0 1.85123 -0.27009 -0.707106 | |
| 0.437016 1.85123 -0.437016 -0.437016 | |
| -0.437016 1.85123 -0.437016 -0.437016 | |
| 0.707106 1.85123 0 0.27009 | |
| -0.707106 1.85123 0 0.27009 | |
| 0.707106 1.85123 0 -0.27009 | |
| -0.707106 1.85123 0 -0.27009 | |
| 0.27009 -1.85123 0.707106 0 | |
| -0.27009 -1.85123 0.707106 0 | |
| 0 -1.85123 0.27009 0.707106 | |
| 0.437016 -1.85123 0.437016 0.437016 | |
| -0.437016 -1.85123 0.437016 0.437016 | |
| 0.27009 -1.85123 -0.707106 0 | |
| -0.27009 -1.85123 -0.707106 0 | |
| 0 -1.85123 -0.27009 0.707106 | |
| 0.437016 -1.85123 -0.437016 0.437016 | |
| -0.437016 -1.85123 -0.437016 0.437016 | |
| 0 -1.85123 0.27009 -0.707106 | |
| 0.437016 -1.85123 0.437016 -0.437016 | |
| -0.437016 -1.85123 0.437016 -0.437016 | |
| 0 -1.85123 -0.27009 -0.707106 | |
| 0.437016 -1.85123 -0.437016 -0.437016 | |
| -0.437016 -1.85123 -0.437016 -0.437016 | |
| 0.707106 -1.85123 0 0.27009 | |
| -0.707106 -1.85123 0 0.27009 | |
| 0.707106 -1.85123 0 -0.27009 | |
| -0.707106 -1.85123 0 -0.27009 | |
| 0.27009 0 1.85123 0.707106 | |
| -0.27009 0 1.85123 0.707106 | |
| 0.437016 0.437016 1.85123 0.437016 | |
| -0.437016 0.437016 1.85123 0.437016 | |
| 0 0.707106 1.85123 0.27009 | |
| 0.437016 -0.437016 1.85123 0.437016 | |
| -0.437016 -0.437016 1.85123 0.437016 | |
| 0 -0.707106 1.85123 0.27009 | |
| 0.27009 0 1.85123 -0.707106 | |
| -0.27009 0 1.85123 -0.707106 | |
| 0.437016 0.437016 1.85123 -0.437016 | |
| -0.437016 0.437016 1.85123 -0.437016 | |
| 0 0.707106 1.85123 -0.27009 | |
| 0.437016 -0.437016 1.85123 -0.437016 | |
| -0.437016 -0.437016 1.85123 -0.437016 | |
| 0 -0.707106 1.85123 -0.27009 | |
| 0.707106 0.27009 1.85123 0 | |
| 0.707106 -0.27009 1.85123 0 | |
| -0.707106 0.27009 1.85123 0 | |
| -0.707106 -0.27009 1.85123 0 | |
| 0.27009 0 -1.85123 0.707106 | |
| -0.27009 0 -1.85123 0.707106 | |
| 0.437016 0.437016 -1.85123 0.437016 | |
| -0.437016 0.437016 -1.85123 0.437016 | |
| 0 0.707106 -1.85123 0.27009 | |
| 0.437016 -0.437016 -1.85123 0.437016 | |
| -0.437016 -0.437016 -1.85123 0.437016 | |
| 0 -0.707106 -1.85123 0.27009 | |
| 0.27009 0 -1.85123 -0.707106 | |
| -0.27009 0 -1.85123 -0.707106 | |
| 0.437016 0.437016 -1.85123 -0.437016 | |
| -0.437016 0.437016 -1.85123 -0.437016 | |
| 0 0.707106 -1.85123 -0.27009 | |
| 0.437016 -0.437016 -1.85123 -0.437016 | |
| -0.437016 -0.437016 -1.85123 -0.437016 | |
| 0 -0.707106 -1.85123 -0.27009 | |
| 0.707106 0.27009 -1.85123 0 | |
| 0.707106 -0.27009 -1.85123 0 | |
| -0.707106 0.27009 -1.85123 0 | |
| -0.707106 -0.27009 -1.85123 0 | |
| 0.27009 0.707106 0 1.85123 | |
| -0.27009 0.707106 0 1.85123 | |
| 0 0.27009 0.707106 1.85123 | |
| 0.437016 0.437016 0.437016 1.85123 | |
| -0.437016 0.437016 0.437016 1.85123 | |
| 0.27009 -0.707106 0 1.85123 | |
| -0.27009 -0.707106 0 1.85123 | |
| 0 -0.27009 0.707106 1.85123 | |
| 0.437016 -0.437016 0.437016 1.85123 | |
| -0.437016 -0.437016 0.437016 1.85123 | |
| 0 0.27009 -0.707106 1.85123 | |
| 0.437016 0.437016 -0.437016 1.85123 | |
| -0.437016 0.437016 -0.437016 1.85123 | |
| 0 -0.27009 -0.707106 1.85123 | |
| 0.437016 -0.437016 -0.437016 1.85123 | |
| -0.437016 -0.437016 -0.437016 1.85123 | |
| 0.707106 0 0.27009 1.85123 | |
| -0.707106 0 0.27009 1.85123 | |
| 0.707106 0 -0.27009 1.85123 | |
| -0.707106 0 -0.27009 1.85123 | |
| 0.27009 0.707106 0 -1.85123 | |
| -0.27009 0.707106 0 -1.85123 | |
| 0 0.27009 0.707106 -1.85123 | |
| 0.437016 0.437016 0.437016 -1.85123 | |
| -0.437016 0.437016 0.437016 -1.85123 | |
| 0.27009 -0.707106 0 -1.85123 | |
| -0.27009 -0.707106 0 -1.85123 | |
| 0 -0.27009 0.707106 -1.85123 | |
| 0.437016 -0.437016 0.437016 -1.85123 | |
| -0.437016 -0.437016 0.437016 -1.85123 | |
| 0 0.27009 -0.707106 -1.85123 | |
| 0.437016 0.437016 -0.437016 -1.85123 | |
| -0.437016 0.437016 -0.437016 -1.85123 | |
| 0 -0.27009 -0.707106 -1.85123 | |
| 0.437016 -0.437016 -0.437016 -1.85123 | |
| -0.437016 -0.437016 -0.437016 -1.85123 | |
| 0.707106 0 0.27009 -1.85123 | |
| -0.707106 0 0.27009 -1.85123 | |
| 0.707106 0 -0.27009 -1.85123 | |
| -0.707106 0 -0.27009 -1.85123 | |
| 0 1.41421 0 1.41421 | |
| 0.437016 1.14412 0 1.58114 | |
| -0.437016 1.14412 0 1.58114 | |
| 0.27009 1.14412 1.14412 1.14412 | |
| -0.27009 1.14412 1.14412 1.14412 | |
| 0 0.437016 1.14412 1.58114 | |
| 0.437016 0.707106 1.14412 1.41421 | |
| -0.437016 0.707106 1.14412 1.41421 | |
| 0 1.58114 0.437016 1.14412 | |
| 0.437016 1.41421 0.707106 1.14412 | |
| -0.437016 1.41421 0.707106 1.14412 | |
| 0.707106 0.707106 0.707106 1.58114 | |
| -0.707106 0.707106 0.707106 1.58114 | |
| 0.707106 1.14412 0.437016 1.41421 | |
| -0.707106 1.14412 0.437016 1.41421 | |
| 0 -1.41421 0 1.41421 | |
| 0.437016 -1.14412 0 1.58114 | |
| -0.437016 -1.14412 0 1.58114 | |
| 0.27009 -1.14412 1.14412 1.14412 | |
| -0.27009 -1.14412 1.14412 1.14412 | |
| 0 -0.437016 1.14412 1.58114 | |
| 0.437016 -0.707106 1.14412 1.41421 | |
| -0.437016 -0.707106 1.14412 1.41421 | |
| 0 -1.58114 0.437016 1.14412 | |
| 0.437016 -1.41421 0.707106 1.14412 | |
| -0.437016 -1.41421 0.707106 1.14412 | |
| 0.707106 -0.707106 0.707106 1.58114 | |
| -0.707106 -0.707106 0.707106 1.58114 | |
| 0.707106 -1.14412 0.437016 1.41421 | |
| -0.707106 -1.14412 0.437016 1.41421 | |
| 0.27009 1.14412 -1.14412 1.14412 | |
| -0.27009 1.14412 -1.14412 1.14412 | |
| 0 0.437016 -1.14412 1.58114 | |
| 0.437016 0.707106 -1.14412 1.41421 | |
| -0.437016 0.707106 -1.14412 1.41421 | |
| 0 1.58114 -0.437016 1.14412 | |
| 0.437016 1.41421 -0.707106 1.14412 | |
| -0.437016 1.41421 -0.707106 1.14412 | |
| 0.707106 0.707106 -0.707106 1.58114 | |
| -0.707106 0.707106 -0.707106 1.58114 | |
| 0.707106 1.14412 -0.437016 1.41421 | |
| -0.707106 1.14412 -0.437016 1.41421 | |
| 0 1.41421 0 -1.41421 | |
| 0.437016 1.14412 0 -1.58114 | |
| -0.437016 1.14412 0 -1.58114 | |
| 0.27009 1.14412 1.14412 -1.14412 | |
| -0.27009 1.14412 1.14412 -1.14412 | |
| 0 0.437016 1.14412 -1.58114 | |
| 0.437016 0.707106 1.14412 -1.41421 | |
| -0.437016 0.707106 1.14412 -1.41421 | |
| 0 1.58114 0.437016 -1.14412 | |
| 0.437016 1.41421 0.707106 -1.14412 | |
| -0.437016 1.41421 0.707106 -1.14412 | |
| 0.707106 0.707106 0.707106 -1.58114 | |
| -0.707106 0.707106 0.707106 -1.58114 | |
| 0.707106 1.14412 0.437016 -1.41421 | |
| -0.707106 1.14412 0.437016 -1.41421 | |
| 0.27009 -1.14412 -1.14412 1.14412 | |
| -0.27009 -1.14412 -1.14412 1.14412 | |
| 0 -0.437016 -1.14412 1.58114 | |
| 0.437016 -0.707106 -1.14412 1.41421 | |
| -0.437016 -0.707106 -1.14412 1.41421 | |
| 0 -1.58114 -0.437016 1.14412 | |
| 0.437016 -1.41421 -0.707106 1.14412 | |
| -0.437016 -1.41421 -0.707106 1.14412 | |
| 0.707106 -0.707106 -0.707106 1.58114 | |
| -0.707106 -0.707106 -0.707106 1.58114 | |
| 0.707106 -1.14412 -0.437016 1.41421 | |
| -0.707106 -1.14412 -0.437016 1.41421 | |
| 0 -1.41421 0 -1.41421 | |
| 0.437016 -1.14412 0 -1.58114 | |
| -0.437016 -1.14412 0 -1.58114 | |
| 0.27009 -1.14412 1.14412 -1.14412 | |
| -0.27009 -1.14412 1.14412 -1.14412 | |
| 0 -0.437016 1.14412 -1.58114 | |
| 0.437016 -0.707106 1.14412 -1.41421 | |
| -0.437016 -0.707106 1.14412 -1.41421 | |
| 0 -1.58114 0.437016 -1.14412 | |
| 0.437016 -1.41421 0.707106 -1.14412 | |
| -0.437016 -1.41421 0.707106 -1.14412 | |
| 0.707106 -0.707106 0.707106 -1.58114 | |
| -0.707106 -0.707106 0.707106 -1.58114 | |
| 0.707106 -1.14412 0.437016 -1.41421 | |
| -0.707106 -1.14412 0.437016 -1.41421 | |
| 0.27009 1.14412 -1.14412 -1.14412 | |
| -0.27009 1.14412 -1.14412 -1.14412 | |
| 0 0.437016 -1.14412 -1.58114 | |
| 0.437016 0.707106 -1.14412 -1.41421 | |
| -0.437016 0.707106 -1.14412 -1.41421 | |
| 0 1.58114 -0.437016 -1.14412 | |
| 0.437016 1.41421 -0.707106 -1.14412 | |
| -0.437016 1.41421 -0.707106 -1.14412 | |
| 0.707106 0.707106 -0.707106 -1.58114 | |
| -0.707106 0.707106 -0.707106 -1.58114 | |
| 0.707106 1.14412 -0.437016 -1.41421 | |
| -0.707106 1.14412 -0.437016 -1.41421 | |
| 0.27009 -1.14412 -1.14412 -1.14412 | |
| -0.27009 -1.14412 -1.14412 -1.14412 | |
| 0 -0.437016 -1.14412 -1.58114 | |
| 0.437016 -0.707106 -1.14412 -1.41421 | |
| -0.437016 -0.707106 -1.14412 -1.41421 | |
| 0 -1.58114 -0.437016 -1.14412 | |
| 0.437016 -1.41421 -0.707106 -1.14412 | |
| -0.437016 -1.41421 -0.707106 -1.14412 | |
| 0.707106 -0.707106 -0.707106 -1.58114 | |
| -0.707106 -0.707106 -0.707106 -1.58114 | |
| 0.707106 -1.14412 -0.437016 -1.41421 | |
| -0.707106 -1.14412 -0.437016 -1.41421 | |
| 0.437016 0 1.58114 1.14412 | |
| -0.437016 0 1.58114 1.14412 | |
| 0 0 1.41421 1.41421 | |
| 0 1.14412 1.58114 0.437016 | |
| 0.437016 1.14412 1.41421 0.707106 | |
| -0.437016 1.14412 1.41421 0.707106 | |
| 0.707106 0.437016 1.41421 1.14412 | |
| 0.707106 0.707106 1.58114 0.707106 | |
| -0.707106 0.437016 1.41421 1.14412 | |
| -0.707106 0.707106 1.58114 0.707106 | |
| 0 -1.14412 1.58114 0.437016 | |
| 0.437016 -1.14412 1.41421 0.707106 | |
| -0.437016 -1.14412 1.41421 0.707106 | |
| 0.707106 -0.437016 1.41421 1.14412 | |
| 0.707106 -0.707106 1.58114 0.707106 | |
| -0.707106 -0.437016 1.41421 1.14412 | |
| -0.707106 -0.707106 1.58114 0.707106 | |
| 0.437016 0 -1.58114 1.14412 | |
| -0.437016 0 -1.58114 1.14412 | |
| 0 0 -1.41421 1.41421 | |
| 0 1.14412 -1.58114 0.437016 | |
| 0.437016 1.14412 -1.41421 0.707106 | |
| -0.437016 1.14412 -1.41421 0.707106 | |
| 0.707106 0.437016 -1.41421 1.14412 | |
| 0.707106 0.707106 -1.58114 0.707106 | |
| -0.707106 0.437016 -1.41421 1.14412 | |
| -0.707106 0.707106 -1.58114 0.707106 | |
| 0.437016 0 1.58114 -1.14412 | |
| -0.437016 0 1.58114 -1.14412 | |
| 0 0 1.41421 -1.41421 | |
| 0 1.14412 1.58114 -0.437016 | |
| 0.437016 1.14412 1.41421 -0.707106 | |
| -0.437016 1.14412 1.41421 -0.707106 | |
| 0.707106 0.437016 1.41421 -1.14412 | |
| 0.707106 0.707106 1.58114 -0.707106 | |
| -0.707106 0.437016 1.41421 -1.14412 | |
| -0.707106 0.707106 1.58114 -0.707106 | |
| 0 -1.14412 -1.58114 0.437016 | |
| 0.437016 -1.14412 -1.41421 0.707106 | |
| -0.437016 -1.14412 -1.41421 0.707106 | |
| 0.707106 -0.437016 -1.41421 1.14412 | |
| 0.707106 -0.707106 -1.58114 0.707106 | |
| -0.707106 -0.437016 -1.41421 1.14412 | |
| -0.707106 -0.707106 -1.58114 0.707106 | |
| 0 -1.14412 1.58114 -0.437016 | |
| 0.437016 -1.14412 1.41421 -0.707106 | |
| -0.437016 -1.14412 1.41421 -0.707106 | |
| 0.707106 -0.437016 1.41421 -1.14412 | |
| 0.707106 -0.707106 1.58114 -0.707106 | |
| -0.707106 -0.437016 1.41421 -1.14412 | |
| -0.707106 -0.707106 1.58114 -0.707106 | |
| 0.437016 0 -1.58114 -1.14412 | |
| -0.437016 0 -1.58114 -1.14412 | |
| 0 0 -1.41421 -1.41421 | |
| 0 1.14412 -1.58114 -0.437016 | |
| 0.437016 1.14412 -1.41421 -0.707106 | |
| -0.437016 1.14412 -1.41421 -0.707106 | |
| 0.707106 0.437016 -1.41421 -1.14412 | |
| 0.707106 0.707106 -1.58114 -0.707106 | |
| -0.707106 0.437016 -1.41421 -1.14412 | |
| -0.707106 0.707106 -1.58114 -0.707106 | |
| 0 -1.14412 -1.58114 -0.437016 | |
| 0.437016 -1.14412 -1.41421 -0.707106 | |
| -0.437016 -1.14412 -1.41421 -0.707106 | |
| 0.707106 -0.437016 -1.41421 -1.14412 | |
| 0.707106 -0.707106 -1.58114 -0.707106 | |
| -0.707106 -0.437016 -1.41421 -1.14412 | |
| -0.707106 -0.707106 -1.58114 -0.707106 | |
| 0.437016 1.58114 1.14412 0 | |
| -0.437016 1.58114 1.14412 0 | |
| 0 1.41421 1.41421 0 | |
| 0.707106 1.58114 0.707106 0.707106 | |
| -0.707106 1.58114 0.707106 0.707106 | |
| 0.707106 1.41421 1.14412 0.437016 | |
| -0.707106 1.41421 1.14412 0.437016 | |
| 0.437016 -1.58114 1.14412 0 | |
| -0.437016 -1.58114 1.14412 0 | |
| 0 -1.41421 1.41421 0 | |
| 0.707106 -1.58114 0.707106 0.707106 | |
| -0.707106 -1.58114 0.707106 0.707106 | |
| 0.707106 -1.41421 1.14412 0.437016 | |
| -0.707106 -1.41421 1.14412 0.437016 | |
| 0.437016 1.58114 -1.14412 0 | |
| -0.437016 1.58114 -1.14412 0 | |
| 0 1.41421 -1.41421 0 | |
| 0.707106 1.58114 -0.707106 0.707106 | |
| -0.707106 1.58114 -0.707106 0.707106 | |
| 0.707106 1.41421 -1.14412 0.437016 | |
| -0.707106 1.41421 -1.14412 0.437016 | |
| 0.707106 1.58114 0.707106 -0.707106 | |
| -0.707106 1.58114 0.707106 -0.707106 | |
| 0.707106 1.41421 1.14412 -0.437016 | |
| -0.707106 1.41421 1.14412 -0.437016 | |
| 0.437016 -1.58114 -1.14412 0 | |
| -0.437016 -1.58114 -1.14412 0 | |
| 0 -1.41421 -1.41421 0 | |
| 0.707106 -1.58114 -0.707106 0.707106 | |
| -0.707106 -1.58114 -0.707106 0.707106 | |
| 0.707106 -1.41421 -1.14412 0.437016 | |
| -0.707106 -1.41421 -1.14412 0.437016 | |
| 0.707106 -1.58114 0.707106 -0.707106 | |
| -0.707106 -1.58114 0.707106 -0.707106 | |
| 0.707106 -1.41421 1.14412 -0.437016 | |
| -0.707106 -1.41421 1.14412 -0.437016 | |
| 0.707106 1.58114 -0.707106 -0.707106 | |
| -0.707106 1.58114 -0.707106 -0.707106 | |
| 0.707106 1.41421 -1.14412 -0.437016 | |
| -0.707106 1.41421 -1.14412 -0.437016 | |
| 0.707106 -1.58114 -0.707106 -0.707106 | |
| -0.707106 -1.58114 -0.707106 -0.707106 | |
| 0.707106 -1.41421 -1.14412 -0.437016 | |
| -0.707106 -1.41421 -1.14412 -0.437016 | |
| 1.41421 0 1.41421 0 | |
| 1.14412 0.437016 1.58114 0 | |
| 1.14412 -0.437016 1.58114 0 | |
| 1.14412 0.27009 1.14412 1.14412 | |
| 1.14412 -0.27009 1.14412 1.14412 | |
| 1.58114 0 1.14412 0.437016 | |
| 1.41421 0.437016 1.14412 0.707106 | |
| 1.41421 -0.437016 1.14412 0.707106 | |
| 1.14412 0.707106 1.41421 0.437016 | |
| 1.14412 -0.707106 1.41421 0.437016 | |
| -1.41421 0 1.41421 0 | |
| -1.14412 0.437016 1.58114 0 | |
| -1.14412 -0.437016 1.58114 0 | |
| -1.14412 0.27009 1.14412 1.14412 | |
| -1.14412 -0.27009 1.14412 1.14412 | |
| -1.58114 0 1.14412 0.437016 | |
| -1.41421 0.437016 1.14412 0.707106 | |
| -1.41421 -0.437016 1.14412 0.707106 | |
| -1.14412 0.707106 1.41421 0.437016 | |
| -1.14412 -0.707106 1.41421 0.437016 | |
| 1.41421 0 -1.41421 0 | |
| 1.14412 0.437016 -1.58114 0 | |
| 1.14412 -0.437016 -1.58114 0 | |
| 1.14412 0.27009 -1.14412 1.14412 | |
| 1.14412 -0.27009 -1.14412 1.14412 | |
| 1.58114 0 -1.14412 0.437016 | |
| 1.41421 0.437016 -1.14412 0.707106 | |
| 1.41421 -0.437016 -1.14412 0.707106 | |
| 1.14412 0.707106 -1.41421 0.437016 | |
| 1.14412 -0.707106 -1.41421 0.437016 | |
| 1.14412 0.27009 1.14412 -1.14412 | |
| 1.14412 -0.27009 1.14412 -1.14412 | |
| 1.58114 0 1.14412 -0.437016 | |
| 1.41421 0.437016 1.14412 -0.707106 | |
| 1.41421 -0.437016 1.14412 -0.707106 | |
| 1.14412 0.707106 1.41421 -0.437016 | |
| 1.14412 -0.707106 1.41421 -0.437016 | |
| -1.41421 0 -1.41421 0 | |
| -1.14412 0.437016 -1.58114 0 | |
| -1.14412 -0.437016 -1.58114 0 | |
| -1.14412 0.27009 -1.14412 1.14412 | |
| -1.14412 -0.27009 -1.14412 1.14412 | |
| -1.58114 0 -1.14412 0.437016 | |
| -1.41421 0.437016 -1.14412 0.707106 | |
| -1.41421 -0.437016 -1.14412 0.707106 | |
| -1.14412 0.707106 -1.41421 0.437016 | |
| -1.14412 -0.707106 -1.41421 0.437016 | |
| -1.14412 0.27009 1.14412 -1.14412 | |
| -1.14412 -0.27009 1.14412 -1.14412 | |
| -1.58114 0 1.14412 -0.437016 | |
| -1.41421 0.437016 1.14412 -0.707106 | |
| -1.41421 -0.437016 1.14412 -0.707106 | |
| -1.14412 0.707106 1.41421 -0.437016 | |
| -1.14412 -0.707106 1.41421 -0.437016 | |
| 1.14412 0.27009 -1.14412 -1.14412 | |
| 1.14412 -0.27009 -1.14412 -1.14412 | |
| 1.58114 0 -1.14412 -0.437016 | |
| 1.41421 0.437016 -1.14412 -0.707106 | |
| 1.41421 -0.437016 -1.14412 -0.707106 | |
| 1.14412 0.707106 -1.41421 -0.437016 | |
| 1.14412 -0.707106 -1.41421 -0.437016 | |
| -1.14412 0.27009 -1.14412 -1.14412 | |
| -1.14412 -0.27009 -1.14412 -1.14412 | |
| -1.58114 0 -1.14412 -0.437016 | |
| -1.41421 0.437016 -1.14412 -0.707106 | |
| -1.41421 -0.437016 -1.14412 -0.707106 | |
| -1.14412 0.707106 -1.41421 -0.437016 | |
| -1.14412 -0.707106 -1.41421 -0.437016 | |
| 1.14412 0 0.437016 1.58114 | |
| 1.14412 0.437016 0.707106 1.41421 | |
| 1.14412 -0.437016 0.707106 1.41421 | |
| -1.14412 0 0.437016 1.58114 | |
| -1.14412 0.437016 0.707106 1.41421 | |
| -1.14412 -0.437016 0.707106 1.41421 | |
| 1.14412 0 -0.437016 1.58114 | |
| 1.14412 0.437016 -0.707106 1.41421 | |
| 1.14412 -0.437016 -0.707106 1.41421 | |
| 1.14412 0 0.437016 -1.58114 | |
| 1.14412 0.437016 0.707106 -1.41421 | |
| 1.14412 -0.437016 0.707106 -1.41421 | |
| -1.14412 0 -0.437016 1.58114 | |
| -1.14412 0.437016 -0.707106 1.41421 | |
| -1.14412 -0.437016 -0.707106 1.41421 | |
| -1.14412 0 0.437016 -1.58114 | |
| -1.14412 0.437016 0.707106 -1.41421 | |
| -1.14412 -0.437016 0.707106 -1.41421 | |
| 1.14412 0 -0.437016 -1.58114 | |
| 1.14412 0.437016 -0.707106 -1.41421 | |
| 1.14412 -0.437016 -0.707106 -1.41421 | |
| -1.14412 0 -0.437016 -1.58114 | |
| -1.14412 0.437016 -0.707106 -1.41421 | |
| -1.14412 -0.437016 -0.707106 -1.41421 | |
| 1.58114 0.437016 0 1.14412 | |
| 1.58114 -0.437016 0 1.14412 | |
| 1.41421 0 0 1.41421 | |
| 1.41421 0.707106 0.437016 1.14412 | |
| 1.58114 0.707106 0.707106 0.707106 | |
| 1.41421 -0.707106 0.437016 1.14412 | |
| 1.58114 -0.707106 0.707106 0.707106 | |
| -1.58114 0.437016 0 1.14412 | |
| -1.58114 -0.437016 0 1.14412 | |
| -1.41421 0 0 1.41421 | |
| -1.41421 0.707106 0.437016 1.14412 | |
| -1.58114 0.707106 0.707106 0.707106 | |
| -1.41421 -0.707106 0.437016 1.14412 | |
| -1.58114 -0.707106 0.707106 0.707106 | |
| 1.41421 0.707106 -0.437016 1.14412 | |
| 1.58114 0.707106 -0.707106 0.707106 | |
| 1.41421 -0.707106 -0.437016 1.14412 | |
| 1.58114 -0.707106 -0.707106 0.707106 | |
| 1.58114 0.437016 0 -1.14412 | |
| 1.58114 -0.437016 0 -1.14412 | |
| 1.41421 0 0 -1.41421 | |
| 1.41421 0.707106 0.437016 -1.14412 | |
| 1.58114 0.707106 0.707106 -0.707106 | |
| 1.41421 -0.707106 0.437016 -1.14412 | |
| 1.58114 -0.707106 0.707106 -0.707106 | |
| -1.41421 0.707106 -0.437016 1.14412 | |
| -1.58114 0.707106 -0.707106 0.707106 | |
| -1.41421 -0.707106 -0.437016 1.14412 | |
| -1.58114 -0.707106 -0.707106 0.707106 | |
| -1.58114 0.437016 0 -1.14412 | |
| -1.58114 -0.437016 0 -1.14412 | |
| -1.41421 0 0 -1.41421 | |
| -1.41421 0.707106 0.437016 -1.14412 | |
| -1.58114 0.707106 0.707106 -0.707106 | |
| -1.41421 -0.707106 0.437016 -1.14412 | |
| -1.58114 -0.707106 0.707106 -0.707106 | |
| 1.41421 0.707106 -0.437016 -1.14412 | |
| 1.58114 0.707106 -0.707106 -0.707106 | |
| 1.41421 -0.707106 -0.437016 -1.14412 | |
| 1.58114 -0.707106 -0.707106 -0.707106 | |
| -1.41421 0.707106 -0.437016 -1.14412 | |
| -1.58114 0.707106 -0.707106 -0.707106 | |
| -1.41421 -0.707106 -0.437016 -1.14412 | |
| -1.58114 -0.707106 -0.707106 -0.707106 | |
| 1.14412 1.14412 0.27009 1.14412 | |
| 1.14412 1.14412 -0.27009 1.14412 | |
| 1.14412 1.58114 0 0.437016 | |
| 1.14412 1.41421 0.437016 0.707106 | |
| 1.14412 1.41421 -0.437016 0.707106 | |
| -1.14412 1.14412 0.27009 1.14412 | |
| -1.14412 1.14412 -0.27009 1.14412 | |
| -1.14412 1.58114 0 0.437016 | |
| -1.14412 1.41421 0.437016 0.707106 | |
| -1.14412 1.41421 -0.437016 0.707106 | |
| 1.14412 -1.14412 0.27009 1.14412 | |
| 1.14412 -1.14412 -0.27009 1.14412 | |
| 1.14412 -1.58114 0 0.437016 | |
| 1.14412 -1.41421 0.437016 0.707106 | |
| 1.14412 -1.41421 -0.437016 0.707106 | |
| 1.14412 1.14412 0.27009 -1.14412 | |
| 1.14412 1.14412 -0.27009 -1.14412 | |
| 1.14412 1.58114 0 -0.437016 | |
| 1.14412 1.41421 0.437016 -0.707106 | |
| 1.14412 1.41421 -0.437016 -0.707106 | |
| -1.14412 -1.14412 0.27009 1.14412 | |
| -1.14412 -1.14412 -0.27009 1.14412 | |
| -1.14412 -1.58114 0 0.437016 | |
| -1.14412 -1.41421 0.437016 0.707106 | |
| -1.14412 -1.41421 -0.437016 0.707106 | |
| -1.14412 1.14412 0.27009 -1.14412 | |
| -1.14412 1.14412 -0.27009 -1.14412 | |
| -1.14412 1.58114 0 -0.437016 | |
| -1.14412 1.41421 0.437016 -0.707106 | |
| -1.14412 1.41421 -0.437016 -0.707106 | |
| 1.14412 -1.14412 0.27009 -1.14412 | |
| 1.14412 -1.14412 -0.27009 -1.14412 | |
| 1.14412 -1.58114 0 -0.437016 | |
| 1.14412 -1.41421 0.437016 -0.707106 | |
| 1.14412 -1.41421 -0.437016 -0.707106 | |
| -1.14412 -1.14412 0.27009 -1.14412 | |
| -1.14412 -1.14412 -0.27009 -1.14412 | |
| -1.14412 -1.58114 0 -0.437016 | |
| -1.14412 -1.41421 0.437016 -0.707106 | |
| -1.14412 -1.41421 -0.437016 -0.707106 | |
| 1.58114 1.14412 0.437016 0 | |
| 1.58114 1.14412 -0.437016 0 | |
| 1.41421 1.41421 0 0 | |
| 1.41421 1.14412 0.707106 0.437016 | |
| 1.41421 1.14412 -0.707106 0.437016 | |
| -1.58114 1.14412 0.437016 0 | |
| -1.58114 1.14412 -0.437016 0 | |
| -1.41421 1.41421 0 0 | |
| -1.41421 1.14412 0.707106 0.437016 | |
| -1.41421 1.14412 -0.707106 0.437016 | |
| 1.58114 -1.14412 0.437016 0 | |
| 1.58114 -1.14412 -0.437016 0 | |
| 1.41421 -1.41421 0 0 | |
| 1.41421 -1.14412 0.707106 0.437016 | |
| 1.41421 -1.14412 -0.707106 0.437016 | |
| 1.41421 1.14412 0.707106 -0.437016 | |
| 1.41421 1.14412 -0.707106 -0.437016 | |
| -1.58114 -1.14412 0.437016 0 | |
| -1.58114 -1.14412 -0.437016 0 | |
| -1.41421 -1.41421 0 0 | |
| -1.41421 -1.14412 0.707106 0.437016 | |
| -1.41421 -1.14412 -0.707106 0.437016 | |
| -1.41421 1.14412 0.707106 -0.437016 | |
| -1.41421 1.14412 -0.707106 -0.437016 | |
| 1.41421 -1.14412 0.707106 -0.437016 | |
| 1.41421 -1.14412 -0.707106 -0.437016 | |
| -1.41421 -1.14412 0.707106 -0.437016 | |
| -1.41421 -1.14412 -0.707106 -0.437016 | |
| 1.14412 1.14412 1.14412 0.27009 | |
| 1.14412 1.14412 1.14412 -0.27009 | |
| -1.14412 1.14412 1.14412 0.27009 | |
| -1.14412 1.14412 1.14412 -0.27009 | |
| 1.14412 -1.14412 1.14412 0.27009 | |
| 1.14412 -1.14412 1.14412 -0.27009 | |
| 1.14412 1.14412 -1.14412 0.27009 | |
| 1.14412 1.14412 -1.14412 -0.27009 | |
| -1.14412 -1.14412 1.14412 0.27009 | |
| -1.14412 -1.14412 1.14412 -0.27009 | |
| -1.14412 1.14412 -1.14412 0.27009 | |
| -1.14412 1.14412 -1.14412 -0.27009 | |
| 1.14412 -1.14412 -1.14412 0.27009 | |
| 1.14412 -1.14412 -1.14412 -0.27009 | |
| -1.14412 -1.14412 -1.14412 0.27009 | |
| -1.14412 -1.14412 -1.14412 -0.27009 | |
| 1200 | |
| 0 2 | |
| 2 4 | |
| 4 3 | |
| 3 1 | |
| 1 0 | |
| 0 5 | |
| 5 7 | |
| 7 6 | |
| 6 1 | |
| 8 10 | |
| 10 12 | |
| 12 11 | |
| 11 9 | |
| 9 8 | |
| 8 13 | |
| 13 15 | |
| 15 14 | |
| 14 9 | |
| 5 17 | |
| 17 16 | |
| 16 2 | |
| 6 19 | |
| 19 18 | |
| 18 3 | |
| 13 17 | |
| 16 10 | |
| 14 19 | |
| 18 11 | |
| 12 4 | |
| 15 7 | |
| 20 22 | |
| 22 24 | |
| 24 23 | |
| 23 21 | |
| 21 20 | |
| 20 25 | |
| 25 27 | |
| 27 26 | |
| 26 21 | |
| 28 30 | |
| 30 32 | |
| 32 31 | |
| 31 29 | |
| 29 28 | |
| 28 33 | |
| 33 35 | |
| 35 34 | |
| 34 29 | |
| 25 37 | |
| 37 36 | |
| 36 22 | |
| 26 39 | |
| 39 38 | |
| 38 23 | |
| 33 37 | |
| 36 30 | |
| 34 39 | |
| 38 31 | |
| 32 24 | |
| 35 27 | |
| 40 43 | |
| 43 42 | |
| 42 44 | |
| 44 41 | |
| 41 40 | |
| 45 48 | |
| 48 47 | |
| 47 49 | |
| 49 46 | |
| 46 45 | |
| 40 51 | |
| 51 50 | |
| 50 52 | |
| 52 41 | |
| 45 54 | |
| 54 53 | |
| 53 55 | |
| 55 46 | |
| 42 47 | |
| 48 56 | |
| 56 43 | |
| 49 57 | |
| 57 44 | |
| 50 53 | |
| 54 58 | |
| 58 51 | |
| 55 59 | |
| 59 52 | |
| 58 56 | |
| 59 57 | |
| 60 63 | |
| 63 62 | |
| 62 64 | |
| 64 61 | |
| 61 60 | |
| 65 68 | |
| 68 67 | |
| 67 69 | |
| 69 66 | |
| 66 65 | |
| 60 71 | |
| 71 70 | |
| 70 72 | |
| 72 61 | |
| 65 74 | |
| 74 73 | |
| 73 75 | |
| 75 66 | |
| 62 67 | |
| 68 76 | |
| 76 63 | |
| 69 77 | |
| 77 64 | |
| 70 73 | |
| 74 78 | |
| 78 71 | |
| 75 79 | |
| 79 72 | |
| 78 76 | |
| 79 77 | |
| 80 82 | |
| 82 84 | |
| 84 83 | |
| 83 81 | |
| 81 80 | |
| 80 85 | |
| 85 87 | |
| 87 86 | |
| 86 81 | |
| 88 90 | |
| 90 92 | |
| 92 91 | |
| 91 89 | |
| 89 88 | |
| 88 93 | |
| 93 95 | |
| 95 94 | |
| 94 89 | |
| 85 97 | |
| 97 96 | |
| 96 82 | |
| 86 99 | |
| 99 98 | |
| 98 83 | |
| 93 97 | |
| 96 90 | |
| 94 99 | |
| 98 91 | |
| 92 84 | |
| 95 87 | |
| 100 102 | |
| 102 104 | |
| 104 103 | |
| 103 101 | |
| 101 100 | |
| 100 105 | |
| 105 107 | |
| 107 106 | |
| 106 101 | |
| 108 110 | |
| 110 112 | |
| 112 111 | |
| 111 109 | |
| 109 108 | |
| 108 113 | |
| 113 115 | |
| 115 114 | |
| 114 109 | |
| 105 117 | |
| 117 116 | |
| 116 102 | |
| 106 119 | |
| 119 118 | |
| 118 103 | |
| 113 117 | |
| 116 110 | |
| 114 119 | |
| 118 111 | |
| 112 104 | |
| 115 107 | |
| 120 123 | |
| 123 122 | |
| 122 124 | |
| 124 121 | |
| 121 120 | |
| 125 128 | |
| 128 127 | |
| 127 129 | |
| 129 126 | |
| 126 125 | |
| 120 131 | |
| 131 130 | |
| 130 132 | |
| 132 121 | |
| 125 134 | |
| 134 133 | |
| 133 135 | |
| 135 126 | |
| 122 127 | |
| 128 136 | |
| 136 123 | |
| 129 137 | |
| 137 124 | |
| 130 133 | |
| 134 138 | |
| 138 131 | |
| 135 139 | |
| 139 132 | |
| 138 136 | |
| 139 137 | |
| 140 143 | |
| 143 142 | |
| 142 144 | |
| 144 141 | |
| 141 140 | |
| 145 148 | |
| 148 147 | |
| 147 149 | |
| 149 146 | |
| 146 145 | |
| 140 151 | |
| 151 150 | |
| 150 152 | |
| 152 141 | |
| 145 154 | |
| 154 153 | |
| 153 155 | |
| 155 146 | |
| 142 147 | |
| 148 156 | |
| 156 143 | |
| 149 157 | |
| 157 144 | |
| 150 153 | |
| 154 158 | |
| 158 151 | |
| 155 159 | |
| 159 152 | |
| 158 156 | |
| 159 157 | |
| 120 161 | |
| 161 160 | |
| 160 162 | |
| 162 121 | |
| 163 166 | |
| 166 165 | |
| 165 167 | |
| 167 164 | |
| 164 163 | |
| 163 169 | |
| 169 168 | |
| 168 170 | |
| 170 164 | |
| 122 165 | |
| 166 171 | |
| 171 123 | |
| 167 172 | |
| 172 124 | |
| 160 168 | |
| 169 173 | |
| 173 161 | |
| 170 174 | |
| 174 162 | |
| 173 171 | |
| 174 172 | |
| 125 176 | |
| 176 175 | |
| 175 177 | |
| 177 126 | |
| 178 181 | |
| 181 180 | |
| 180 182 | |
| 182 179 | |
| 179 178 | |
| 178 184 | |
| 184 183 | |
| 183 185 | |
| 185 179 | |
| 127 180 | |
| 181 186 | |
| 186 128 | |
| 182 187 | |
| 187 129 | |
| 175 183 | |
| 184 188 | |
| 188 176 | |
| 185 189 | |
| 189 177 | |
| 188 186 | |
| 189 187 | |
| 190 193 | |
| 193 192 | |
| 192 194 | |
| 194 191 | |
| 191 190 | |
| 190 196 | |
| 196 195 | |
| 195 197 | |
| 197 191 | |
| 130 192 | |
| 193 198 | |
| 198 131 | |
| 194 199 | |
| 199 132 | |
| 160 195 | |
| 196 200 | |
| 200 161 | |
| 197 201 | |
| 201 162 | |
| 200 198 | |
| 201 199 | |
| 140 203 | |
| 203 202 | |
| 202 204 | |
| 204 141 | |
| 205 208 | |
| 208 207 | |
| 207 209 | |
| 209 206 | |
| 206 205 | |
| 205 211 | |
| 211 210 | |
| 210 212 | |
| 212 206 | |
| 142 207 | |
| 208 213 | |
| 213 143 | |
| 209 214 | |
| 214 144 | |
| 202 210 | |
| 211 215 | |
| 215 203 | |
| 212 216 | |
| 216 204 | |
| 215 213 | |
| 216 214 | |
| 217 220 | |
| 220 219 | |
| 219 221 | |
| 221 218 | |
| 218 217 | |
| 217 223 | |
| 223 222 | |
| 222 224 | |
| 224 218 | |
| 133 219 | |
| 220 225 | |
| 225 134 | |
| 221 226 | |
| 226 135 | |
| 175 222 | |
| 223 227 | |
| 227 176 | |
| 224 228 | |
| 228 177 | |
| 227 225 | |
| 228 226 | |
| 145 230 | |
| 230 229 | |
| 229 231 | |
| 231 146 | |
| 232 235 | |
| 235 234 | |
| 234 236 | |
| 236 233 | |
| 233 232 | |
| 232 238 | |
| 238 237 | |
| 237 239 | |
| 239 233 | |
| 147 234 | |
| 235 240 | |
| 240 148 | |
| 236 241 | |
| 241 149 | |
| 229 237 | |
| 238 242 | |
| 242 230 | |
| 239 243 | |
| 243 231 | |
| 242 240 | |
| 243 241 | |
| 244 247 | |
| 247 246 | |
| 246 248 | |
| 248 245 | |
| 245 244 | |
| 244 250 | |
| 250 249 | |
| 249 251 | |
| 251 245 | |
| 150 246 | |
| 247 252 | |
| 252 151 | |
| 248 253 | |
| 253 152 | |
| 202 249 | |
| 250 254 | |
| 254 203 | |
| 251 255 | |
| 255 204 | |
| 254 252 | |
| 255 253 | |
| 256 259 | |
| 259 258 | |
| 258 260 | |
| 260 257 | |
| 257 256 | |
| 256 262 | |
| 262 261 | |
| 261 263 | |
| 263 257 | |
| 153 258 | |
| 259 264 | |
| 264 154 | |
| 260 265 | |
| 265 155 | |
| 229 261 | |
| 262 266 | |
| 266 230 | |
| 263 267 | |
| 267 231 | |
| 266 264 | |
| 267 265 | |
| 80 268 | |
| 268 270 | |
| 270 269 | |
| 269 81 | |
| 163 272 | |
| 272 271 | |
| 271 273 | |
| 273 164 | |
| 268 274 | |
| 274 275 | |
| 275 82 | |
| 269 276 | |
| 276 277 | |
| 277 83 | |
| 165 270 | |
| 274 166 | |
| 276 167 | |
| 275 272 | |
| 271 84 | |
| 277 273 | |
| 178 279 | |
| 279 278 | |
| 278 280 | |
| 280 179 | |
| 268 281 | |
| 281 282 | |
| 282 85 | |
| 269 283 | |
| 283 284 | |
| 284 86 | |
| 180 270 | |
| 281 181 | |
| 283 182 | |
| 282 279 | |
| 278 87 | |
| 284 280 | |
| 100 285 | |
| 285 287 | |
| 287 286 | |
| 286 101 | |
| 190 289 | |
| 289 288 | |
| 288 290 | |
| 290 191 | |
| 285 291 | |
| 291 292 | |
| 292 102 | |
| 286 293 | |
| 293 294 | |
| 294 103 | |
| 192 287 | |
| 291 193 | |
| 293 194 | |
| 292 289 | |
| 288 104 | |
| 294 290 | |
| 88 295 | |
| 295 297 | |
| 297 296 | |
| 296 89 | |
| 205 299 | |
| 299 298 | |
| 298 300 | |
| 300 206 | |
| 295 301 | |
| 301 302 | |
| 302 90 | |
| 296 303 | |
| 303 304 | |
| 304 91 | |
| 207 297 | |
| 301 208 | |
| 303 209 | |
| 302 299 | |
| 298 92 | |
| 304 300 | |
| 217 306 | |
| 306 305 | |
| 305 307 | |
| 307 218 | |
| 285 308 | |
| 308 309 | |
| 309 105 | |
| 286 310 | |
| 310 311 | |
| 311 106 | |
| 219 287 | |
| 308 220 | |
| 310 221 | |
| 309 306 | |
| 305 107 | |
| 311 307 | |
| 232 313 | |
| 313 312 | |
| 312 314 | |
| 314 233 | |
| 295 315 | |
| 315 316 | |
| 316 93 | |
| 296 317 | |
| 317 318 | |
| 318 94 | |
| 234 297 | |
| 315 235 | |
| 317 236 | |
| 316 313 | |
| 312 95 | |
| 318 314 | |
| 108 319 | |
| 319 321 | |
| 321 320 | |
| 320 109 | |
| 244 323 | |
| 323 322 | |
| 322 324 | |
| 324 245 | |
| 319 325 | |
| 325 326 | |
| 326 110 | |
| 320 327 | |
| 327 328 | |
| 328 111 | |
| 246 321 | |
| 325 247 | |
| 327 248 | |
| 326 323 | |
| 322 112 | |
| 328 324 | |
| 256 330 | |
| 330 329 | |
| 329 331 | |
| 331 257 | |
| 319 332 | |
| 332 333 | |
| 333 113 | |
| 320 334 | |
| 334 335 | |
| 335 114 | |
| 258 321 | |
| 332 259 | |
| 334 260 | |
| 333 330 | |
| 329 115 | |
| 335 331 | |
| 40 336 | |
| 336 338 | |
| 338 337 | |
| 337 41 | |
| 42 168 | |
| 169 339 | |
| 339 43 | |
| 170 340 | |
| 340 44 | |
| 336 341 | |
| 341 339 | |
| 337 342 | |
| 342 340 | |
| 271 338 | |
| 341 272 | |
| 342 273 | |
| 60 343 | |
| 343 345 | |
| 345 344 | |
| 344 61 | |
| 62 183 | |
| 184 346 | |
| 346 63 | |
| 185 347 | |
| 347 64 | |
| 343 348 | |
| 348 346 | |
| 344 349 | |
| 349 347 | |
| 278 345 | |
| 348 279 | |
| 349 280 | |
| 45 350 | |
| 350 352 | |
| 352 351 | |
| 351 46 | |
| 47 195 | |
| 196 353 | |
| 353 48 | |
| 197 354 | |
| 354 49 | |
| 350 355 | |
| 355 353 | |
| 351 356 | |
| 356 354 | |
| 288 352 | |
| 355 289 | |
| 356 290 | |
| 50 210 | |
| 211 357 | |
| 357 51 | |
| 212 358 | |
| 358 52 | |
| 336 359 | |
| 359 357 | |
| 337 360 | |
| 360 358 | |
| 298 338 | |
| 359 299 | |
| 360 300 | |
| 65 361 | |
| 361 363 | |
| 363 362 | |
| 362 66 | |
| 67 222 | |
| 223 364 | |
| 364 68 | |
| 224 365 | |
| 365 69 | |
| 361 366 | |
| 366 364 | |
| 362 367 | |
| 367 365 | |
| 305 363 | |
| 366 306 | |
| 367 307 | |
| 70 237 | |
| 238 368 | |
| 368 71 | |
| 239 369 | |
| 369 72 | |
| 343 370 | |
| 370 368 | |
| 344 371 | |
| 371 369 | |
| 312 345 | |
| 370 313 | |
| 371 314 | |
| 53 249 | |
| 250 372 | |
| 372 54 | |
| 251 373 | |
| 373 55 | |
| 350 374 | |
| 374 372 | |
| 351 375 | |
| 375 373 | |
| 322 352 | |
| 374 323 | |
| 375 324 | |
| 73 261 | |
| 262 376 | |
| 376 74 | |
| 263 377 | |
| 377 75 | |
| 361 378 | |
| 378 376 | |
| 362 379 | |
| 379 377 | |
| 329 363 | |
| 378 330 | |
| 379 331 | |
| 96 381 | |
| 381 380 | |
| 380 382 | |
| 382 97 | |
| 281 384 | |
| 384 383 | |
| 383 274 | |
| 383 386 | |
| 386 385 | |
| 385 387 | |
| 387 384 | |
| 380 385 | |
| 386 388 | |
| 388 381 | |
| 387 389 | |
| 389 382 | |
| 275 388 | |
| 282 389 | |
| 98 391 | |
| 391 390 | |
| 390 392 | |
| 392 99 | |
| 283 394 | |
| 394 393 | |
| 393 276 | |
| 393 396 | |
| 396 395 | |
| 395 397 | |
| 397 394 | |
| 390 395 | |
| 396 398 | |
| 398 391 | |
| 397 399 | |
| 399 392 | |
| 277 398 | |
| 284 399 | |
| 116 401 | |
| 401 400 | |
| 400 402 | |
| 402 117 | |
| 308 404 | |
| 404 403 | |
| 403 291 | |
| 403 406 | |
| 406 405 | |
| 405 407 | |
| 407 404 | |
| 400 405 | |
| 406 408 | |
| 408 401 | |
| 407 409 | |
| 409 402 | |
| 292 408 | |
| 309 409 | |
| 315 411 | |
| 411 410 | |
| 410 301 | |
| 410 413 | |
| 413 412 | |
| 412 414 | |
| 414 411 | |
| 380 412 | |
| 413 415 | |
| 415 381 | |
| 414 416 | |
| 416 382 | |
| 302 415 | |
| 316 416 | |
| 118 418 | |
| 418 417 | |
| 417 419 | |
| 419 119 | |
| 310 421 | |
| 421 420 | |
| 420 293 | |
| 420 423 | |
| 423 422 | |
| 422 424 | |
| 424 421 | |
| 417 422 | |
| 423 425 | |
| 425 418 | |
| 424 426 | |
| 426 419 | |
| 294 425 | |
| 311 426 | |
| 317 428 | |
| 428 427 | |
| 427 303 | |
| 427 430 | |
| 430 429 | |
| 429 431 | |
| 431 428 | |
| 390 429 | |
| 430 432 | |
| 432 391 | |
| 431 433 | |
| 433 392 | |
| 304 432 | |
| 318 433 | |
| 332 435 | |
| 435 434 | |
| 434 325 | |
| 434 437 | |
| 437 436 | |
| 436 438 | |
| 438 435 | |
| 400 436 | |
| 437 439 | |
| 439 401 | |
| 438 440 | |
| 440 402 | |
| 326 439 | |
| 333 440 | |
| 334 442 | |
| 442 441 | |
| 441 327 | |
| 441 444 | |
| 444 443 | |
| 443 445 | |
| 445 442 | |
| 417 443 | |
| 444 446 | |
| 446 418 | |
| 445 447 | |
| 447 419 | |
| 328 446 | |
| 335 447 | |
| 383 449 | |
| 449 448 | |
| 448 450 | |
| 450 384 | |
| 171 449 | |
| 448 136 | |
| 186 450 | |
| 393 452 | |
| 452 451 | |
| 451 453 | |
| 453 394 | |
| 172 452 | |
| 451 137 | |
| 187 453 | |
| 403 455 | |
| 455 454 | |
| 454 456 | |
| 456 404 | |
| 198 455 | |
| 454 138 | |
| 225 456 | |
| 410 458 | |
| 458 457 | |
| 457 459 | |
| 459 411 | |
| 213 458 | |
| 457 156 | |
| 240 459 | |
| 420 461 | |
| 461 460 | |
| 460 462 | |
| 462 421 | |
| 199 461 | |
| 460 139 | |
| 226 462 | |
| 427 464 | |
| 464 463 | |
| 463 465 | |
| 465 428 | |
| 214 464 | |
| 463 157 | |
| 241 465 | |
| 434 467 | |
| 467 466 | |
| 466 468 | |
| 468 435 | |
| 252 467 | |
| 466 158 | |
| 264 468 | |
| 441 470 | |
| 470 469 | |
| 469 471 | |
| 471 442 | |
| 253 470 | |
| 469 159 | |
| 265 471 | |
| 0 472 | |
| 472 474 | |
| 474 473 | |
| 473 1 | |
| 472 475 | |
| 475 476 | |
| 476 2 | |
| 473 477 | |
| 477 478 | |
| 478 3 | |
| 448 474 | |
| 475 449 | |
| 477 450 | |
| 476 386 | |
| 385 4 | |
| 478 387 | |
| 20 479 | |
| 479 481 | |
| 481 480 | |
| 480 21 | |
| 479 482 | |
| 482 483 | |
| 483 22 | |
| 480 484 | |
| 484 485 | |
| 485 23 | |
| 451 481 | |
| 482 452 | |
| 484 453 | |
| 483 396 | |
| 395 24 | |
| 485 397 | |
| 472 486 | |
| 486 487 | |
| 487 5 | |
| 473 488 | |
| 488 489 | |
| 489 6 | |
| 454 474 | |
| 486 455 | |
| 488 456 | |
| 487 406 | |
| 405 7 | |
| 489 407 | |
| 8 490 | |
| 490 492 | |
| 492 491 | |
| 491 9 | |
| 490 493 | |
| 493 494 | |
| 494 10 | |
| 491 495 | |
| 495 496 | |
| 496 11 | |
| 457 492 | |
| 493 458 | |
| 495 459 | |
| 494 413 | |
| 412 12 | |
| 496 414 | |
| 479 497 | |
| 497 498 | |
| 498 25 | |
| 480 499 | |
| 499 500 | |
| 500 26 | |
| 460 481 | |
| 497 461 | |
| 499 462 | |
| 498 423 | |
| 422 27 | |
| 500 424 | |
| 28 501 | |
| 501 503 | |
| 503 502 | |
| 502 29 | |
| 501 504 | |
| 504 505 | |
| 505 30 | |
| 502 506 | |
| 506 507 | |
| 507 31 | |
| 463 503 | |
| 504 464 | |
| 506 465 | |
| 505 430 | |
| 429 32 | |
| 507 431 | |
| 490 508 | |
| 508 509 | |
| 509 13 | |
| 491 510 | |
| 510 511 | |
| 511 14 | |
| 466 492 | |
| 508 467 | |
| 510 468 | |
| 509 437 | |
| 436 15 | |
| 511 438 | |
| 501 512 | |
| 512 513 | |
| 513 33 | |
| 502 514 | |
| 514 515 | |
| 515 34 | |
| 469 503 | |
| 512 470 | |
| 514 471 | |
| 513 444 | |
| 443 35 | |
| 515 445 | |
| 516 519 | |
| 519 518 | |
| 518 520 | |
| 520 517 | |
| 517 516 | |
| 200 517 | |
| 516 173 | |
| 339 519 | |
| 518 56 | |
| 353 520 | |
| 521 524 | |
| 524 523 | |
| 523 525 | |
| 525 522 | |
| 522 521 | |
| 201 522 | |
| 521 174 | |
| 340 524 | |
| 523 57 | |
| 354 525 | |
| 526 529 | |
| 529 528 | |
| 528 530 | |
| 530 527 | |
| 527 526 | |
| 227 527 | |
| 526 188 | |
| 346 529 | |
| 528 76 | |
| 364 530 | |
| 531 534 | |
| 534 533 | |
| 533 535 | |
| 535 532 | |
| 532 531 | |
| 254 532 | |
| 531 215 | |
| 357 534 | |
| 533 58 | |
| 372 535 | |
| 536 539 | |
| 539 538 | |
| 538 540 | |
| 540 537 | |
| 537 536 | |
| 228 537 | |
| 536 189 | |
| 347 539 | |
| 538 77 | |
| 365 540 | |
| 541 544 | |
| 544 543 | |
| 543 545 | |
| 545 542 | |
| 542 541 | |
| 255 542 | |
| 541 216 | |
| 358 544 | |
| 543 59 | |
| 373 545 | |
| 546 549 | |
| 549 548 | |
| 548 550 | |
| 550 547 | |
| 547 546 | |
| 266 547 | |
| 546 242 | |
| 368 549 | |
| 548 78 | |
| 376 550 | |
| 551 554 | |
| 554 553 | |
| 553 555 | |
| 555 552 | |
| 552 551 | |
| 267 552 | |
| 551 243 | |
| 369 554 | |
| 553 79 | |
| 377 555 | |
| 16 556 | |
| 556 558 | |
| 558 557 | |
| 557 17 | |
| 486 517 | |
| 516 475 | |
| 476 559 | |
| 559 556 | |
| 487 560 | |
| 560 557 | |
| 518 558 | |
| 559 519 | |
| 560 520 | |
| 36 561 | |
| 561 563 | |
| 563 562 | |
| 562 37 | |
| 497 522 | |
| 521 482 | |
| 483 564 | |
| 564 561 | |
| 498 565 | |
| 565 562 | |
| 523 563 | |
| 564 524 | |
| 565 525 | |
| 18 566 | |
| 566 568 | |
| 568 567 | |
| 567 19 | |
| 488 527 | |
| 526 477 | |
| 478 569 | |
| 569 566 | |
| 489 570 | |
| 570 567 | |
| 528 568 | |
| 569 529 | |
| 570 530 | |
| 508 532 | |
| 531 493 | |
| 494 571 | |
| 571 556 | |
| 509 572 | |
| 572 557 | |
| 533 558 | |
| 571 534 | |
| 572 535 | |
| 38 573 | |
| 573 575 | |
| 575 574 | |
| 574 39 | |
| 499 537 | |
| 536 484 | |
| 485 576 | |
| 576 573 | |
| 500 577 | |
| 577 574 | |
| 538 575 | |
| 576 539 | |
| 577 540 | |
| 512 542 | |
| 541 504 | |
| 505 578 | |
| 578 561 | |
| 513 579 | |
| 579 562 | |
| 543 563 | |
| 578 544 | |
| 579 545 | |
| 510 547 | |
| 546 495 | |
| 496 580 | |
| 580 566 | |
| 511 581 | |
| 581 567 | |
| 548 568 | |
| 580 549 | |
| 581 550 | |
| 514 552 | |
| 551 506 | |
| 507 582 | |
| 582 573 | |
| 515 583 | |
| 583 574 | |
| 553 575 | |
| 582 554 | |
| 583 555 | |
| 571 585 | |
| 585 584 | |
| 584 559 | |
| 415 585 | |
| 584 388 | |
| 578 587 | |
| 587 586 | |
| 586 564 | |
| 432 587 | |
| 586 398 | |
| 580 589 | |
| 589 588 | |
| 588 569 | |
| 416 589 | |
| 588 389 | |
| 572 591 | |
| 591 590 | |
| 590 560 | |
| 439 591 | |
| 590 408 | |
| 582 593 | |
| 593 592 | |
| 592 576 | |
| 433 593 | |
| 592 399 | |
| 579 595 | |
| 595 594 | |
| 594 565 | |
| 446 595 | |
| 594 425 | |
| 581 597 | |
| 597 596 | |
| 596 570 | |
| 440 597 | |
| 596 409 | |
| 583 599 | |
| 599 598 | |
| 598 577 | |
| 447 599 | |
| 598 426 | |
| 359 585 | |
| 584 341 | |
| 360 587 | |
| 586 342 | |
| 370 589 | |
| 588 348 | |
| 374 591 | |
| 590 355 | |
| 371 593 | |
| 592 349 | |
| 375 595 | |
| 594 356 | |
| 378 597 | |
| 596 366 | |
| 379 599 | |
| 598 367 | |
| 720 | |
| 5 0 2 4 3 1 | |
| 5 0 5 7 6 1 | |
| 5 8 10 12 11 9 | |
| 5 8 13 15 14 9 | |
| 5 0 5 17 16 2 | |
| 5 1 6 19 18 3 | |
| 5 8 13 17 16 10 | |
| 5 9 14 19 18 11 | |
| 5 2 16 10 12 4 | |
| 5 3 18 11 12 4 | |
| 5 5 17 13 15 7 | |
| 5 6 19 14 15 7 | |
| 5 20 22 24 23 21 | |
| 5 20 25 27 26 21 | |
| 5 28 30 32 31 29 | |
| 5 28 33 35 34 29 | |
| 5 20 25 37 36 22 | |
| 5 21 26 39 38 23 | |
| 5 28 33 37 36 30 | |
| 5 29 34 39 38 31 | |
| 5 22 36 30 32 24 | |
| 5 23 38 31 32 24 | |
| 5 25 37 33 35 27 | |
| 5 26 39 34 35 27 | |
| 5 40 43 42 44 41 | |
| 5 45 48 47 49 46 | |
| 5 40 51 50 52 41 | |
| 5 45 54 53 55 46 | |
| 5 42 47 48 56 43 | |
| 5 42 47 49 57 44 | |
| 5 50 53 54 58 51 | |
| 5 50 53 55 59 52 | |
| 5 40 51 58 56 43 | |
| 5 41 52 59 57 44 | |
| 5 45 54 58 56 48 | |
| 5 46 55 59 57 49 | |
| 5 60 63 62 64 61 | |
| 5 65 68 67 69 66 | |
| 5 60 71 70 72 61 | |
| 5 65 74 73 75 66 | |
| 5 62 67 68 76 63 | |
| 5 62 67 69 77 64 | |
| 5 70 73 74 78 71 | |
| 5 70 73 75 79 72 | |
| 5 60 71 78 76 63 | |
| 5 61 72 79 77 64 | |
| 5 65 74 78 76 68 | |
| 5 66 75 79 77 69 | |
| 5 80 82 84 83 81 | |
| 5 80 85 87 86 81 | |
| 5 88 90 92 91 89 | |
| 5 88 93 95 94 89 | |
| 5 80 85 97 96 82 | |
| 5 81 86 99 98 83 | |
| 5 88 93 97 96 90 | |
| 5 89 94 99 98 91 | |
| 5 82 96 90 92 84 | |
| 5 83 98 91 92 84 | |
| 5 85 97 93 95 87 | |
| 5 86 99 94 95 87 | |
| 5 100 102 104 103 101 | |
| 5 100 105 107 106 101 | |
| 5 108 110 112 111 109 | |
| 5 108 113 115 114 109 | |
| 5 100 105 117 116 102 | |
| 5 101 106 119 118 103 | |
| 5 108 113 117 116 110 | |
| 5 109 114 119 118 111 | |
| 5 102 116 110 112 104 | |
| 5 103 118 111 112 104 | |
| 5 105 117 113 115 107 | |
| 5 106 119 114 115 107 | |
| 5 120 123 122 124 121 | |
| 5 125 128 127 129 126 | |
| 5 120 131 130 132 121 | |
| 5 125 134 133 135 126 | |
| 5 122 127 128 136 123 | |
| 5 122 127 129 137 124 | |
| 5 130 133 134 138 131 | |
| 5 130 133 135 139 132 | |
| 5 120 131 138 136 123 | |
| 5 121 132 139 137 124 | |
| 5 125 134 138 136 128 | |
| 5 126 135 139 137 129 | |
| 5 140 143 142 144 141 | |
| 5 145 148 147 149 146 | |
| 5 140 151 150 152 141 | |
| 5 145 154 153 155 146 | |
| 5 142 147 148 156 143 | |
| 5 142 147 149 157 144 | |
| 5 150 153 154 158 151 | |
| 5 150 153 155 159 152 | |
| 5 140 151 158 156 143 | |
| 5 141 152 159 157 144 | |
| 5 145 154 158 156 148 | |
| 5 146 155 159 157 149 | |
| 5 120 161 160 162 121 | |
| 5 163 166 165 167 164 | |
| 5 163 169 168 170 164 | |
| 5 122 165 166 171 123 | |
| 5 122 165 167 172 124 | |
| 5 160 168 169 173 161 | |
| 5 160 168 170 174 162 | |
| 5 120 161 173 171 123 | |
| 5 121 162 174 172 124 | |
| 5 163 169 173 171 166 | |
| 5 164 170 174 172 167 | |
| 5 125 176 175 177 126 | |
| 5 178 181 180 182 179 | |
| 5 178 184 183 185 179 | |
| 5 127 180 181 186 128 | |
| 5 127 180 182 187 129 | |
| 5 175 183 184 188 176 | |
| 5 175 183 185 189 177 | |
| 5 125 176 188 186 128 | |
| 5 126 177 189 187 129 | |
| 5 178 184 188 186 181 | |
| 5 179 185 189 187 182 | |
| 5 190 193 192 194 191 | |
| 5 190 196 195 197 191 | |
| 5 130 192 193 198 131 | |
| 5 130 192 194 199 132 | |
| 5 160 195 196 200 161 | |
| 5 160 195 197 201 162 | |
| 5 120 161 200 198 131 | |
| 5 121 162 201 199 132 | |
| 5 190 196 200 198 193 | |
| 5 191 197 201 199 194 | |
| 5 140 203 202 204 141 | |
| 5 205 208 207 209 206 | |
| 5 205 211 210 212 206 | |
| 5 142 207 208 213 143 | |
| 5 142 207 209 214 144 | |
| 5 202 210 211 215 203 | |
| 5 202 210 212 216 204 | |
| 5 140 203 215 213 143 | |
| 5 141 204 216 214 144 | |
| 5 205 211 215 213 208 | |
| 5 206 212 216 214 209 | |
| 5 217 220 219 221 218 | |
| 5 217 223 222 224 218 | |
| 5 133 219 220 225 134 | |
| 5 133 219 221 226 135 | |
| 5 175 222 223 227 176 | |
| 5 175 222 224 228 177 | |
| 5 125 176 227 225 134 | |
| 5 126 177 228 226 135 | |
| 5 217 223 227 225 220 | |
| 5 218 224 228 226 221 | |
| 5 145 230 229 231 146 | |
| 5 232 235 234 236 233 | |
| 5 232 238 237 239 233 | |
| 5 147 234 235 240 148 | |
| 5 147 234 236 241 149 | |
| 5 229 237 238 242 230 | |
| 5 229 237 239 243 231 | |
| 5 145 230 242 240 148 | |
| 5 146 231 243 241 149 | |
| 5 232 238 242 240 235 | |
| 5 233 239 243 241 236 | |
| 5 244 247 246 248 245 | |
| 5 244 250 249 251 245 | |
| 5 150 246 247 252 151 | |
| 5 150 246 248 253 152 | |
| 5 202 249 250 254 203 | |
| 5 202 249 251 255 204 | |
| 5 140 203 254 252 151 | |
| 5 141 204 255 253 152 | |
| 5 244 250 254 252 247 | |
| 5 245 251 255 253 248 | |
| 5 256 259 258 260 257 | |
| 5 256 262 261 263 257 | |
| 5 153 258 259 264 154 | |
| 5 153 258 260 265 155 | |
| 5 229 261 262 266 230 | |
| 5 229 261 263 267 231 | |
| 5 145 230 266 264 154 | |
| 5 146 231 267 265 155 | |
| 5 256 262 266 264 259 | |
| 5 257 263 267 265 260 | |
| 5 80 268 270 269 81 | |
| 5 163 272 271 273 164 | |
| 5 80 268 274 275 82 | |
| 5 81 269 276 277 83 | |
| 5 165 270 268 274 166 | |
| 5 165 270 269 276 167 | |
| 5 82 275 272 271 84 | |
| 5 83 277 273 271 84 | |
| 5 163 272 275 274 166 | |
| 5 164 273 277 276 167 | |
| 5 178 279 278 280 179 | |
| 5 80 268 281 282 85 | |
| 5 81 269 283 284 86 | |
| 5 180 270 268 281 181 | |
| 5 180 270 269 283 182 | |
| 5 85 282 279 278 87 | |
| 5 86 284 280 278 87 | |
| 5 178 279 282 281 181 | |
| 5 179 280 284 283 182 | |
| 5 100 285 287 286 101 | |
| 5 190 289 288 290 191 | |
| 5 100 285 291 292 102 | |
| 5 101 286 293 294 103 | |
| 5 192 287 285 291 193 | |
| 5 192 287 286 293 194 | |
| 5 102 292 289 288 104 | |
| 5 103 294 290 288 104 | |
| 5 190 289 292 291 193 | |
| 5 191 290 294 293 194 | |
| 5 88 295 297 296 89 | |
| 5 205 299 298 300 206 | |
| 5 88 295 301 302 90 | |
| 5 89 296 303 304 91 | |
| 5 207 297 295 301 208 | |
| 5 207 297 296 303 209 | |
| 5 90 302 299 298 92 | |
| 5 91 304 300 298 92 | |
| 5 205 299 302 301 208 | |
| 5 206 300 304 303 209 | |
| 5 217 306 305 307 218 | |
| 5 100 285 308 309 105 | |
| 5 101 286 310 311 106 | |
| 5 219 287 285 308 220 | |
| 5 219 287 286 310 221 | |
| 5 105 309 306 305 107 | |
| 5 106 311 307 305 107 | |
| 5 217 306 309 308 220 | |
| 5 218 307 311 310 221 | |
| 5 232 313 312 314 233 | |
| 5 88 295 315 316 93 | |
| 5 89 296 317 318 94 | |
| 5 234 297 295 315 235 | |
| 5 234 297 296 317 236 | |
| 5 93 316 313 312 95 | |
| 5 94 318 314 312 95 | |
| 5 232 313 316 315 235 | |
| 5 233 314 318 317 236 | |
| 5 108 319 321 320 109 | |
| 5 244 323 322 324 245 | |
| 5 108 319 325 326 110 | |
| 5 109 320 327 328 111 | |
| 5 246 321 319 325 247 | |
| 5 246 321 320 327 248 | |
| 5 110 326 323 322 112 | |
| 5 111 328 324 322 112 | |
| 5 244 323 326 325 247 | |
| 5 245 324 328 327 248 | |
| 5 256 330 329 331 257 | |
| 5 108 319 332 333 113 | |
| 5 109 320 334 335 114 | |
| 5 258 321 319 332 259 | |
| 5 258 321 320 334 260 | |
| 5 113 333 330 329 115 | |
| 5 114 335 331 329 115 | |
| 5 256 330 333 332 259 | |
| 5 257 331 335 334 260 | |
| 5 40 336 338 337 41 | |
| 5 42 168 169 339 43 | |
| 5 42 168 170 340 44 | |
| 5 40 336 341 339 43 | |
| 5 41 337 342 340 44 | |
| 5 271 338 336 341 272 | |
| 5 271 338 337 342 273 | |
| 5 163 272 341 339 169 | |
| 5 164 273 342 340 170 | |
| 5 60 343 345 344 61 | |
| 5 62 183 184 346 63 | |
| 5 62 183 185 347 64 | |
| 5 60 343 348 346 63 | |
| 5 61 344 349 347 64 | |
| 5 278 345 343 348 279 | |
| 5 278 345 344 349 280 | |
| 5 178 279 348 346 184 | |
| 5 179 280 349 347 185 | |
| 5 45 350 352 351 46 | |
| 5 47 195 196 353 48 | |
| 5 47 195 197 354 49 | |
| 5 45 350 355 353 48 | |
| 5 46 351 356 354 49 | |
| 5 288 352 350 355 289 | |
| 5 288 352 351 356 290 | |
| 5 190 289 355 353 196 | |
| 5 191 290 356 354 197 | |
| 5 50 210 211 357 51 | |
| 5 50 210 212 358 52 | |
| 5 40 336 359 357 51 | |
| 5 41 337 360 358 52 | |
| 5 298 338 336 359 299 | |
| 5 298 338 337 360 300 | |
| 5 205 299 359 357 211 | |
| 5 206 300 360 358 212 | |
| 5 65 361 363 362 66 | |
| 5 67 222 223 364 68 | |
| 5 67 222 224 365 69 | |
| 5 65 361 366 364 68 | |
| 5 66 362 367 365 69 | |
| 5 305 363 361 366 306 | |
| 5 305 363 362 367 307 | |
| 5 217 306 366 364 223 | |
| 5 218 307 367 365 224 | |
| 5 70 237 238 368 71 | |
| 5 70 237 239 369 72 | |
| 5 60 343 370 368 71 | |
| 5 61 344 371 369 72 | |
| 5 312 345 343 370 313 | |
| 5 312 345 344 371 314 | |
| 5 232 313 370 368 238 | |
| 5 233 314 371 369 239 | |
| 5 53 249 250 372 54 | |
| 5 53 249 251 373 55 | |
| 5 45 350 374 372 54 | |
| 5 46 351 375 373 55 | |
| 5 322 352 350 374 323 | |
| 5 322 352 351 375 324 | |
| 5 244 323 374 372 250 | |
| 5 245 324 375 373 251 | |
| 5 73 261 262 376 74 | |
| 5 73 261 263 377 75 | |
| 5 65 361 378 376 74 | |
| 5 66 362 379 377 75 | |
| 5 329 363 361 378 330 | |
| 5 329 363 362 379 331 | |
| 5 256 330 378 376 262 | |
| 5 257 331 379 377 263 | |
| 5 96 381 380 382 97 | |
| 5 268 281 384 383 274 | |
| 5 383 386 385 387 384 | |
| 5 380 385 386 388 381 | |
| 5 380 385 387 389 382 | |
| 5 82 275 388 381 96 | |
| 5 85 282 389 382 97 | |
| 5 274 383 386 388 275 | |
| 5 281 384 387 389 282 | |
| 5 98 391 390 392 99 | |
| 5 269 283 394 393 276 | |
| 5 393 396 395 397 394 | |
| 5 390 395 396 398 391 | |
| 5 390 395 397 399 392 | |
| 5 83 277 398 391 98 | |
| 5 86 284 399 392 99 | |
| 5 276 393 396 398 277 | |
| 5 283 394 397 399 284 | |
| 5 116 401 400 402 117 | |
| 5 285 308 404 403 291 | |
| 5 403 406 405 407 404 | |
| 5 400 405 406 408 401 | |
| 5 400 405 407 409 402 | |
| 5 102 292 408 401 116 | |
| 5 105 309 409 402 117 | |
| 5 291 403 406 408 292 | |
| 5 308 404 407 409 309 | |
| 5 295 315 411 410 301 | |
| 5 410 413 412 414 411 | |
| 5 380 412 413 415 381 | |
| 5 380 412 414 416 382 | |
| 5 90 302 415 381 96 | |
| 5 93 316 416 382 97 | |
| 5 301 410 413 415 302 | |
| 5 315 411 414 416 316 | |
| 5 118 418 417 419 119 | |
| 5 286 310 421 420 293 | |
| 5 420 423 422 424 421 | |
| 5 417 422 423 425 418 | |
| 5 417 422 424 426 419 | |
| 5 103 294 425 418 118 | |
| 5 106 311 426 419 119 | |
| 5 293 420 423 425 294 | |
| 5 310 421 424 426 311 | |
| 5 296 317 428 427 303 | |
| 5 427 430 429 431 428 | |
| 5 390 429 430 432 391 | |
| 5 390 429 431 433 392 | |
| 5 91 304 432 391 98 | |
| 5 94 318 433 392 99 | |
| 5 303 427 430 432 304 | |
| 5 317 428 431 433 318 | |
| 5 319 332 435 434 325 | |
| 5 434 437 436 438 435 | |
| 5 400 436 437 439 401 | |
| 5 400 436 438 440 402 | |
| 5 110 326 439 401 116 | |
| 5 113 333 440 402 117 | |
| 5 325 434 437 439 326 | |
| 5 332 435 438 440 333 | |
| 5 320 334 442 441 327 | |
| 5 441 444 443 445 442 | |
| 5 417 443 444 446 418 | |
| 5 417 443 445 447 419 | |
| 5 111 328 446 418 118 | |
| 5 114 335 447 419 119 | |
| 5 327 441 444 446 328 | |
| 5 334 442 445 447 335 | |
| 5 122 165 270 180 127 | |
| 5 383 449 448 450 384 | |
| 5 123 171 449 448 136 | |
| 5 128 186 450 448 136 | |
| 5 166 274 383 449 171 | |
| 5 181 281 384 450 186 | |
| 5 393 452 451 453 394 | |
| 5 124 172 452 451 137 | |
| 5 129 187 453 451 137 | |
| 5 167 276 393 452 172 | |
| 5 182 283 394 453 187 | |
| 5 130 192 287 219 133 | |
| 5 403 455 454 456 404 | |
| 5 131 198 455 454 138 | |
| 5 134 225 456 454 138 | |
| 5 193 291 403 455 198 | |
| 5 220 308 404 456 225 | |
| 5 142 207 297 234 147 | |
| 5 410 458 457 459 411 | |
| 5 143 213 458 457 156 | |
| 5 148 240 459 457 156 | |
| 5 208 301 410 458 213 | |
| 5 235 315 411 459 240 | |
| 5 420 461 460 462 421 | |
| 5 132 199 461 460 139 | |
| 5 135 226 462 460 139 | |
| 5 194 293 420 461 199 | |
| 5 221 310 421 462 226 | |
| 5 427 464 463 465 428 | |
| 5 144 214 464 463 157 | |
| 5 149 241 465 463 157 | |
| 5 209 303 427 464 214 | |
| 5 236 317 428 465 241 | |
| 5 150 246 321 258 153 | |
| 5 434 467 466 468 435 | |
| 5 151 252 467 466 158 | |
| 5 154 264 468 466 158 | |
| 5 247 325 434 467 252 | |
| 5 259 332 435 468 264 | |
| 5 441 470 469 471 442 | |
| 5 152 253 470 469 159 | |
| 5 155 265 471 469 159 | |
| 5 248 327 441 470 253 | |
| 5 260 334 442 471 265 | |
| 5 0 472 474 473 1 | |
| 5 0 472 475 476 2 | |
| 5 1 473 477 478 3 | |
| 5 448 474 472 475 449 | |
| 5 448 474 473 477 450 | |
| 5 2 476 386 385 4 | |
| 5 3 478 387 385 4 | |
| 5 383 449 475 476 386 | |
| 5 384 450 477 478 387 | |
| 5 20 479 481 480 21 | |
| 5 20 479 482 483 22 | |
| 5 21 480 484 485 23 | |
| 5 451 481 479 482 452 | |
| 5 451 481 480 484 453 | |
| 5 22 483 396 395 24 | |
| 5 23 485 397 395 24 | |
| 5 393 452 482 483 396 | |
| 5 394 453 484 485 397 | |
| 5 0 472 486 487 5 | |
| 5 1 473 488 489 6 | |
| 5 454 474 472 486 455 | |
| 5 454 474 473 488 456 | |
| 5 5 487 406 405 7 | |
| 5 6 489 407 405 7 | |
| 5 403 455 486 487 406 | |
| 5 404 456 488 489 407 | |
| 5 8 490 492 491 9 | |
| 5 8 490 493 494 10 | |
| 5 9 491 495 496 11 | |
| 5 457 492 490 493 458 | |
| 5 457 492 491 495 459 | |
| 5 10 494 413 412 12 | |
| 5 11 496 414 412 12 | |
| 5 410 458 493 494 413 | |
| 5 411 459 495 496 414 | |
| 5 20 479 497 498 25 | |
| 5 21 480 499 500 26 | |
| 5 460 481 479 497 461 | |
| 5 460 481 480 499 462 | |
| 5 25 498 423 422 27 | |
| 5 26 500 424 422 27 | |
| 5 420 461 497 498 423 | |
| 5 421 462 499 500 424 | |
| 5 28 501 503 502 29 | |
| 5 28 501 504 505 30 | |
| 5 29 502 506 507 31 | |
| 5 463 503 501 504 464 | |
| 5 463 503 502 506 465 | |
| 5 30 505 430 429 32 | |
| 5 31 507 431 429 32 | |
| 5 427 464 504 505 430 | |
| 5 428 465 506 507 431 | |
| 5 8 490 508 509 13 | |
| 5 9 491 510 511 14 | |
| 5 466 492 490 508 467 | |
| 5 466 492 491 510 468 | |
| 5 13 509 437 436 15 | |
| 5 14 511 438 436 15 | |
| 5 434 467 508 509 437 | |
| 5 435 468 510 511 438 | |
| 5 28 501 512 513 33 | |
| 5 29 502 514 515 34 | |
| 5 469 503 501 512 470 | |
| 5 469 503 502 514 471 | |
| 5 33 513 444 443 35 | |
| 5 34 515 445 443 35 | |
| 5 441 470 512 513 444 | |
| 5 442 471 514 515 445 | |
| 5 42 168 160 195 47 | |
| 5 516 519 518 520 517 | |
| 5 161 200 517 516 173 | |
| 5 43 339 519 518 56 | |
| 5 48 353 520 518 56 | |
| 5 169 339 519 516 173 | |
| 5 196 353 520 517 200 | |
| 5 521 524 523 525 522 | |
| 5 162 201 522 521 174 | |
| 5 44 340 524 523 57 | |
| 5 49 354 525 523 57 | |
| 5 170 340 524 521 174 | |
| 5 197 354 525 522 201 | |
| 5 62 183 175 222 67 | |
| 5 526 529 528 530 527 | |
| 5 176 227 527 526 188 | |
| 5 63 346 529 528 76 | |
| 5 68 364 530 528 76 | |
| 5 184 346 529 526 188 | |
| 5 223 364 530 527 227 | |
| 5 50 210 202 249 53 | |
| 5 531 534 533 535 532 | |
| 5 203 254 532 531 215 | |
| 5 51 357 534 533 58 | |
| 5 54 372 535 533 58 | |
| 5 211 357 534 531 215 | |
| 5 250 372 535 532 254 | |
| 5 536 539 538 540 537 | |
| 5 177 228 537 536 189 | |
| 5 64 347 539 538 77 | |
| 5 69 365 540 538 77 | |
| 5 185 347 539 536 189 | |
| 5 224 365 540 537 228 | |
| 5 541 544 543 545 542 | |
| 5 204 255 542 541 216 | |
| 5 52 358 544 543 59 | |
| 5 55 373 545 543 59 | |
| 5 212 358 544 541 216 | |
| 5 251 373 545 542 255 | |
| 5 70 237 229 261 73 | |
| 5 546 549 548 550 547 | |
| 5 230 266 547 546 242 | |
| 5 71 368 549 548 78 | |
| 5 74 376 550 548 78 | |
| 5 238 368 549 546 242 | |
| 5 262 376 550 547 266 | |
| 5 551 554 553 555 552 | |
| 5 231 267 552 551 243 | |
| 5 72 369 554 553 79 | |
| 5 75 377 555 553 79 | |
| 5 239 369 554 551 243 | |
| 5 263 377 555 552 267 | |
| 5 16 556 558 557 17 | |
| 5 472 486 517 516 475 | |
| 5 2 476 559 556 16 | |
| 5 5 487 560 557 17 | |
| 5 518 558 556 559 519 | |
| 5 518 558 557 560 520 | |
| 5 475 516 519 559 476 | |
| 5 486 517 520 560 487 | |
| 5 36 561 563 562 37 | |
| 5 479 497 522 521 482 | |
| 5 22 483 564 561 36 | |
| 5 25 498 565 562 37 | |
| 5 523 563 561 564 524 | |
| 5 523 563 562 565 525 | |
| 5 482 521 524 564 483 | |
| 5 497 522 525 565 498 | |
| 5 18 566 568 567 19 | |
| 5 473 488 527 526 477 | |
| 5 3 478 569 566 18 | |
| 5 6 489 570 567 19 | |
| 5 528 568 566 569 529 | |
| 5 528 568 567 570 530 | |
| 5 477 526 529 569 478 | |
| 5 488 527 530 570 489 | |
| 5 490 508 532 531 493 | |
| 5 10 494 571 556 16 | |
| 5 13 509 572 557 17 | |
| 5 533 558 556 571 534 | |
| 5 533 558 557 572 535 | |
| 5 493 531 534 571 494 | |
| 5 508 532 535 572 509 | |
| 5 38 573 575 574 39 | |
| 5 480 499 537 536 484 | |
| 5 23 485 576 573 38 | |
| 5 26 500 577 574 39 | |
| 5 538 575 573 576 539 | |
| 5 538 575 574 577 540 | |
| 5 484 536 539 576 485 | |
| 5 499 537 540 577 500 | |
| 5 501 512 542 541 504 | |
| 5 30 505 578 561 36 | |
| 5 33 513 579 562 37 | |
| 5 543 563 561 578 544 | |
| 5 543 563 562 579 545 | |
| 5 504 541 544 578 505 | |
| 5 512 542 545 579 513 | |
| 5 491 510 547 546 495 | |
| 5 11 496 580 566 18 | |
| 5 14 511 581 567 19 | |
| 5 548 568 566 580 549 | |
| 5 548 568 567 581 550 | |
| 5 495 546 549 580 496 | |
| 5 510 547 550 581 511 | |
| 5 502 514 552 551 506 | |
| 5 31 507 582 573 38 | |
| 5 34 515 583 574 39 | |
| 5 553 575 573 582 554 | |
| 5 553 575 574 583 555 | |
| 5 506 551 554 582 507 | |
| 5 514 552 555 583 515 | |
| 5 136 448 474 454 138 | |
| 5 171 449 475 516 173 | |
| 5 198 455 486 517 200 | |
| 5 137 451 481 460 139 | |
| 5 172 452 482 521 174 | |
| 5 199 461 497 522 201 | |
| 5 186 450 477 526 188 | |
| 5 225 456 488 527 227 | |
| 5 156 457 492 466 158 | |
| 5 213 458 493 531 215 | |
| 5 252 467 508 532 254 | |
| 5 187 453 484 536 189 | |
| 5 226 462 499 537 228 | |
| 5 157 463 503 469 159 | |
| 5 214 464 504 541 216 | |
| 5 253 470 512 542 255 | |
| 5 240 459 495 546 242 | |
| 5 264 468 510 547 266 | |
| 5 241 465 506 551 243 | |
| 5 265 471 514 552 267 | |
| 5 4 385 380 412 12 | |
| 5 556 571 585 584 559 | |
| 5 381 415 585 584 388 | |
| 5 386 476 559 584 388 | |
| 5 413 494 571 585 415 | |
| 5 24 395 390 429 32 | |
| 5 561 578 587 586 564 | |
| 5 391 432 587 586 398 | |
| 5 396 483 564 586 398 | |
| 5 430 505 578 587 432 | |
| 5 566 580 589 588 569 | |
| 5 382 416 589 588 389 | |
| 5 387 478 569 588 389 | |
| 5 414 496 580 589 416 | |
| 5 7 405 400 436 15 | |
| 5 557 572 591 590 560 | |
| 5 401 439 591 590 408 | |
| 5 406 487 560 590 408 | |
| 5 437 509 572 591 439 | |
| 5 573 582 593 592 576 | |
| 5 392 433 593 592 399 | |
| 5 397 485 576 592 399 | |
| 5 431 507 582 593 433 | |
| 5 27 422 417 443 35 | |
| 5 562 579 595 594 565 | |
| 5 418 446 595 594 425 | |
| 5 423 498 565 594 425 | |
| 5 444 513 579 595 446 | |
| 5 567 581 597 596 570 | |
| 5 402 440 597 596 409 | |
| 5 407 489 570 596 409 | |
| 5 438 511 581 597 440 | |
| 5 574 583 599 598 577 | |
| 5 419 447 599 598 426 | |
| 5 424 500 577 598 426 | |
| 5 445 515 583 599 447 | |
| 5 56 518 558 533 58 | |
| 5 336 359 585 584 341 | |
| 5 339 519 559 584 341 | |
| 5 357 534 571 585 359 | |
| 5 57 523 563 543 59 | |
| 5 337 360 587 586 342 | |
| 5 340 524 564 586 342 | |
| 5 358 544 578 587 360 | |
| 5 76 528 568 548 78 | |
| 5 343 370 589 588 348 | |
| 5 346 529 569 588 348 | |
| 5 368 549 580 589 370 | |
| 5 350 374 591 590 355 | |
| 5 353 520 560 590 355 | |
| 5 372 535 572 591 374 | |
| 5 77 538 575 553 79 | |
| 5 344 371 593 592 349 | |
| 5 347 539 576 592 349 | |
| 5 369 554 582 593 371 | |
| 5 351 375 595 594 356 | |
| 5 354 525 565 594 356 | |
| 5 373 545 579 595 375 | |
| 5 361 378 597 596 366 | |
| 5 364 530 570 596 366 | |
| 5 376 550 581 597 378 | |
| 5 362 379 599 598 367 | |
| 5 365 540 577 598 367 | |
| 5 377 555 583 599 379 | |
| 5 84 271 338 298 92 | |
| 5 272 341 584 388 275 | |
| 5 299 359 585 415 302 | |
| 5 273 342 586 398 277 | |
| 5 300 360 587 432 304 | |
| 5 87 278 345 312 95 | |
| 5 279 348 588 389 282 | |
| 5 313 370 589 416 316 | |
| 5 104 288 352 322 112 | |
| 5 289 355 590 408 292 | |
| 5 323 374 591 439 326 | |
| 5 280 349 592 399 284 | |
| 5 314 371 593 433 318 | |
| 5 290 356 594 425 294 | |
| 5 324 375 595 446 328 | |
| 5 107 305 363 329 115 | |
| 5 306 366 596 409 309 | |
| 5 330 378 597 440 333 | |
| 5 307 367 598 426 311 | |
| 5 331 379 599 447 335 |
A 120-cell from Paul Bourke's Hyperspace User Manual.
Visualized with hypersolid.js by Miłosz Kośmider.
| /* | |
| * Hypersolid, Four-dimensional solid viewer | |
| * | |
| * Copyright (c) 2014 Milosz Kosmider <milosz@milosz.ca> | |
| * | |
| * Permission is hereby granted, free of charge, to any person obtaining a copy | |
| * of this software and associated documentation files (the "Software"), to deal | |
| * in the Software without restriction, including without limitation the rights | |
| * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | |
| * copies of the Software, and to permit persons to whom the Software is | |
| * furnished to do so, subject to the following conditions: | |
| * | |
| * The above copyright notice and this permission notice shall be included in | |
| * all copies or substantial portions of the Software. | |
| * | |
| * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | |
| * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | |
| * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | |
| * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | |
| * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | |
| * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | |
| * THE SOFTWARE. | |
| * | |
| */ | |
| (function(Hypersolid) { | |
| /* Begin constants. */ | |
| DEFAULT_VIEWPORT_WIDTH = 480; // Width of canvas in pixels | |
| DEFAULT_VIEWPORT_HEIGHT = 480; // Height of canvas in pixels | |
| DEFAULT_VIEWPORT_SCALE = 2; // Maximum distance from origin (in math units) that will be displayed on the canvas | |
| DEFAULT_VIEWPORT_FONT = 'italic 10px sans-serif'; | |
| DEFAULT_VIEWPORT_FONT_COLOR = '#000'; | |
| DEFAULT_VIEWPORT_LINE_WIDTH = 4; | |
| DEFAULT_VIEWPORT_LINE_JOIN = 'round'; | |
| DEFAULT_CHECKBOX_VALUES = { | |
| perspective: { checked: true }, | |
| indices: { checked: false }, | |
| edges: { checked: true } | |
| }; | |
| /* End constants. */ | |
| /* Begin classes. */ | |
| Hypersolid.Shape = function() { | |
| return new Shape(Array.prototype.slice.call(arguments, 0)); | |
| }; | |
| function Shape(argv) { | |
| var self = this, | |
| vertices = argv[0], | |
| edges = argv[1]; | |
| // Rotations will always be relative to the original shape to avoid rounding errors. | |
| // This is a structure for caching the rotated vertices. | |
| var rotatedVertices = new Array(vertices.length); | |
| copyVertices(); | |
| // This is where we store the current rotations about each axis. | |
| var rotations = { xy: 0, xz: 0, xw: 0, yz: 0, yw: 0, zw: 0 }; | |
| var rotationOrder = { | |
| yz: 1, | |
| xw: 1, | |
| yw: 1, | |
| zw: 1, | |
| xy: 1, | |
| xz: 1, | |
| }; | |
| // Multiplication by vector rotation matrices of dimension 4 | |
| var rotateVertex = { | |
| xy: function(v, s, c) { | |
| tmp = c * v.x + s * v.y; | |
| v.y = -s * v.x + c * v.y; | |
| v.x = tmp; | |
| }, | |
| xz: function(v, s, c) { | |
| tmp = c * v.x + s * v.z; | |
| v.z = -s * v.x + c * v.z; | |
| v.x = tmp; | |
| }, | |
| xw: function(v, s, c) { | |
| tmp = c * v.x + s * v.w; | |
| v.w = -s * v.x + c * v.w; | |
| v.x = tmp; | |
| }, | |
| yz: function(v, s, c) { | |
| tmp = c * v.y + s * v.z; | |
| v.z = -s * v.y + c * v.z; | |
| v.y = tmp; | |
| }, | |
| yw: function(v, s, c) { | |
| tmp = c * v.y - s * v.w; | |
| v.w = s * v.y + c * v.w; | |
| v.y = tmp; | |
| }, | |
| zw: function(v, s, c) { | |
| tmp = c * v.z - s * v.w; | |
| v.w = s * v.z + c * v.w; | |
| v.z = tmp; | |
| } | |
| }; | |
| var eventCallbacks = {}; | |
| self.getOriginalVertices = function() { | |
| return vertices; | |
| }; | |
| self.getVertices = function() { | |
| return rotatedVertices; | |
| }; | |
| self.getEdges = function() { | |
| return edges; | |
| }; | |
| self.getRotations = function() { | |
| return rotations; | |
| }; | |
| // This will copy the original shape and put a rotated version into rotatedVertices | |
| self.rotate = function(axis, theta) { | |
| addToRotation(axis, theta); | |
| applyRotations(); | |
| triggerEventCallbacks('rotate'); | |
| }; | |
| self.on = function(eventName, callback) { | |
| if (eventCallbacks[eventName] === undefined) { | |
| eventCallbacks[eventName] = []; | |
| } | |
| eventCallbacks[eventName].push(callback); | |
| }; | |
| function triggerEventCallbacks(eventName) { | |
| if (eventCallbacks[eventName] !== undefined) { | |
| for (index in eventCallbacks[eventName]) { | |
| eventCallbacks[eventName][index].call(self); | |
| } | |
| } | |
| } | |
| function addToRotation(axis, theta) { | |
| rotations[axis] = (rotations[axis] + theta) % (2 * Math.PI); | |
| } | |
| function applyRotations() { | |
| copyVertices(); | |
| for (var axis in rotationOrder) { | |
| // sin and cos precomputed for efficiency | |
| var s = Math.sin(rotations[axis]); | |
| var c = Math.cos(rotations[axis]); | |
| for (var i in vertices) | |
| { | |
| rotateVertex[axis](rotatedVertices[i], s, c); | |
| } | |
| } | |
| } | |
| function copyVertices() { | |
| for (var i in vertices) { | |
| var vertex = vertices[i]; | |
| rotatedVertices[i] = { | |
| x: vertex.x, | |
| y: vertex.y, | |
| z: vertex.z, | |
| w: vertex.w | |
| }; | |
| } | |
| } | |
| } | |
| Hypersolid.Viewport = function() { | |
| return new Viewport(Array.prototype.slice.call(arguments, 0)); | |
| }; | |
| function Viewport(argv) { | |
| var self = this, | |
| shape = argv[0], | |
| canvas = argv[1], | |
| options = argv[2]; | |
| options = options || {}; | |
| var scale = options.scale || DEFAULT_VIEWPORT_SCALE; | |
| canvas.width = options.width || DEFAULT_VIEWPORT_WIDTH; | |
| canvas.height = options.height || DEFAULT_VIEWPORT_HEIGHT; | |
| var bound = Math.min(canvas.width, canvas.height) / 2; | |
| var context = canvas.getContext('2d'); | |
| context.font = options.font || DEFAULT_VIEWPORT_FONT; | |
| context.textBaseline = 'top'; | |
| context.fillStyle = options.fontColor || DEFAULT_VIEWPORT_FONT_COLOR; | |
| context.lineWidth = options.lineWidth || DEFAULT_VIEWPORT_LINE_WIDTH; | |
| context.lineJoin = options.lineJoin || DEFAULT_VIEWPORT_LINE_JOIN; | |
| var checkboxes = options.checkboxes || DEFAULT_CHECKBOX_VALUES; | |
| var clicked = false; | |
| var startCoords; | |
| self.draw = function() { | |
| var vertices = shape.getVertices(); | |
| var edges = shape.getEdges(); | |
| context.clearRect(0, 0, canvas.width, canvas.height); | |
| var adjusted = []; | |
| for (var i in vertices) { | |
| if (checkboxes.perspective.checked) { | |
| var zratio = vertices[i].z / scale; | |
| adjusted[i] = { | |
| x: Math.floor(canvas.width / 2 + (0.90 + zratio * 0.30) * bound * (vertices[i].x / scale)) + 0.5, | |
| y: Math.floor(canvas.height / 2 - (0.90 + zratio * 0.30) * bound * (vertices[i].y / scale)) + 0.5, | |
| z: 0.50 + 0.40 * zratio, | |
| w: 121 + Math.floor(134 * vertices[i].w / scale) | |
| }; | |
| } | |
| else { | |
| adjusted[i] = { | |
| x: Math.floor(canvas.width / 2 + bound * (vertices[i].x / scale)) + 0.5, | |
| y: Math.floor(canvas.height / 2 - bound * (vertices[i].y / scale)) + 0.5, | |
| z: 0.50 + 0.40 * vertices[i].z / scale, | |
| w: 121 + Math.floor(134 * vertices[i].w / scale) | |
| }; | |
| } | |
| } | |
| if (checkboxes.edges.checked) { | |
| for (var i in edges) { | |
| var x = [adjusted[edges[i][0]].x, adjusted[edges[i][1]].x]; | |
| var y = [adjusted[edges[i][0]].y, adjusted[edges[i][1]].y]; | |
| var z = [adjusted[edges[i][0]].z, adjusted[edges[i][1]].z]; | |
| var w = [adjusted[edges[i][0]].w, adjusted[edges[i][1]].w]; | |
| context.beginPath(); | |
| context.moveTo(x[0], y[0]); | |
| context.lineTo(x[1], y[1]); | |
| context.closePath(); | |
| var gradient = context.createLinearGradient(x[0], y[0], x[1], y[1]); // Distance fade effect | |
| gradient.addColorStop(0, 'rgba(' + w[0] + ',94,' + (125-Math.round(w[0]/2)) +', ' + z[0] + ')'); | |
| gradient.addColorStop(1, 'rgba(' + w[1] + ',94,' + (125-Math.round(w[0]/2)) +', ' + z[1] + ')'); | |
| context.strokeStyle = gradient; | |
| context.stroke(); | |
| } | |
| } | |
| if (checkboxes.indices.checked) { | |
| for (var i in adjusted) { | |
| context.fillText(i.toString(), adjusted[i].x, adjusted[i].y); | |
| } | |
| } | |
| }; | |
| canvas.onmousedown = function(e) { | |
| startCoords = mouseCoords(e, canvas); | |
| startCoords.x -= Math.floor(canvas.width / 2); | |
| startCoords.y = Math.floor(canvas.height / 2) - startCoords.y; | |
| clicked = true; | |
| }; | |
| document.onmousemove = function(e) { | |
| if (!clicked) { | |
| return true; | |
| } | |
| var currCoords = mouseCoords(e, canvas); | |
| currCoords.x -= Math.floor(canvas.width / 2); | |
| currCoords.y = Math.floor(canvas.height / 2) - currCoords.y; | |
| var motion = { 'x': currCoords.x - startCoords.x, 'y': currCoords.y - startCoords.y }; | |
| if (e.shiftKey && (e.altKey || e.ctrlKey)) { | |
| shape.rotate('xy', Math.PI * motion.x / bound); // Full canvas drag ~ 2*PI | |
| shape.rotate('zw', Math.PI * motion.y / bound); | |
| } | |
| else if (e.shiftKey) { | |
| // Interpretation of this rotation varies between left- and right- brained users | |
| shape.rotate('xw', Math.PI * motion.x / bound); | |
| shape.rotate('yw', Math.PI * motion.y / bound); | |
| } | |
| else { | |
| shape.rotate('xz', Math.PI * motion.x / bound); | |
| shape.rotate('yz', Math.PI * motion.y / bound); | |
| } | |
| startCoords = currCoords; | |
| self.draw(); | |
| }; | |
| document.onmouseup = function() { | |
| clicked = false; | |
| }; | |
| checkboxes.onchange = function() { | |
| self.draw(); | |
| }; | |
| } | |
| /* End classes. */ | |
| /* Begin methods. */ | |
| // parse ascii files from http://paulbourke.net/geometry/hyperspace/ | |
| Hypersolid.parseVEF = function(text) { | |
| var lines = text.split("\n"); | |
| var nV = parseInt(lines[0]); // number of vertices | |
| var nE = parseInt(lines[1+nV]); // number of edges | |
| var nF = parseInt(lines[2+nV+nE]); // number of faces | |
| var vertices = lines.slice(1,1+nV).map(function(line) { | |
| var d = line.split("\t").map(parseFloat); | |
| return { | |
| x: d[0], | |
| y: d[1], | |
| z: d[2], | |
| w: d[3], | |
| } | |
| }); | |
| var edges = lines.slice(2+nV,2+nV+nE).map(function(line) { | |
| var d = line.replace("\s","").split("\t").map(function(vertex) { return parseInt(vertex); }); | |
| return [d[0], d[1]];; | |
| }); | |
| var faces = lines.slice(3+nV+nE,3+nV+nE+nF).map(function(line) { | |
| var d = line.replace("\s","").split("\t").map(function(edge) { return parseInt(edge); }); | |
| return d; | |
| }); | |
| return [vertices,edges,faces] | |
| }; | |
| /* End methods. */ | |
| /* Begin helper routines. */ | |
| function mouseCoords(e, element) { // http://answers.oreilly.com/topic/1929-how-to-use-the-canvas-and-draw-elements-in-html5/ | |
| var x; | |
| var y; | |
| if (e.pageX || e.pageY) { | |
| x = e.pageX; | |
| y = e.pageY; | |
| } | |
| else { | |
| x = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft; | |
| y = e.clientY + document.body.scrollTop + document.documentElement.scrollTop; | |
| } | |
| x -= element.offsetLeft; | |
| y -= element.offsetTop; | |
| return { 'x': x, 'y': y }; | |
| } | |
| /* End helper routines. */ | |
| })(window.Hypersolid = window.Hypersolid || {}); |
| <!DOCTYPE html> | |
| <html> | |
| <head> | |
| <meta charset="UTF-8" /> | |
| <title>Dodecaplex</title> | |
| <style> | |
| html, body { | |
| background: #fff; | |
| color: #555; | |
| width: 960px; | |
| margin: 0 auto; | |
| font-family: sans-serif; | |
| } | |
| canvas { | |
| border: none; | |
| margin: 0 280px; | |
| } | |
| #hypercube-options { | |
| margin: 10px 0 0 85px; | |
| } | |
| label { | |
| margin: 0 20px; | |
| font-size: 15px; | |
| cursor: pointer; | |
| } | |
| </style> | |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js"></script> | |
| <script type="text/javascript" src="hypersolid.js"></script> | |
| </head> | |
| <body> | |
| <canvas id="octaplex-canvas">Unfortunately, your browser does not support coolness.</canvas> | |
| <form id="hypercube-options"> | |
| <label><input type="checkbox" name="rotate_xy" />Rotate xy</label> | |
| <label><input type="checkbox" name="rotate_yz" />Rotate yz</label> | |
| <label><input type="checkbox" name="rotate_xz" />Rotate xz</label> | |
| <label><input type="checkbox" name="rotate_xw" />Rotate xw</label> | |
| <label><input type="checkbox" name="rotate_yw" />Rotate yw</label> | |
| <label><input type="checkbox" name="rotate_zw" />Rotate zw</label> | |
| </form> | |
| <script type="text/javascript"> | |
| d3.text("120cell.ascii", function(err, text) { | |
| var data = Hypersolid.parseVEF(text); | |
| function NewShape() {}; | |
| Hypersolid.NewShape = function() { | |
| return new NewShape(); | |
| }; | |
| NewShape.prototype = Hypersolid.Shape(data[0],data[1],data[2]); | |
| var octaplex = Hypersolid.NewShape(); | |
| var octaplexView = Hypersolid.Viewport(octaplex, document.getElementById('octaplex-canvas'), { | |
| width: 440, | |
| height: 440, | |
| scale: 2, | |
| lineWidth: 2.5, | |
| lineJoin: 'round' | |
| }); | |
| octaplexView.draw(); | |
| // animation | |
| options = document.getElementById('hypercube-options'); | |
| function render() { | |
| if (options) { | |
| checkboxes = options.getElementsByTagName('input'); | |
| } | |
| if (options.rotate_xz.checked) { | |
| rotate("xz", 0.008); | |
| } | |
| if (options.rotate_yz.checked) { | |
| rotate("yz", 0.008); | |
| } | |
| if (options.rotate_xw.checked) { | |
| rotate("xw", 0.008); | |
| } | |
| if (options.rotate_yw.checked) { | |
| rotate("yw", 0.008); | |
| } | |
| if (options.rotate_xy.checked) { | |
| rotate("xy", 0.008); | |
| } | |
| if (options.rotate_zw.checked) { | |
| rotate("zw", 0.008); | |
| } | |
| }; | |
| function rotate(plane, x) { | |
| octaplex.rotate(plane, x); | |
| octaplexView.draw(); | |
| }; | |
| window.requestAnimFrame = window.requestAnimationFrame || | |
| window.webkitRequestAnimationFrame || | |
| window.mozRequestAnimationFrame || | |
| window.oRequestAnimationFrame || | |
| window.msRequestAnimationFrame || | |
| function( callback ){ | |
| window.setTimeout(callback, 1000 / 60); | |
| }; | |
| (function animloop(){ | |
| requestAnimFrame(animloop); | |
| render(); | |
| })(); | |
| }); | |
| </script> |