dreamcast/chess/knight.hpp
2024-05-31 23:09:55 -05:00

163 lines
5.2 KiB
C++

#pragma once
#include "geometry/geometry.hpp"
namespace knight {
constexpr vec3 vertices[] = {
{ 0.659379f, -0.816994f, -0.500000f },
{ 0.562711f, -0.484379f, -0.500000f },
{ 0.619948f, -0.544161f, -0.500000f },
{ 0.660651f, -0.653548f, -0.500000f },
{ 0.514377f, -0.460212f, -0.500000f },
{ 0.590694f, -0.167663f, -0.500000f },
{ 0.590694f, 0.056200f, -0.500000f },
{ 0.542359f, 0.227913f, -0.500000f },
{ 0.452051f, 0.393266f, -0.500000f },
{ 0.356655f, 0.496294f, -0.500000f },
{ 0.214196f, 0.587875f, -0.500000f },
{ 0.062834f, 0.643840f, -0.500000f },
{ -0.031290f, 0.656560f, -0.500000f },
{ -0.172476f, 0.799018f, -0.500000f },
{ -0.250065f, 0.795203f, -0.500000f },
{ -0.297128f, 0.739237f, -0.500000f },
{ -0.317479f, 0.631121f, -0.500000f },
{ -0.419235f, 0.531909f, -0.500000f },
{ -0.477744f, 0.408530f, -0.500000f },
{ -0.509543f, 0.313134f, -0.500000f },
{ -0.706695f, 0.014225f, -0.500000f },
{ -0.707967f, -0.079899f, -0.500000f },
{ -0.659633f, -0.147312f, -0.500000f },
{ -0.506999f, -0.207094f, -0.500000f },
{ -0.396340f, -0.207094f, -0.500000f },
{ -0.307303f, -0.084987f, -0.500000f },
{ -0.204275f, -0.082443f, -0.500000f },
{ -0.124142f, -0.039196f, -0.500000f },
{ -0.032562f, 0.048568f, -0.500000f },
{ -0.035106f, -0.015029f, -0.500000f },
{ -0.077080f, -0.078627f, -0.500000f },
{ -0.206819f, -0.181655f, -0.500000f },
{ -0.295856f, -0.277051f, -0.500000f },
{ -0.363269f, -0.378807f, -0.500000f },
{ -0.386164f, -0.457668f, -0.500000f },
{ -0.462481f, -0.495826f, -0.500000f },
{ -0.510815f, -0.551792f, -0.500000f },
{ -0.534982f, -0.626837f, -0.500000f },
{ -0.534982f, -0.816994f, -0.500000f },
{ 0.500944f, -0.156150f, -1.500000f },
{ 0.409169f, -0.507952f, -1.500000f },
{ 0.508650f, -0.557692f, -1.500000f },
{ 0.542299f, -0.592837f, -1.500000f },
{ 0.570775f, -0.669367f, -1.500000f },
{ 0.570325f, -0.744827f, -1.500000f },
{ 0.500944f, 0.043809f, -1.500000f },
{ 0.458720f, 0.193813f, -1.500000f },
{ 0.378625f, 0.340467f, -1.500000f },
{ 0.298539f, 0.426959f, -1.500000f },
{ 0.173894f, 0.507088f, -1.500000f },
{ 0.040999f, 0.556225f, -1.500000f },
{ -0.073553f, 0.571706f, -1.500000f },
{ -0.209298f, 0.704796f, -1.500000f },
{ -0.234523f, 0.586654f, -1.500000f },
{ -0.345045f, 0.478895f, -1.500000f },
{ -0.394320f, 0.374988f, -1.500000f },
{ -0.428129f, 0.273563f, -1.500000f },
{ -0.617309f, -0.013258f, -1.500000f },
{ -0.617827f, -0.051594f, -1.500000f },
{ -0.602171f, -0.073430f, -1.500000f },
{ -0.490050f, -0.117344f, -1.500000f },
{ -0.441973f, -0.117344f, -1.500000f },
{ -0.353752f, 0.003644f, -1.500000f },
{ -0.227982f, 0.006749f, -1.500000f },
{ -0.177465f, 0.034012f, -1.500000f },
{ 0.029378f, 0.195605f, -1.500000f },
{ 0.053573f, -0.043600f, -1.500000f },
{ -0.010058f, -0.140010f, -1.500000f },
{ -0.145769f, -0.247781f, -1.500000f },
{ -0.225155f, -0.332837f, -1.500000f },
{ -0.280893f, -0.416969f, -1.500000f },
{ -0.310917f, -0.520388f, -1.500000f },
{ -0.406289f, -0.568074f, -1.500000f },
{ -0.430974f, -0.596657f, -1.500000f },
{ -0.445232f, -0.640932f, -1.500000f },
{ -0.445232f, -0.744827f, -1.500000f },
};
constexpr face_v faces[] = {
{{ 4}, {28}, {29}},
{{40}, {67}, {71}},
{{ 4}, { 5}, { 6}},
{{ 6}, { 7}, { 8}},
{{ 8}, { 9}, {10}},
{{10}, {11}, {12}},
{{12}, {13}, {14}},
{{14}, {15}, {16}},
{{16}, {17}, {18}},
{{19}, {20}, {21}},
{{16}, {18}, {19}},
{{12}, {14}, {16}},
{{ 8}, {10}, {12}},
{{ 4}, { 6}, { 8}},
{{ 2}, { 1}, { 4}},
{{ 0}, { 3}, { 2}},
{{37}, {38}, { 0}},
{{35}, {36}, {37}},
{{32}, {33}, {34}},
{{34}, {35}, {37}},
{{37}, { 0}, { 2}},
{{ 4}, { 8}, {12}},
{{37}, { 2}, { 4}},
{{31}, {32}, {34}},
{{34}, {37}, { 4}},
{{ 4}, {12}, {16}},
{{16}, {19}, {21}},
{{21}, {22}, {23}},
{{23}, {24}, {25}},
{{25}, {26}, {27}},
{{25}, {27}, {28}},
{{21}, {23}, {25}},
{{31}, {34}, { 4}},
{{30}, {31}, { 4}},
{{16}, {21}, {25}},
{{16}, {25}, {28}},
{{29}, {30}, { 4}},
{{ 4}, {16}, {28}},
{{40}, {39}, {45}},
{{45}, {46}, {47}},
{{47}, {48}, {49}},
{{49}, {50}, {51}},
{{51}, {52}, {53}},
{{53}, {54}, {55}},
{{56}, {57}, {58}},
{{53}, {55}, {56}},
{{49}, {51}, {53}},
{{45}, {47}, {49}},
{{42}, {41}, {40}},
{{40}, {45}, {49}},
{{49}, {53}, {56}},
{{56}, {58}, {59}},
{{59}, {60}, {61}},
{{62}, {63}, {64}},
{{59}, {61}, {62}},
{{49}, {56}, {59}},
{{43}, {42}, {40}},
{{49}, {59}, {62}},
{{62}, {64}, {65}},
{{49}, {62}, {65}},
{{44}, {43}, {40}},
{{40}, {49}, {65}},
{{40}, {65}, {66}},
{{75}, {44}, {40}},
{{73}, {74}, {75}},
{{71}, {72}, {73}},
{{69}, {70}, {71}},
{{67}, {68}, {69}},
{{40}, {66}, {67}},
{{73}, {75}, {40}},
{{67}, {69}, {71}},
{{71}, {73}, {40}},
};
constexpr uint32_t num_faces = (sizeof (faces)) / (sizeof (face_v));
}