JSFiddle - React, Tailwind, and code Playground

by jcubed111

JavaScript

v.push_back(m->makeVert(0, 1, 0));
for(unsigned int i=0; i<5; i++) {
    v.push_back(m->makeVert(
        std::cos(M_PI/6) * std::cos(M_PI*i/2.5),
        std::sin(M_PI/6),
        std::cos(M_PI/6) * std::sin(M_PI*i/2.5)
    ));
}
for(double i=0.5; i<5.5; i++) {
    v.push_back(m->makeVert(
        std::cos(M_PI/6) * std::cos(M_PI*i/2.5),
        -std::sin(M_PI/6),
        std::cos(M_PI/6) * std::sin(M_PI*i/2.5)
    ));
}
v.push_back(m->makeVert(0, -1, 0));

//top faces
for(unsigned int i=1; i<6; i++) {
    m->createFace(v[0], v[i%5 + 1], v[i]);
}
//pointing down middle faces
for(unsigned int i=1; i<6; i++) {
    m->createFace(v[i], v[i%5 + 1], v[i+5]);
}
//pointing up middle faces
for(unsigned int i=6; i<11; i++) {
    m->createFace(v[i%5 + 6], v[i], v[(i-5)%5 + 1]);
}
//bottom faces
for(unsigned int i=6; i<11; i++) {
    m->createFace(v[11], v[i], v[i%5 + 6]);
}