Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: RotationMat_ SDFileSystem math mbed trigonometric_fanc
main.cpp
- Committer:
- shuhei2306
- Date:
- 2016-02-08
- Revision:
- 2:b09caaa3de96
- Parent:
- 1:64ca0218709d
File content as of revision 2:b09caaa3de96:
#include "mbed.h"
#include "SDFileSystem.h"
#include "Adafruit_DotStar.h"
#include "Vector3D.h"
#include "RotationMat.h"
//#include "trigonometric_fanc.h"
#include "mymath.h"
const float v_leds[6][9][22][3]={{{{0.585398, 0.636783, 0.501813},{0.519512, 0.691586, 0.501813},{0.448526, 0.7396, 0.501813},{0.373138, 0.780354, 0.501813},{0.294086, 0.813448, 0.501813},{0.212148, 0.838557, 0.501813},{0.128128, 0.855434, 0.501813},{0.0428495, 0.863914, 0.501813},{-0.0428495, 0.863914, 0.501813},{-0.128128, 0.855434, 0.501813},{-0.212148, 0.838557, 0.501813},{-0.294086, 0.813448, 0.501813},{-0.373138, 0.780354, 0.501813},{-0.448526, 0.7396, 0.501813},{-0.519512, 0.691586, 0.501813},{-0.585398, 0.636783, 0.501813},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}},
{{-0.684874, 0.619184, 0.384134},{-0.624509, 0.680021, 0.384134},{-0.558764, 0.735, 0.384134},{-0.488203, 0.783644, 0.384134},{-0.413436, 0.825537, 0.384134},{-0.335106, 0.860317, 0.384134},{-0.25389, 0.887683, 0.384134},{-0.170485, 0.907401, 0.384134},{-0.0856113, 0.9193, 0.384134},{0, 0.923277, 0.384134},{0.0856113, 0.9193, 0.384134},{0.170485, 0.907401, 0.384134},{0.253889, 0.887683, 0.384134},{0.335106, 0.860317, 0.384134},{0.413436, 0.825537, 0.384134},{0.488203, 0.783645, 0.384134},{0.558763, 0.735, 0.384134},{0.624509, 0.680021, 0.384134},{0.684874, 0.619184, 0.384134},{0,0,0},{0,0,0},{0,0,0}},
{{0.721281, 0.64206, 0.25983},{0.661511, 0.703485, 0.25983},{0.59653, 0.759368, 0.25983},{0.52685, 0.80927, 0.25983},{0.453019, 0.852796, 0.25983},{0.375621, 0.889605, 0.25983},{0.295263, 0.919406, 0.25983},{0.212579, 0.941965, 0.25983},{0.128221, 0.957104, 0.25983},{0.0428528, 0.964703, 0.25983},{-0.0428529, 0.964703, 0.25983},{-0.128221, 0.957104, 0.25983},{-0.212579, 0.941965, 0.25983},{-0.295263, 0.919406, 0.25983},{-0.375621, 0.889605, 0.25983},{-0.453019, 0.852796, 0.25983},{-0.52685, 0.80927, 0.25983},{-0.59653, 0.759368, 0.25983},{-0.661511, 0.703485, 0.25983},{-0.721281, 0.64206, 0.25983},{0,0,0},{0,0,0}},
{{-0.781503, 0.609984, 0.131045},{-0.725896, 0.675205, 0.131045},{-0.664864, 0.735379, 0.131045},{-0.598863, 0.790057, 0.131045},{-0.528386, 0.83883, 0.131045},{-0.45396, 0.881333, 0.131045},{-0.37614, 0.917249, 0.131045},{-0.295509, 0.946309, 0.131045},{-0.21267, 0.968297, 0.131045},{-0.128241, 0.983047, 0.131045},{-0.0428538, 0.99045, 0.131045},{0.0428539, 0.99045, 0.131045},{0.128241, 0.983047, 0.131045},{0.21267, 0.968297, 0.131045},{0.29551, 0.946309, 0.131045},{0.37614, 0.917249, 0.131045},{0.45396, 0.881333, 0.131045},{0.528386, 0.83883, 0.131045},{0.598863, 0.790057, 0.131045},{0.664864, 0.735379, 0.131045},{0.725896, 0.675205, 0.131045},{0.781503, 0.609984, 0.131045}},
{{0.783455, 0.621449, 0},{0.727363, 0.686253, 0},{0.665929, 0.746015, 0},{0.599602, 0.800298, 0},{0.528871, 0.848702, 0},{0.454256, 0.890871, 0},{0.376303, 0.926497, 0},{0.295586, 0.955316, 0},{0.212697, 0.977118, 0},{0.128247, 0.991742, 0},{0.0428538, 0.999081, 0},{-0.0428538, 0.999081, 0},{-0.128247, 0.991742, 0},{-0.212697, 0.977118, 0},{-0.295586, 0.955316, 0},{-0.376303, 0.926497, 0},{-0.454256, 0.890871, 0},{-0.528872, 0.848702, 0},{-0.599602, 0.800298, 0},{-0.665929, 0.746015, 0},{-0.727363, 0.686253, 0},{-0.783455, 0.621449, 0}},
{{-0.781503, 0.609984, -0.131045},{-0.725896, 0.675205, -0.131045},{-0.664864, 0.735379, -0.131045},{-0.598863, 0.790057, -0.131045},{-0.528386, 0.83883, -0.131045},{-0.45396, 0.881333, -0.131045},{-0.37614, 0.917249, -0.131045},{-0.295509, 0.946309, -0.131045},{-0.21267, 0.968297, -0.131045},{-0.128241, 0.983047, -0.131045},{-0.0428538, 0.99045, -0.131045},{0.0428539, 0.99045, -0.131045},{0.128241, 0.983047, -0.131045},{0.21267, 0.968297, -0.131045},{0.29551, 0.946309, -0.131045},{0.37614, 0.917249, -0.131045},{0.45396, 0.881333, -0.131045},{0.528386, 0.83883, -0.131045},{0.598863, 0.790057, -0.131045},{0.664864, 0.735379, -0.131045},{0.725896, 0.675205, -0.131045},{0.781503, 0.609984, -0.131045}},
{{0.721281, 0.64206, -0.25983},{0.661511, 0.703485, -0.25983},{0.59653, 0.759368, -0.25983},{0.52685, 0.80927, -0.25983},{0.453019, 0.852796, -0.25983},{0.375621, 0.889605, -0.25983},{0.295263, 0.919406, -0.25983},{0.212579, 0.941965, -0.25983},{0.128221, 0.957104, -0.25983},{0.0428528, 0.964703, -0.25983},{-0.0428529, 0.964703, -0.25983},{-0.128221, 0.957104, -0.25983},{-0.212579, 0.941965, -0.25983},{-0.295263, 0.919406, -0.25983},{-0.375621, 0.889605, -0.25983},{-0.453019, 0.852796, -0.25983},{-0.52685, 0.80927, -0.25983},{-0.59653, 0.759368, -0.25983},{-0.661511, 0.703485, -0.25983},{-0.721281, 0.64206, -0.25983},{0,0,0},{0,0,0}},
{{-0.684874, 0.619184, -0.384134},{-0.624509, 0.680021, -0.384134},{-0.558764, 0.735, -0.384134},{-0.488203, 0.783644, -0.384134},{-0.413436, 0.825537, -0.384134},{-0.335106, 0.860317, -0.384134},{-0.25389, 0.887683, -0.384134},{-0.170485, 0.907401, -0.384134},{-0.0856113, 0.9193, -0.384134},{0, 0.923277, -0.384134},{0.0856113, 0.9193, -0.384134},{0.170485, 0.907401, -0.384134},{0.253889, 0.887683, -0.384134},{0.335106, 0.860317, -0.384134},{0.413436, 0.825537, -0.384134},{0.488203, 0.783645, -0.384134},{0.558763, 0.735, -0.384134},{0.624509, 0.680021, -0.384134},{0.684874, 0.619184, -0.384134},{0,0,0},{0,0,0},{0,0,0}},
{{0.585398, 0.636783, -0.501813},{0.519512, 0.691586, -0.501813},{0.448526, 0.7396, -0.501813},{0.373138, 0.780354, -0.501813},{0.294086, 0.813448, -0.501813},{0.212148, 0.838557, -0.501813},{0.128128, 0.855434, -0.501813},{0.0428495, 0.863914, -0.501813},{-0.0428495, 0.863914, -0.501813},{-0.128128, 0.855434, -0.501813},{-0.212148, 0.838557, -0.501813},{-0.294086, 0.813448, -0.501813},{-0.373138, 0.780354, -0.501813},{-0.448526, 0.7396, -0.501813},{-0.519512, 0.691586, -0.501813},{-0.585398, 0.636783, -0.501813},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}}
},{{{0.501813, 0.585398, 0.636783},{0.501813, 0.519512, 0.691586},{0.501813, 0.448526, 0.7396},{0.501813, 0.373138, 0.780354},{0.501813, 0.294086, 0.813448},{0.501813, 0.212148, 0.838557},{0.501813, 0.128128, 0.855434},{0.501813, 0.0428495, 0.863914},{0.501813, -0.0428495, 0.863914},{0.501813, -0.128128, 0.855434},{0.501813, -0.212148, 0.838557},{0.501813, -0.294086, 0.813448},{0.501813, -0.373138, 0.780354},{0.501813, -0.448526, 0.7396},{0.501813, -0.519512, 0.691586},{0.501813, -0.585398, 0.636783},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}},
{{0.384134, -0.684874, 0.619184},{0.384134, -0.624509, 0.680021},{0.384134, -0.558763, 0.735},{0.384134, -0.488203, 0.783645},{0.384134, -0.413436, 0.825537},{0.384134, -0.335106, 0.860317},{0.384134, -0.253889, 0.887683},{0.384134, -0.170485, 0.907401},{0.384134, -0.0856113, 0.919299},{0.384134, 1.6791e-08, 0.923277},{0.384134, 0.0856113, 0.919299},{0.384134, 0.170485, 0.907401},{0.384134, 0.253889, 0.887683},{0.384134, 0.335106, 0.860317},{0.384134, 0.413436, 0.825537},{0.384134, 0.488203, 0.783645},{0.384134, 0.558763, 0.735},{0.384134, 0.624509, 0.680021},{0.384134, 0.684874, 0.619184},{0,0,0},{0,0,0},{0,0,0}},
{{0.25983, 0.721281, 0.64206},{0.25983, 0.661511, 0.703485},{0.25983, 0.59653, 0.759368},{0.25983, 0.52685, 0.80927},{0.25983, 0.453019, 0.852796},{0.25983, 0.375621, 0.889605},{0.25983, 0.295263, 0.919406},{0.25983, 0.212579, 0.941965},{0.25983, 0.128221, 0.957104},{0.25983, 0.0428529, 0.964703},{0.25983, -0.0428529, 0.964703},{0.25983, -0.128221, 0.957104},{0.25983, -0.212579, 0.941965},{0.259831, -0.295263, 0.919406},{0.25983, -0.375621, 0.889605},{0.259831, -0.453019, 0.852796},{0.259831, -0.52685, 0.80927},{0.25983, -0.59653, 0.759368},{0.25983, -0.661511, 0.703485},{0.25983, -0.721281, 0.64206},{0,0,0},{0,0,0}},
{{0.131045, -0.781502, 0.609984},{0.131045, -0.725896, 0.675205},{0.131045, -0.664864, 0.735379},{0.131045, -0.598863, 0.790057},{0.131045, -0.528386, 0.83883},{0.131045, -0.45396, 0.881333},{0.131045, -0.37614, 0.917249},{0.131045, -0.295509, 0.946309},{0.131045, -0.21267, 0.968297},{0.131045, -0.128241, 0.983047},{0.131045, -0.0428538, 0.99045},{0.131045, 0.0428539, 0.99045},{0.131045, 0.128241, 0.983047},{0.131045, 0.21267, 0.968297},{0.131045, 0.29551, 0.946309},{0.131045, 0.37614, 0.917249},{0.131045, 0.45396, 0.881333},{0.131045, 0.528386, 0.83883},{0.131045, 0.598863, 0.790057},{0.131045, 0.664864, 0.735379},{0.131045, 0.725896, 0.675205},{0.131045, 0.781503, 0.609984}},
{{-7.08151e-09, 0.783455, 0.621449},{-1.797e-09, 0.727363, 0.686253},{3.5007e-09, 0.665929, 0.746015},{8.77269e-09, 0.599602, 0.800298},{1.39802e-08, 0.528871, 0.848702},{1.90851e-08, 0.454256, 0.890871},{2.40497e-08, 0.376303, 0.926497},{2.88377e-08, 0.295586, 0.955316},{3.34139e-08, 0.212697, 0.977118},{3.77446e-08, 0.128247, 0.991742},{4.1798e-08, 0.0428538, 0.999081},{4.55444e-08, -0.0428538, 0.999081},{4.89563e-08, -0.128247, 0.991742},{5.20085e-08, -0.212697, 0.977118},{5.46787e-08, -0.295586, 0.955316},{5.69472e-08, -0.376303, 0.926497},{5.87974e-08, -0.454256, 0.890871},{6.02157e-08, -0.528872, 0.848702},{6.11916e-08, -0.599602, 0.800298},{6.1718e-08, -0.665929, 0.746015},{6.17911e-08, -0.727363, 0.686253},{6.14103e-08, -0.783455, 0.621449}},
{{-0.131045, -0.781502, 0.609984},{-0.131045, -0.725896, 0.675205},{-0.131045, -0.664864, 0.735379},{-0.131045, -0.598863, 0.790057},{-0.131045, -0.528386, 0.83883},{-0.131045, -0.45396, 0.881333},{-0.131045, -0.37614, 0.917249},{-0.131045, -0.295509, 0.946309},{-0.131045, -0.21267, 0.968297},{-0.131045, -0.128241, 0.983047},{-0.131045, -0.0428538, 0.99045},{-0.131045, 0.0428539, 0.99045},{-0.131045, 0.128241, 0.983047},{-0.131045, 0.21267, 0.968297},{-0.131045, 0.29551, 0.946309},{-0.131045, 0.37614, 0.917249},{-0.131045, 0.45396, 0.881333},{-0.131045, 0.528386, 0.83883},{-0.131045, 0.598863, 0.790057},{-0.131045, 0.664864, 0.735379},{-0.131045, 0.725896, 0.675205},{-0.131045, 0.781503, 0.609984}},
{{-0.25983, 0.721281, 0.64206},{-0.25983, 0.661511, 0.703485},{-0.25983, 0.59653, 0.759368},{-0.25983, 0.52685, 0.80927},{-0.25983, 0.453019, 0.852796},{-0.25983, 0.375621, 0.889605},{-0.25983, 0.295263, 0.919406},{-0.25983, 0.212579, 0.941965},{-0.25983, 0.128221, 0.957104},{-0.25983, 0.0428528, 0.964703},{-0.25983, -0.0428529, 0.964703},{-0.25983, -0.128221, 0.957104},{-0.25983, -0.212579, 0.941965},{-0.25983, -0.295263, 0.919406},{-0.25983, -0.375621, 0.889605},{-0.25983, -0.453019, 0.852796},{-0.25983, -0.52685, 0.80927},{-0.25983, -0.59653, 0.759368},{-0.25983, -0.661511, 0.703485},{-0.25983, -0.721281, 0.64206},{0,0,0},{0,0,0}},
{{-0.384134, -0.684874, 0.619184},{-0.384134, -0.624509, 0.680021},{-0.384134, -0.558763, 0.735},{-0.384134, -0.488203, 0.783645},{-0.384134, -0.413436, 0.825537},{-0.384134, -0.335106, 0.860317},{-0.384134, -0.25389, 0.887683},{-0.384134, -0.170485, 0.907401},{-0.384134, -0.0856113, 0.9193},{-0.384134, -1.6791e-08, 0.923277},{-0.384134, 0.0856113, 0.9193},{-0.384134, 0.170485, 0.907401},{-0.384134, 0.253889, 0.887683},{-0.384134, 0.335106, 0.860317},{-0.384134, 0.413436, 0.825537},{-0.384134, 0.488203, 0.783645},{-0.384134, 0.558763, 0.735},{-0.384134, 0.624509, 0.680021},{-0.384134, 0.684874, 0.619184},{0,0,0},{0,0,0},{0,0,0}},
{{-0.501813, 0.585398, 0.636783},{-0.501813, 0.519512, 0.691586},{-0.501813, 0.448526, 0.7396},{-0.501813, 0.373138, 0.780354},{-0.501813, 0.294086, 0.813448},{-0.501813, 0.212148, 0.838557},{-0.501813, 0.128128, 0.855434},{-0.501813, 0.0428494, 0.863914},{-0.501813, -0.0428495, 0.863914},{-0.501813, -0.128128, 0.855434},{-0.501813, -0.212148, 0.838557},{-0.501813, -0.294087, 0.813448},{-0.501813, -0.373138, 0.780354},{-0.501813, -0.448526, 0.7396},{-0.501813, -0.519512, 0.691586},{-0.501813, -0.585398, 0.636784},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}}
},{{{-0.501813, 0.585398, -0.636783},{-0.501813, 0.519512, -0.691586},{-0.501813, 0.448526, -0.7396},{-0.501813, 0.373138, -0.780354},{-0.501813, 0.294086, -0.813448},{-0.501813, 0.212148, -0.838557},{-0.501813, 0.128128, -0.855434},{-0.501813, 0.0428494, -0.863914},{-0.501813, -0.0428495, -0.863914},{-0.501813, -0.128128, -0.855434},{-0.501813, -0.212148, -0.838557},{-0.501813, -0.294087, -0.813448},{-0.501813, -0.373138, -0.780354},{-0.501813, -0.448526, -0.7396},{-0.501813, -0.519512, -0.691586},{-0.501813, -0.585398, -0.636784},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}},
{{-0.384134, -0.684874, -0.619184},{-0.384134, -0.624509, -0.680021},{-0.384134, -0.558763, -0.735},{-0.384134, -0.488203, -0.783645},{-0.384134, -0.413436, -0.825537},{-0.384134, -0.335106, -0.860317},{-0.384134, -0.25389, -0.887683},{-0.384134, -0.170485, -0.907401},{-0.384134, -0.0856113, -0.9193},{-0.384134, -1.6791e-08, -0.923277},{-0.384134, 0.0856113, -0.9193},{-0.384134, 0.170485, -0.907401},{-0.384134, 0.253889, -0.887683},{-0.384134, 0.335106, -0.860317},{-0.384134, 0.413436, -0.825537},{-0.384134, 0.488203, -0.783645},{-0.384134, 0.558763, -0.735},{-0.384134, 0.624509, -0.680021},{-0.384134, 0.684874, -0.619184},{0,0,0},{0,0,0},{0,0,0}},
{{-0.25983, 0.721281, -0.64206},{-0.25983, 0.661511, -0.703485},{-0.25983, 0.59653, -0.759368},{-0.25983, 0.52685, -0.80927},{-0.25983, 0.453019, -0.852796},{-0.25983, 0.375621, -0.889605},{-0.25983, 0.295263, -0.919406},{-0.25983, 0.212579, -0.941965},{-0.25983, 0.128221, -0.957104},{-0.25983, 0.0428528, -0.964703},{-0.25983, -0.0428529, -0.964703},{-0.25983, -0.128221, -0.957104},{-0.25983, -0.212579, -0.941965},{-0.25983, -0.295263, -0.919406},{-0.25983, -0.375621, -0.889605},{-0.25983, -0.453019, -0.852796},{-0.25983, -0.52685, -0.80927},{-0.25983, -0.59653, -0.759368},{-0.25983, -0.661511, -0.703485},{-0.25983, -0.721281, -0.64206},{0,0,0},{0,0,0}},
{{-0.131045, -0.781502, -0.609984},{-0.131045, -0.725896, -0.675205},{-0.131045, -0.664864, -0.735379},{-0.131045, -0.598863, -0.790057},{-0.131045, -0.528386, -0.83883},{-0.131045, -0.45396, -0.881333},{-0.131045, -0.37614, -0.917249},{-0.131045, -0.295509, -0.946309},{-0.131045, -0.21267, -0.968297},{-0.131045, -0.128241, -0.983047},{-0.131045, -0.0428538, -0.99045},{-0.131045, 0.0428539, -0.99045},{-0.131045, 0.128241, -0.983047},{-0.131045, 0.21267, -0.968297},{-0.131045, 0.29551, -0.946309},{-0.131045, 0.37614, -0.917249},{-0.131045, 0.45396, -0.881333},{-0.131045, 0.528386, -0.83883},{-0.131045, 0.598863, -0.790057},{-0.131045, 0.664864, -0.735379},{-0.131045, 0.725896, -0.675205},{-0.131045, 0.781503, -0.609984}},
{{-7.08151e-09, 0.783455, -0.621449},{-1.797e-09, 0.727363, -0.686253},{3.5007e-09, 0.665929, -0.746015},{8.77269e-09, 0.599602, -0.800298},{1.39802e-08, 0.528871, -0.848702},{1.90851e-08, 0.454256, -0.890871},{2.40497e-08, 0.376303, -0.926497},{2.88377e-08, 0.295586, -0.955316},{3.34139e-08, 0.212697, -0.977118},{3.77446e-08, 0.128247, -0.991742},{4.1798e-08, 0.0428538, -0.999081},{4.55444e-08, -0.0428538, -0.999081},{4.89563e-08, -0.128247, -0.991742},{5.20085e-08, -0.212697, -0.977118},{5.46787e-08, -0.295586, -0.955316},{5.69472e-08, -0.376303, -0.926497},{5.87974e-08, -0.454256, -0.890871},{6.02157e-08, -0.528872, -0.848702},{6.11916e-08, -0.599602, -0.800298},{6.1718e-08, -0.665929, -0.746015},{6.17911e-08, -0.727363, -0.686253},{6.14103e-08, -0.783455, -0.621449}},
{{0.131045, -0.781502, -0.609984},{0.131045, -0.725896, -0.675205},{0.131045, -0.664864, -0.735379},{0.131045, -0.598863, -0.790057},{0.131045, -0.528386, -0.83883},{0.131045, -0.45396, -0.881333},{0.131045, -0.37614, -0.917249},{0.131045, -0.295509, -0.946309},{0.131045, -0.21267, -0.968297},{0.131045, -0.128241, -0.983047},{0.131045, -0.0428538, -0.99045},{0.131045, 0.0428539, -0.99045},{0.131045, 0.128241, -0.983047},{0.131045, 0.21267, -0.968297},{0.131045, 0.29551, -0.946309},{0.131045, 0.37614, -0.917249},{0.131045, 0.45396, -0.881333},{0.131045, 0.528386, -0.83883},{0.131045, 0.598863, -0.790057},{0.131045, 0.664864, -0.735379},{0.131045, 0.725896, -0.675205},{0.131045, 0.781503, -0.609984}},
{{0.25983, 0.721281, -0.64206},{0.25983, 0.661511, -0.703485},{0.25983, 0.59653, -0.759368},{0.25983, 0.52685, -0.80927},{0.25983, 0.453019, -0.852796},{0.25983, 0.375621, -0.889605},{0.25983, 0.295263, -0.919406},{0.25983, 0.212579, -0.941965},{0.25983, 0.128221, -0.957104},{0.25983, 0.0428529, -0.964703},{0.25983, -0.0428529, -0.964703},{0.25983, -0.128221, -0.957104},{0.25983, -0.212579, -0.941965},{0.259831, -0.295263, -0.919406},{0.25983, -0.375621, -0.889605},{0.259831, -0.453019, -0.852796},{0.259831, -0.52685, -0.80927},{0.25983, -0.59653, -0.759368},{0.25983, -0.661511, -0.703485},{0.25983, -0.721281, -0.64206},{0,0,0},{0,0,0}},
{{0.384134, -0.684874, -0.619184},{0.384134, -0.624509, -0.680021},{0.384134, -0.558763, -0.735},{0.384134, -0.488203, -0.783645},{0.384134, -0.413436, -0.825537},{0.384134, -0.335106, -0.860317},{0.384134, -0.253889, -0.887683},{0.384134, -0.170485, -0.907401},{0.384134, -0.0856113, -0.919299},{0.384134, 1.6791e-08, -0.923277},{0.384134, 0.0856113, -0.919299},{0.384134, 0.170485, -0.907401},{0.384134, 0.253889, -0.887683},{0.384134, 0.335106, -0.860317},{0.384134, 0.413436, -0.825537},{0.384134, 0.488203, -0.783645},{0.384134, 0.558763, -0.735},{0.384134, 0.624509, -0.680021},{0.384134, 0.684874, -0.619184},{0,0,0},{0,0,0},{0,0,0}},
{{0.501813, 0.585398, -0.636783},{0.501813, 0.519512, -0.691586},{0.501813, 0.448526, -0.7396},{0.501813, 0.373138, -0.780354},{0.501813, 0.294086, -0.813448},{0.501813, 0.212148, -0.838557},{0.501813, 0.128128, -0.855434},{0.501813, 0.0428495, -0.863914},{0.501813, -0.0428495, -0.863914},{0.501813, -0.128128, -0.855434},{0.501813, -0.212148, -0.838557},{0.501813, -0.294086, -0.813448},{0.501813, -0.373138, -0.780354},{0.501813, -0.448526, -0.7396},{0.501813, -0.519512, -0.691586},{0.501813, -0.585398, -0.636783},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}}
},{{{-0.636784, 0.501813, -0.585398},{-0.691586, 0.501813, -0.519512},{-0.7396, 0.501813, -0.448526},{-0.780354, 0.501813, -0.373138},{-0.813448, 0.501813, -0.294086},{-0.838557, 0.501813, -0.212148},{-0.855434, 0.501813, -0.128128},{-0.863914, 0.501813, -0.0428494},{-0.863914, 0.501813, 0.0428495},{-0.855434, 0.501813, 0.128128},{-0.838557, 0.501813, 0.212148},{-0.813448, 0.501813, 0.294087},{-0.780354, 0.501813, 0.373138},{-0.7396, 0.501813, 0.448526},{-0.691586, 0.501813, 0.519512},{-0.636783, 0.501813, 0.585398},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}},
{{-0.619184, 0.384134, 0.684874},{-0.680021, 0.384134, 0.624509},{-0.734999, 0.384134, 0.558764},{-0.783644, 0.384134, 0.488203},{-0.825537, 0.384134, 0.413436},{-0.860317, 0.384134, 0.335106},{-0.887683, 0.384134, 0.25389},{-0.907401, 0.384134, 0.170485},{-0.919299, 0.384134, 0.0856113},{-0.923277, 0.384134, 2.35667e-08},{-0.9193, 0.384134, -0.0856113},{-0.907401, 0.384134, -0.170485},{-0.887683, 0.384134, -0.253889},{-0.860317, 0.384134, -0.335106},{-0.825537, 0.384134, -0.413436},{-0.783645, 0.384134, -0.488203},{-0.735, 0.384134, -0.558763},{-0.680021, 0.384134, -0.624509},{-0.619184, 0.384134, -0.684874},{0,0,0},{0,0,0},{0,0,0}},
{{-0.642061, 0.25983, -0.721281},{-0.703485, 0.25983, -0.661511},{-0.759368, 0.25983, -0.59653},{-0.80927, 0.25983, -0.52685},{-0.852796, 0.25983, -0.453019},{-0.889605, 0.25983, -0.375621},{-0.919406, 0.25983, -0.295263},{-0.941965, 0.25983, -0.212579},{-0.957104, 0.25983, -0.128221},{-0.964703, 0.25983, -0.0428528},{-0.964703, 0.25983, 0.0428529},{-0.957104, 0.25983, 0.128221},{-0.941965, 0.25983, 0.212579},{-0.919406, 0.25983, 0.295263},{-0.889605, 0.25983, 0.375621},{-0.852796, 0.25983, 0.453019},{-0.80927, 0.25983, 0.52685},{-0.759368, 0.25983, 0.59653},{-0.703485, 0.25983, 0.661511},{-0.64206, 0.25983, 0.721281},{0,0,0},{0,0,0}},
{{-0.609984, 0.131045, 0.781503},{-0.675205, 0.131045, 0.725896},{-0.735379, 0.131045, 0.664864},{-0.790057, 0.131045, 0.598863},{-0.83883, 0.131045, 0.528386},{-0.881333, 0.131045, 0.45396},{-0.917249, 0.131045, 0.37614},{-0.946309, 0.131045, 0.29551},{-0.968297, 0.131045, 0.21267},{-0.983047, 0.131045, 0.128241},{-0.99045, 0.131045, 0.0428539},{-0.99045, 0.131045, -0.0428539},{-0.983047, 0.131045, -0.128241},{-0.968297, 0.131045, -0.21267},{-0.946309, 0.131045, -0.29551},{-0.917249, 0.131045, -0.37614},{-0.881333, 0.131045, -0.45396},{-0.83883, 0.131045, -0.528386},{-0.790057, 0.131045, -0.598863},{-0.735379, 0.131045, -0.664864},{-0.675205, 0.131045, -0.725896},{-0.609984, 0.131045, -0.781503}},
{{-0.621449, -3.42459e-08, -0.783455},{-0.686253, -3.17941e-08, -0.727363},{-0.746015, -2.91087e-08, -0.665929},{-0.800298, -2.62095e-08, -0.599602},{-0.848702, -2.31177e-08, -0.528871},{-0.890871, -1.98561e-08, -0.454256},{-0.926497, -1.64487e-08, -0.376303},{-0.955316, -1.29205e-08, -0.295586},{-0.977118, -9.29729e-09, -0.212697},{-0.991742, -5.60583e-09, -0.128247},{-0.999081, -1.8732e-09, -0.0428538},{-0.999081, 1.8732e-09, 0.0428538},{-0.991742, 5.60585e-09, 0.128247},{-0.977118, 9.29731e-09, 0.212698},{-0.955316, 1.29205e-08, 0.295586},{-0.926497, 1.64487e-08, 0.376303},{-0.890871, 1.98561e-08, 0.454256},{-0.848702, 2.31177e-08, 0.528872},{-0.800298, 2.62095e-08, 0.599603},{-0.746015, 2.91087e-08, 0.665929},{-0.686252, 3.17941e-08, 0.727363},{-0.621449, 3.42459e-08, 0.783455}},
{{-0.609984, -0.131045, 0.781503},{-0.675205, -0.131045, 0.725896},{-0.735379, -0.131045, 0.664864},{-0.790057, -0.131045, 0.598863},{-0.83883, -0.131045, 0.528386},{-0.881333, -0.131045, 0.45396},{-0.917249, -0.131045, 0.37614},{-0.946309, -0.131045, 0.29551},{-0.968297, -0.131045, 0.21267},{-0.983047, -0.131045, 0.128241},{-0.99045, -0.131045, 0.0428539},{-0.99045, -0.131045, -0.0428539},{-0.983047, -0.131045, -0.128241},{-0.968297, -0.131045, -0.21267},{-0.946309, -0.131045, -0.29551},{-0.917249, -0.131045, -0.37614},{-0.881333, -0.131045, -0.45396},{-0.83883, -0.131045, -0.528386},{-0.790057, -0.131045, -0.598863},{-0.735379, -0.131045, -0.664864},{-0.675205, -0.131045, -0.725896},{-0.609984, -0.131045, -0.781503}},
{{-0.64206, -0.25983, -0.721281},{-0.703485, -0.25983, -0.661511},{-0.759368, -0.25983, -0.59653},{-0.80927, -0.25983, -0.52685},{-0.852796, -0.25983, -0.453019},{-0.889605, -0.25983, -0.375621},{-0.919406, -0.25983, -0.295263},{-0.941965, -0.25983, -0.212579},{-0.957104, -0.25983, -0.128221},{-0.964703, -0.25983, -0.0428528},{-0.964703, -0.25983, 0.042853},{-0.957104, -0.25983, 0.128221},{-0.941965, -0.25983, 0.212579},{-0.919406, -0.25983, 0.295263},{-0.889605, -0.25983, 0.375621},{-0.852796, -0.25983, 0.453019},{-0.80927, -0.25983, 0.52685},{-0.759368, -0.25983, 0.59653},{-0.703485, -0.25983, 0.661511},{-0.64206, -0.25983, 0.721281},{0,0,0},{0,0,0}},
{{-0.619184, -0.384134, 0.684874},{-0.680021, -0.384134, 0.624509},{-0.734999, -0.384134, 0.558764},{-0.783645, -0.384134, 0.488203},{-0.825537, -0.384134, 0.413436},{-0.860317, -0.384134, 0.335107},{-0.887683, -0.384134, 0.25389},{-0.907401, -0.384134, 0.170485},{-0.919299, -0.384134, 0.0856114},{-0.923277, -0.384134, 5.71488e-08},{-0.9193, -0.384134, -0.0856113},{-0.907401, -0.384134, -0.170485},{-0.887683, -0.384134, -0.253889},{-0.860317, -0.384134, -0.335106},{-0.825537, -0.384134, -0.413436},{-0.783645, -0.384134, -0.488203},{-0.735, -0.384134, -0.558763},{-0.680021, -0.384134, -0.624509},{-0.619184, -0.384134, -0.684874},{0,0,0},{0,0,0},{0,0,0}},
{{-0.636784, -0.501813, -0.585398},{-0.691586, -0.501813, -0.519512},{-0.7396, -0.501813, -0.448526},{-0.780354, -0.501813, -0.373138},{-0.813448, -0.501813, -0.294086},{-0.838557, -0.501813, -0.212148},{-0.855434, -0.501813, -0.128128},{-0.863914, -0.501813, -0.0428494},{-0.863914, -0.501813, 0.0428496},{-0.855434, -0.501813, 0.128128},{-0.838557, -0.501813, 0.212148},{-0.813448, -0.501813, 0.294087},{-0.780354, -0.501813, 0.373138},{-0.7396, -0.501813, 0.448526},{-0.691586, -0.501813, 0.519512},{-0.636783, -0.501813, 0.585398},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}}
},{{{0.636783, 0.501813, 0.585398},{0.691586, 0.501813, 0.519512},{0.7396, 0.501813, 0.448526},{0.780354, 0.501813, 0.373138},{0.813448, 0.501813, 0.294086},{0.838557, 0.501813, 0.212148},{0.855434, 0.501813, 0.128128},{0.863914, 0.501813, 0.0428495},{0.863914, 0.501813, -0.0428495},{0.855434, 0.501813, -0.128128},{0.838557, 0.501813, -0.212148},{0.813448, 0.501813, -0.294086},{0.780354, 0.501813, -0.373138},{0.7396, 0.501813, -0.448526},{0.691586, 0.501813, -0.519512},{0.636784, 0.501813, -0.585398},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}},
{{0.619184, 0.384134, -0.684874},{0.680021, 0.384134, -0.624509},{0.735, 0.384134, -0.558763},{0.783645, 0.384134, -0.488203},{0.825537, 0.384134, -0.413436},{0.860317, 0.384134, -0.335106},{0.887683, 0.384134, -0.25389},{0.907401, 0.384134, -0.170485},{0.919299, 0.384134, -0.0856113},{0.923277, 0.384134, 2.35667e-08},{0.9193, 0.384134, 0.0856113},{0.907401, 0.384134, 0.170485},{0.887683, 0.384134, 0.253889},{0.860317, 0.384134, 0.335106},{0.825537, 0.384134, 0.413436},{0.783644, 0.384134, 0.488203},{0.735, 0.384134, 0.558763},{0.680021, 0.384134, 0.624509},{0.619184, 0.384134, 0.684874},{0,0,0},{0,0,0},{0,0,0}},
{{0.64206, 0.25983, 0.721281},{0.703485, 0.25983, 0.661511},{0.759368, 0.25983, 0.59653},{0.80927, 0.25983, 0.52685},{0.852796, 0.25983, 0.453019},{0.889605, 0.25983, 0.375621},{0.919406, 0.25983, 0.295263},{0.941965, 0.25983, 0.212579},{0.957104, 0.25983, 0.128221},{0.964703, 0.25983, 0.0428529},{0.964703, 0.25983, -0.0428529},{0.957104, 0.25983, -0.128221},{0.941965, 0.25983, -0.212579},{0.919406, 0.25983, -0.295263},{0.889605, 0.25983, -0.375621},{0.852796, 0.25983, -0.453019},{0.80927, 0.25983, -0.52685},{0.759368, 0.25983, -0.59653},{0.703485, 0.25983, -0.661511},{0.64206, 0.25983, -0.721281},{0,0,0},{0,0,0}},
{{0.609984, 0.131045, -0.781502},{0.675205, 0.131045, -0.725896},{0.735379, 0.131045, -0.664864},{0.790057, 0.131045, -0.598863},{0.83883, 0.131045, -0.528386},{0.881333, 0.131045, -0.45396},{0.917249, 0.131045, -0.37614},{0.946309, 0.131045, -0.295509},{0.968297, 0.131045, -0.21267},{0.983047, 0.131045, -0.128241},{0.99045, 0.131045, -0.0428538},{0.99045, 0.131045, 0.042854},{0.983047, 0.131045, 0.128241},{0.968297, 0.131045, 0.21267},{0.946309, 0.131045, 0.29551},{0.917249, 0.131045, 0.37614},{0.881333, 0.131045, 0.45396},{0.83883, 0.131045, 0.528386},{0.790057, 0.131045, 0.598863},{0.735379, 0.131045, 0.664864},{0.675205, 0.131045, 0.725896},{0.609984, 0.131045, 0.781503}},
{{0.621449, 3.42459e-08, 0.783455},{0.686253, 3.17941e-08, 0.727363},{0.746015, 2.91087e-08, 0.665929},{0.800298, 2.62095e-08, 0.599602},{0.848702, 2.31177e-08, 0.528872},{0.890871, 1.98561e-08, 0.454256},{0.926497, 1.64487e-08, 0.376303},{0.955316, 1.29205e-08, 0.295586},{0.977118, 9.2973e-09, 0.212697},{0.991742, 5.60584e-09, 0.128247},{0.999081, 1.8732e-09, 0.0428539},{0.999081, -1.8732e-09, -0.0428538},{0.991742, -5.60584e-09, -0.128247},{0.977118, -9.2973e-09, -0.212697},{0.955316, -1.29205e-08, -0.295586},{0.926497, -1.64487e-08, -0.376303},{0.890871, -1.98561e-08, -0.454256},{0.848702, -2.31177e-08, -0.528872},{0.800298, -2.62095e-08, -0.599602},{0.746015, -2.91087e-08, -0.665929},{0.686253, -3.17941e-08, -0.727363},{0.621449, -3.42459e-08, -0.783455}},
{{0.609984, -0.131045, -0.781502},{0.675205, -0.131045, -0.725896},{0.735379, -0.131045, -0.664864},{0.790057, -0.131045, -0.598863},{0.83883, -0.131045, -0.528386},{0.881333, -0.131045, -0.45396},{0.917249, -0.131045, -0.37614},{0.946309, -0.131045, -0.295509},{0.968297, -0.131045, -0.21267},{0.983047, -0.131045, -0.128241},{0.99045, -0.131045, -0.0428538},{0.99045, -0.131045, 0.042854},{0.983047, -0.131045, 0.128241},{0.968297, -0.131045, 0.21267},{0.946309, -0.131045, 0.29551},{0.917249, -0.131045, 0.37614},{0.881333, -0.131045, 0.45396},{0.83883, -0.131045, 0.528386},{0.790057, -0.131045, 0.598863},{0.735379, -0.131045, 0.664864},{0.675205, -0.131045, 0.725896},{0.609984, -0.131045, 0.781503}},
{{0.64206, -0.25983, 0.721281},{0.703485, -0.25983, 0.661511},{0.759368, -0.25983, 0.59653},{0.80927, -0.25983, 0.52685},{0.852796, -0.25983, 0.453019},{0.889605, -0.25983, 0.375621},{0.919406, -0.25983, 0.295263},{0.941965, -0.25983, 0.212579},{0.957104, -0.25983, 0.128221},{0.964703, -0.25983, 0.0428529},{0.964703, -0.25983, -0.0428528},{0.957104, -0.25983, -0.128221},{0.941965, -0.25983, -0.212579},{0.919406, -0.25983, -0.295263},{0.889605, -0.25983, -0.375621},{0.852796, -0.25983, -0.453019},{0.80927, -0.25983, -0.52685},{0.759368, -0.25983, -0.59653},{0.703485, -0.25983, -0.661511},{0.64206, -0.25983, -0.721281},{0,0,0},{0,0,0}},
{{0.619184, -0.384134, -0.684874},{0.680021, -0.384134, -0.624509},{0.735, -0.384134, -0.558763},{0.783645, -0.384134, -0.488203},{0.825537, -0.384134, -0.413436},{0.860317, -0.384134, -0.335106},{0.887683, -0.384134, -0.253889},{0.907401, -0.384134, -0.170485},{0.919299, -0.384134, -0.0856113},{0.923277, -0.384134, 5.71488e-08},{0.9193, -0.384134, 0.0856114},{0.907401, -0.384134, 0.170485},{0.887683, -0.384134, 0.25389},{0.860317, -0.384134, 0.335106},{0.825537, -0.384134, 0.413436},{0.783645, -0.384134, 0.488203},{0.735, -0.384134, 0.558763},{0.680021, -0.384134, 0.624509},{0.619184, -0.384134, 0.684874},{0,0,0},{0,0,0},{0,0,0}},
{{0.636783, -0.501813, 0.585398},{0.691586, -0.501813, 0.519512},{0.7396, -0.501813, 0.448526},{0.780354, -0.501813, 0.373138},{0.813448, -0.501813, 0.294087},{0.838557, -0.501813, 0.212148},{0.855434, -0.501813, 0.128128},{0.863914, -0.501813, 0.0428495},{0.863914, -0.501813, -0.0428495},{0.855434, -0.501813, -0.128128},{0.838557, -0.501813, -0.212148},{0.813448, -0.501813, -0.294086},{0.780354, -0.501813, -0.373138},{0.7396, -0.501813, -0.448526},{0.691586, -0.501813, -0.519512},{0.636784, -0.501813, -0.585398},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}}
},{{{0.585398, -0.636783, -0.501813},{0.519512, -0.691586, -0.501813},{0.448526, -0.7396, -0.501813},{0.373138, -0.780354, -0.501813},{0.294086, -0.813448, -0.501813},{0.212148, -0.838557, -0.501813},{0.128128, -0.855434, -0.501813},{0.0428495, -0.863914, -0.501813},{-0.0428495, -0.863914, -0.501813},{-0.128128, -0.855434, -0.501813},{-0.212148, -0.838557, -0.501813},{-0.294086, -0.813448, -0.501813},{-0.373138, -0.780354, -0.501813},{-0.448526, -0.7396, -0.501813},{-0.519512, -0.691586, -0.501813},{-0.585398, -0.636783, -0.501813},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}},
{{-0.684874, -0.619184, -0.384134},{-0.624509, -0.680021, -0.384134},{-0.558763, -0.734999, -0.384134},{-0.488203, -0.783644, -0.384134},{-0.413436, -0.825537, -0.384134},{-0.335106, -0.860317, -0.384134},{-0.253889, -0.887683, -0.384134},{-0.170485, -0.907401, -0.384134},{-0.0856113, -0.919299, -0.384134},{0, -0.923277, -0.384134},{0.0856113, -0.919299, -0.384134},{0.170485, -0.907401, -0.384134},{0.253889, -0.887683, -0.384134},{0.335106, -0.860317, -0.384134},{0.413436, -0.825537, -0.384134},{0.488203, -0.783644, -0.384134},{0.558763, -0.735, -0.384134},{0.624509, -0.680021, -0.384134},{0.684874, -0.619184, -0.384134},{0,0,0},{0,0,0},{0,0,0}},
{{0.721281, -0.64206, -0.25983},{0.661511, -0.703485, -0.25983},{0.59653, -0.759368, -0.25983},{0.52685, -0.80927, -0.25983},{0.453019, -0.852796, -0.25983},{0.375621, -0.889605, -0.25983},{0.295263, -0.919406, -0.25983},{0.212579, -0.941965, -0.25983},{0.128221, -0.957104, -0.25983},{0.0428528, -0.964703, -0.259831},{-0.0428529, -0.964703, -0.259831},{-0.128221, -0.957104, -0.259831},{-0.212579, -0.941965, -0.25983},{-0.295263, -0.919406, -0.25983},{-0.375621, -0.889605, -0.25983},{-0.453019, -0.852796, -0.25983},{-0.52685, -0.80927, -0.25983},{-0.59653, -0.759368, -0.25983},{-0.661511, -0.703485, -0.25983},{-0.721281, -0.64206, -0.25983},{0,0,0},{0,0,0}},
{{-0.781503, -0.609984, -0.131045},{-0.725896, -0.675205, -0.131045},{-0.664864, -0.735379, -0.131045},{-0.598863, -0.790057, -0.131045},{-0.528386, -0.83883, -0.131045},{-0.45396, -0.881333, -0.131045},{-0.37614, -0.917249, -0.131045},{-0.295509, -0.946309, -0.131045},{-0.21267, -0.968297, -0.131045},{-0.128241, -0.983047, -0.131045},{-0.0428538, -0.99045, -0.131045},{0.0428539, -0.99045, -0.131045},{0.128241, -0.983047, -0.131045},{0.21267, -0.968297, -0.131045},{0.29551, -0.946309, -0.131045},{0.37614, -0.917249, -0.131045},{0.45396, -0.881333, -0.131045},{0.528386, -0.83883, -0.131045},{0.598863, -0.790057, -0.131045},{0.664864, -0.735379, -0.131045},{0.725896, -0.675205, -0.131045},{0.781503, -0.609984, -0.131045}},
{{0.783455, -0.621449, -5.43288e-08},{0.727363, -0.686253, -5.99941e-08},{0.665929, -0.746015, -6.52187e-08},{0.599602, -0.800298, -6.99643e-08},{0.528871, -0.848702, -7.41959e-08},{0.454256, -0.890871, -7.78825e-08},{0.376303, -0.926497, -8.09969e-08},{0.295586, -0.955316, -8.35164e-08},{0.212697, -0.977118, -8.54224e-08},{0.128247, -0.991742, -8.67009e-08},{0.0428538, -0.999081, -8.73425e-08},{-0.0428538, -0.999081, -8.73425e-08},{-0.128247, -0.991742, -8.67009e-08},{-0.212697, -0.977118, -8.54224e-08},{-0.295586, -0.955316, -8.35164e-08},{-0.376303, -0.926497, -8.09969e-08},{-0.454256, -0.890871, -7.78825e-08},{-0.528872, -0.848702, -7.41959e-08},{-0.599602, -0.800298, -6.99643e-08},{-0.665929, -0.746015, -6.52187e-08},{-0.727363, -0.686253, -5.99941e-08},{-0.783455, -0.621449, -5.43288e-08}},
{{-0.781503, -0.609984, 0.131045},{-0.725896, -0.675205, 0.131045},{-0.664864, -0.735379, 0.131045},{-0.598863, -0.790057, 0.131045},{-0.528386, -0.83883, 0.131045},{-0.45396, -0.881333, 0.131045},{-0.37614, -0.917249, 0.131045},{-0.295509, -0.946309, 0.131045},{-0.21267, -0.968297, 0.131045},{-0.128241, -0.983047, 0.131045},{-0.0428538, -0.99045, 0.131045},{0.0428539, -0.99045, 0.131045},{0.128241, -0.983047, 0.131045},{0.21267, -0.968297, 0.131045},{0.29551, -0.946309, 0.131045},{0.37614, -0.917249, 0.131045},{0.45396, -0.881333, 0.131045},{0.528386, -0.83883, 0.131045},{0.598863, -0.790057, 0.131045},{0.664864, -0.735379, 0.131045},{0.725896, -0.675205, 0.131045},{0.781503, -0.609984, 0.131045}},
{{0.721281, -0.64206, 0.25983},{0.661511, -0.703485, 0.25983},{0.59653, -0.759368, 0.25983},{0.52685, -0.80927, 0.25983},{0.453019, -0.852796, 0.25983},{0.375621, -0.889605, 0.25983},{0.295263, -0.919406, 0.25983},{0.212579, -0.941965, 0.25983},{0.128221, -0.957104, 0.25983},{0.0428528, -0.964703, 0.25983},{-0.0428529, -0.964703, 0.25983},{-0.128221, -0.957104, 0.25983},{-0.212579, -0.941965, 0.25983},{-0.295263, -0.919406, 0.25983},{-0.375621, -0.889605, 0.25983},{-0.453019, -0.852796, 0.25983},{-0.52685, -0.80927, 0.25983},{-0.59653, -0.759368, 0.25983},{-0.661511, -0.703485, 0.25983},{-0.721281, -0.64206, 0.25983},{0,0,0},{0,0,0}},
{{-0.684874, -0.619184, 0.384134},{-0.624509, -0.680021, 0.384134},{-0.558763, -0.735, 0.384134},{-0.488203, -0.783645, 0.384134},{-0.413436, -0.825537, 0.384134},{-0.335106, -0.860317, 0.384134},{-0.25389, -0.887683, 0.384134},{-0.170485, -0.907401, 0.384134},{-0.0856113, -0.9193, 0.384134},{0, -0.923277, 0.384134},{0.0856113, -0.9193, 0.384134},{0.170485, -0.907401, 0.384134},{0.253889, -0.887683, 0.384134},{0.335106, -0.860317, 0.384134},{0.413436, -0.825537, 0.384134},{0.488203, -0.783645, 0.384134},{0.558763, -0.735, 0.384134},{0.624509, -0.680021, 0.384134},{0.684874, -0.619184, 0.384134},{0,0,0},{0,0,0},{0,0,0}},
{{0.585398, -0.636784, 0.501813},{0.519512, -0.691586, 0.501813},{0.448526, -0.7396, 0.501813},{0.373138, -0.780354, 0.501813},{0.294086, -0.813448, 0.501813},{0.212148, -0.838557, 0.501813},{0.128128, -0.855434, 0.501813},{0.0428495, -0.863914, 0.501813},{-0.0428495, -0.863914, 0.501813},{-0.128128, -0.855434, 0.501813},{-0.212148, -0.838557, 0.501813},{-0.294086, -0.813448, 0.501813},{-0.373138, -0.780354, 0.501813},{-0.448526, -0.7396, 0.501813},{-0.519512, -0.691586, 0.501813},{-0.585398, -0.636784, 0.501813},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}}}};
SDFileSystem sd(p11, p12, p13, p14, "sd"); // the pinout on the mbed Cool Components workshop board
Serial pc(USBTX, USBRX); // tx, rx
FILE *fp;
float z_ganma=0;
float z_kijun_ganma=0;
RawSerial device(p28, p27); // serial communication between robot and mbed: speed,angle,led status received
struct robotData {
float speed;
float angle;
uint8_t led; // receive-data: 0,33=1,34=2,35=3
uint8_t status;
} robotData = { 0,0,33,0 };
//LocalFileSystem local("local"); // Create the local filesystem under the name "local"
//const int byte_num = 114;//3*19 *2上下 // CSVから一度に読み込むバイト数 // 改行2バイト分読み込みをどこかで考える(アスキーコード 13と10)
//int rState = 3; // シリアル値によって変化
bool ontime = false;
unsigned char compareT_b[3];
unsigned long compareT = 0;//比較する数値
//unsigned long diff_time = 0;//時間調整用
//unsigned long start_time = 0;//時間調整用
Timer timer;
float cos_theta;
RotationMat rMat;
Vector3D position_vec(0,0,0);
Vector3D target_vec(0,1,0);
Vector3D rAxis(1,0,0);
const Vector3D xAxis(1,0,0);
const Vector3D yAxis(0,1,0);
const Vector3D zAxis(0,0,1);
float angular_velocity=10;
float kaiten;
float pretime=0;
float x_=0;
float y_=0;
float z_=0;
short longtitude;
short latitude;
float angles;
#define LED_0_8_NUM 16
#define LED_1_7_NUM 19
#define LED_2_6_NUM 20
#define LED_3_4_5_NUM 22
#define NUMPIXELS 178
#define NUM_LINE 9
#define NUM_TAPE 6
Adafruit_DotStar strip(NUMPIXELS, DOTSTAR_RGB);
DigitalOut decoder_in_a(p24);
DigitalOut decoder_in_b(p25);
DigitalOut decoder_in_c(p26);
void pc_rx () {
/*
pc.putc(pc.getc());
if(i<TOPNUMPIXELS-2)
i++;
else
i=0;
if(j<BOTTOMNUMPIXELS-2)
j++;
else
j=0;
*/
}
void rx()
{
uint8_t val = device.getc(), buf = 0;
// pc.putc(val);
// pc.putc(val);
//robotはPCから受けたものをそのまま渡してきてる
//上位2bitは10 つまり4bytes目
//上位2bitを確認 mode確認
robotData.status = (val >> 6) & 0x03;
//上位2bitは00の時,speed
if ((robotData.status == 0x00)) {
buf = val & 0x3f;
// robotData.angle = (float)buf * 5.625;
robotData.speed=(float)buf*0.03125f;
// pc.printf("speed=%f\n", (float)buf*0.03125f);
// pc.putc(robotData.angle);
}
//上位2bitは01の時,angle
if ((robotData.status == 0x01)) {
buf = val & 0x3f;//1<<6
if((float)buf==0)
{
}
else
{
z_ganma=(float)buf*0.09817f;//2*PI/64
// pc.printf("angle=%f\n", (float)buf*0.09817f);
}
//pc.printf("angle=%f\n", (float)buf*360.0f/64.0f);
}
//とりあえず上のbit は10らしい ロボット側のせってい
if ((robotData.status == 0x02)) {
//回転決めるために速度送る.
//上位3bit,4bit目を割り当てる.
if( ((val>>4) & 0x03) == 0x03)
{
buf = (val & 0x0f);
z_kijun_ganma+= (int)buf;
//pc.printf("buf=%d\n", (int)buf);
if(z_kijun_ganma>360)z_kijun_ganma = z_kijun_ganma-360;
}
}
}
void selectDecoderCh(unsigned int num_ch)
{
decoder_in_a = num_ch & 0b1;
decoder_in_b = (num_ch>>1) & 0b1;
decoder_in_c = (num_ch>>2) & 0b1;
}
//仮想LEDの回転
//ロボットから受け取った値と連動させる?
void updateRotation()
{
rMat.calMat(angular_velocity, rAxis.x, rAxis.y, rAxis.z);
x_ = target_vec.x;//x
y_ = target_vec.y;//y
z_ = target_vec.z;//z
target_vec.x = rMat.r[0][0]*x_+rMat.r[0][1]*y_+rMat.r[0][2]*z_;
target_vec.y = rMat.r[1][0]*x_+rMat.r[1][1]*y_+rMat.r[1][2]*z_;
target_vec.z = rMat.r[2][0]*x_+rMat.r[2][1]*y_+rMat.r[2][2]*z_;
}
void set_strip_color(int i_tape, int i_line, int i_pixel, int i_lednum)
{
position_vec.x = v_leds[i_tape][i_line][i_pixel][0];
position_vec.y = v_leds[i_tape][i_line][i_pixel][1];
position_vec.z = v_leds[i_tape][i_line][i_pixel][2];
//angles = angle(target_vec , position_vec);
cos_theta = MyMath::cos(MyMath::Degrees(40));
if((position_vec)*(target_vec) < cos_theta) {
strip.setPixelColor(i_lednum,100,0,0);
}
else
{
strip.setPixelColor(i_lednum,0,0,0);
}
}
void init()
{
pc.baud(115200);
pc.attach(pc_rx, Serial::RxIrq);
device.attach(rx, Serial::RxIrq);
//pc.printf("Hello World!\n");
/*
mkdir("/sd/001.txt", 0777);
fp = fopen("/sd/001.txt","r");
if(fp == NULL)
{
error("Could not open file for read\n");
}
*/
timer.start();
strip.begin(); //Initialize
for(int i_tape=0; i_tape<NUM_TAPE; i_tape++)
{
selectDecoderCh(i_tape);
strip.show(); //Turn all LEDs off ASAP
}
}
int main() {
init();
while(1)
{
//進行方向を回転させる用
//シリアルで受け取る.
/*これいる?ワープしちゃう原因?
x_ = targetvec.x*MyMath::cos(MyMath::Degrees(z_kijun_ganma)) - targetvec.y * MyMath::sin(MyMath::Degrees(z_kijun_ganma));
y_ = targetvec.x*MyMath::sin(MyMath::Degrees(z_kijun_ganma)) + targetvec.y * MyMath::cos(MyMath::Degrees(z_kijun_ganma));
targetvec.x=x_;
targetvec.y=y_;
*/
//回転軸回転させる.
x_ = rAxis.x*MyMath::cos(MyMath::Degrees(z_kijun_ganma)) - rAxis.y * MyMath::sin(MyMath::Degrees(z_kijun_ganma));
y_ = rAxis.x*MyMath::sin(MyMath::Degrees(z_kijun_ganma)) + rAxis.y * MyMath::cos(MyMath::Degrees(z_kijun_ganma));
rAxis.x=x_;
rAxis.y=y_;
//向きに対して
x_= rAxis.x*MyMath::cos(MyMath::Degrees(z_ganma))-rAxis.y*MyMath::sin(MyMath::Degrees(z_ganma));
y_= rAxis.x*MyMath::sin(MyMath::Degrees(z_ganma))+rAxis.y*MyMath::cos(MyMath::Degrees(z_ganma));
rAxis.x=x_;
rAxis.y=y_;
//速度*時間差=直径xPIxθ/360
//kaiten=(v(t'-t)*360)/(2*PI*R)
if(timer.read_ms()-pretime>=30)
{
kaiten+=(robotData.speed *( (timer.read_ms()-pretime)/1000.0f )* PI_180 ) / 0.09f ;
if(kaiten>360)kaiten=kaiten-360;
pretime=timer.read_ms();
}
//回転行列生成
updateRotation();
for(int i_tape=0; i_tape<NUM_TAPE; i_tape++)
{
selectDecoderCh(i_tape);
for(int i_line=0; i_line<NUM_LINE; i_line++)
{
switch(i_line)
{
case 0:
for(int i_pixel =0; i_pixel < LED_0_8_NUM ; i_pixel++)
{
set_strip_color(i_tape, i_line, i_pixel, i_pixel);
}
break;
case 1:
for(int i_pixel =0; i_pixel < LED_1_7_NUM ; i_pixel++)
{
set_strip_color(i_tape, i_line, i_pixel, i_pixel+16);
}
break;
case 2:
for(int i_pixel =0; i_pixel < LED_2_6_NUM ; i_pixel++)
{
set_strip_color(i_tape, i_line, i_pixel, i_pixel+35);
}
break;
case 3:
for(int i_pixel =0; i_pixel < LED_3_4_5_NUM ; i_pixel++)
{
set_strip_color(i_tape, i_line, i_pixel, i_pixel+55);
}
break;
case 4:
for(int i_pixel =0; i_pixel < LED_3_4_5_NUM ; i_pixel++)
{
set_strip_color(i_tape, i_line, i_pixel, i_pixel+77);
}
break;
case 5:
for(int i_pixel =0; i_pixel < LED_3_4_5_NUM ; i_pixel++)
{
set_strip_color(i_tape, i_line, i_pixel, i_pixel+99);
}
break;
case 6:
for(int i_pixel =0; i_pixel < LED_2_6_NUM ; i_pixel++)
{
set_strip_color(i_tape, i_line, i_pixel, i_pixel+121);
}
break;
case 7:
for(int i_pixel =0; i_pixel < LED_1_7_NUM ; i_pixel++)
{
set_strip_color(i_tape, i_line, i_pixel, i_pixel+141);
}
break;
case 8:
for(int i_pixel =0; i_pixel < LED_0_8_NUM ; i_pixel++)
{
set_strip_color(i_tape, i_line, i_pixel, i_pixel+160);
}
break;
}
}
//白色点灯回避用
strip.setPixelColor(176,0,0,0);
strip.setPixelColor(177,0,0,0);
strip.show();
}
}
}
/* for(int i_tape=0; i_tape<NUM_TAPE; i_tape++)
{
selectDecoderCh(i_tape);
for(int i_pixel=0; i_pixel<NUMPIXELS; i_pixel++)
{
strip.setPixelColor(i_pixel, 100*i_pixel/NUMPIXELS, 100*(NUMPIXELS-i_pixel)/NUMPIXELS, 0);
}
strip.show();
}
for(int i_tape=0; i_tape<NUM_TAPE; i_tape++)
{
selectDecoderCh(i_tape);
for(int i_pixel=0; i_pixel<NUMPIXELS; i_pixel++)
{
strip.setPixelColor(i_pixel, 0, 100*i_pixel/NUMPIXELS, 100*(NUMPIXELS-i_pixel)/NUMPIXELS);
}
strip.show();
}
*/
/*
while(1) {
// testes=fgetc(fp);
// pc.printf("%d\n", (int)testes - 48);
wait(0.01);
// pc.printf("sdData[9]: %d\n", (int)(sdData[9]));
if(ontime == false)
{
fread(compareT_b, 1,3, fp);
//fgets(compareT_b, 3+1, fp);//取ってくる個数+1
pc.printf("Compare0: %d\n", (int)( compareT_b[0]));
pc.printf("Compare1: %d\n", (int)( compareT_b[1]));
pc.printf("Compare2: %d\n", (int)( compareT_b[2]));
compareT = (unsigned long)(compareT_b[0]) * 256 * 256 + (unsigned long)(compareT_b[1]) * 256 + (unsigned long)compareT_b[2];//符号拡張阻止
//pc.putc(compareT);
pc.printf("Compare: %d\n", compareT);
ontime = true;
}
if( timer.read()*1000 > compareT)//compareTが現在の時間がcomparetTを超えたら
{
ontime = false;
// SDカードをbyte_num分、読み取る (57Byte)
//fgets(sdData, byte_num+1+2, fp);//取ってくる個数+1
fread(sdData, 1,byte_num, fp);
pc.printf("sdData[0]: %d\n", (int)(sdData[0]));
pc.printf("sdData[1]: %d\n", (int)(sdData[1]));
pc.printf("sdData[2]: %d\n", (int)(sdData[2]));
}
}
*/