ideal 3D honeycombs

This commit is contained in:
Zeno Rogue 2019-10-10 13:16:06 +02:00
parent da4846f216
commit 671990731c
3 changed files with 5 additions and 1 deletions

View File

@ -591,6 +591,8 @@ vector<geometryinfo> ginf = {
{"3x2", "none", "stretched hyperbolic", "3:2", 11, 3, qBINARY|qNIH, giSolNIH, 0x49000, {{6, 3}}, eVariation::pure},
{"3x1/2", "none", "stretched Solv", "3:1/2", 9, 3, (qBINARY|qSOL|qNIH), giSolNIH, 0x49200, {{7, 3}}, eVariation::pure},
{"{3,oo}", "none", "{3,∞} (infinite triangles)", "oox3", 3, 100, qIDEAL, giHyperb2, 0x49400, {{7, 7}}, eVariation::pure},
{"{3,3,6}","none", "{3,3,6} hyperbolic honeycomb", "336", 4, 6, qIDEAL | qEXPERIMENTAL, giHyperb3, 0x49600, {{7, 2}}, eVariation::pure},
{"{3,4,4}","none", "{3,4,4} hyperbolic honeycomb", "344", 8, 4, qIDEAL | qEXPERIMENTAL, giHyperb3, 0x50000, {{7, 2}}, eVariation::pure},
};
// bits: 9, 10, 15, 16, (reserved for later) 17, 18

View File

@ -215,7 +215,7 @@ enum eGeometry {
gField435, gField534,
gBinary4, gSol,
gKiteDart2, gKiteDart3, gNil, gProduct, gRotSpace,
gTernary, gNIH, gSolN, gInfOrder,
gTernary, gNIH, gSolN, gInfOrder, gSpace336, gSpace344,
gGUARD};
enum eGeometryClass { gcHyperbolic, gcEuclid, gcSphere, gcSolNIH, gcNil, gcProduct, gcSL2 };

View File

@ -738,6 +738,8 @@ void geometry_information::make_wall(int id, vector<hyperpoint> vertices, vector
vertices[i] = d.second;
}
}
if(cgflags & qIDEAL) for(auto& v: vertices) v /= v[3];
ld w = 0;
for(int i=0; i<n; i++) center += vertices[i] * weights[i], w += weights[i];