mirror of
				https://github.com/zenorogue/hyperrogue.git
				synced 2025-10-31 14:02:59 +00:00 
			
		
		
		
	nilv:: simpler honeycomb
This commit is contained in:
		| @@ -563,7 +563,7 @@ vector<geometryinfo> ginf = { | |||||||
|   {"sol",    "none",    "Solv geometry",                              "sol",      8, 3, qBINARY,   gcSol,        0x41600, {{7, 5}}, eVariation::pure}, |   {"sol",    "none",    "Solv geometry",                              "sol",      8, 3, qBINARY,   gcSol,        0x41600, {{7, 5}}, eVariation::pure}, | ||||||
|   {"kd2",    "none",    "kite-and-dart",                              "kd2",      4, 3, qPENROSE,  gcEuclid,     0x48000, {{7, 7}}, eVariation::pure}, |   {"kd2",    "none",    "kite-and-dart",                              "kd2",      4, 3, qPENROSE,  gcEuclid,     0x48000, {{7, 7}}, eVariation::pure}, | ||||||
|   {"kd3",    "none",    "kite-and-dart on horospheres",               "kd3",     12, 3, qsBP,      gcHyperbolic, 0x48200, {{7, 3}}, eVariation::pure}, |   {"kd3",    "none",    "kite-and-dart on horospheres",               "kd3",     12, 3, qsBP,      gcHyperbolic, 0x48200, {{7, 3}}, eVariation::pure}, | ||||||
|   {"nil",    "none",    "Nil geometry",                               "nil",     22, 3, 0,         gcNil,        0x48600, {{7, 5}}, eVariation::pure}, |   {"nil",    "none",    "Nil geometry",                               "nil",      8, 3, 0,         gcNil,        0x48600, {{7, 5}}, eVariation::pure}, | ||||||
| //{"product","none",    "product space",                              "product",  7, 3, 0,         gcProduct,    0x48400, {{7, 3}}, eVariation::pure}, | //{"product","none",    "product space",                              "product",  7, 3, 0,         gcProduct,    0x48400, {{7, 3}}, eVariation::pure}, | ||||||
|   }; |   }; | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										6
									
								
								hyper.h
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								hyper.h
									
									
									
									
									
								
							| @@ -554,7 +554,7 @@ struct gcell { | |||||||
| #define NOBARRIERS 127 | #define NOBARRIERS 127 | ||||||
| #define MODFIXER (2*10090080*17) | #define MODFIXER (2*10090080*17) | ||||||
|  |  | ||||||
| #define MAX_EDGE 22 | #define MAX_EDGE 18 | ||||||
|  |  | ||||||
| template<class T> struct walker; | template<class T> struct walker; | ||||||
|  |  | ||||||
| @@ -5664,8 +5664,8 @@ namespace solv { | |||||||
|  |  | ||||||
| namespace nilv { | namespace nilv { | ||||||
|   extern string nilshader; |   extern string nilshader; | ||||||
|   extern array<vector<hyperpoint>, 22> facevertices; |   static const int nilv_S7 = 8; | ||||||
|   void software_renderer(dqi_poly *p); |   extern array<vector<hyperpoint>, nilv_S7> facevertices; | ||||||
|   } |   } | ||||||
|  |  | ||||||
| bool in_perspective(); | bool in_perspective(); | ||||||
|   | |||||||
| @@ -446,31 +446,17 @@ namespace nilv { | |||||||
|  |  | ||||||
|   hyperpoint mvec_to_point(mvec m) { return hpxy3(m[0], m[1], m[2]); } |   hyperpoint mvec_to_point(mvec m) { return hpxy3(m[0], m[1], m[2]); } | ||||||
|  |  | ||||||
|   array<mvec, 22> movevectors = {mvec(0,-1,-1), mvec(1,-1,-1), mvec(-1,0,-1), mvec(0,0,-1), mvec(1,0,-1), mvec(-1,1,-1), mvec(0,1,-1), mvec(-1,-1,0), mvec(0,-1,0), mvec(-1,0,0), mvec(1,1,0), mvec(0,1,1), mvec(-1,1,0), mvec(1,0,1), mvec(0,0,1), mvec(-1,0,1), mvec(1,-1,0), mvec(0,-1,1), mvec(1,1,1), mvec(0,1,0), mvec(1,0,0), mvec(-1,-1,1), }; |   array<mvec, nilv_S7> movevectors = { mvec(-1,0,0), mvec(-1,0,1), mvec(0,-1,0), mvec(0,0,-1), mvec(1,0,0), mvec(1,0,-1), mvec(0,1,0), mvec(0,0,1) }; | ||||||
|  |  | ||||||
|   array<vector<hyperpoint>, 22> facevertices = {{ |   array<vector<hyperpoint>, nilv_S7> facevertices = {{ | ||||||
|     {point31(0.434375,-0.5,-0.489063), point31(0.414062,-0.417969,-0.578125), point31(0.003125,-0.49375,-0.49375), point31(0.414062,-0.574219,-0.414062), }, |     { point31(-0.5,-0.5,-0.25), point31(-0.5,-0.5,0.75), point31(-0.5,0.5,-0.25), }, | ||||||
|     {point31(0.434375,-0.5,-0.489063), point31(0.490451,-0.560764,-0.292535), point31(0.414062,-0.574219,-0.414062), }, |     { point31(-0.5,-0.5,0.75), point31(-0.5,0.5,0.75), point31(-0.5,0.5,-0.25), }, | ||||||
|     {point31(-0.49375,0,-0.49375), point31(-0.575,-0.415625,-0.170313), point31(-0.500977,-0.433594,-0.270508), point31(-0.414062,-0.414062,-0.414062), }, |     { point31(-0.5,-0.5,-0.25), point31(-0.5,-0.5,0.75), point31(0.5,-0.5,0.25), point31(0.5,-0.5,-0.75), }, | ||||||
|     {point31(0.414062,-0.417969,-0.578125), point31(0.498047,0.00585938,-0.492188), point31(0.414062,0.414062,-0.414062), point31(-0.0178571,0.5,-0.497768), point31(-0.414062,0.417969,-0.578125), point31(-0.49375,0,-0.49375), point31(-0.414062,-0.414062,-0.414062), point31(0.003125,-0.49375,-0.49375), }, |     { point31(-0.5,-0.5,-0.25), point31(-0.5,0.5,-0.25), point31(0.5,0.5,-0.75), point31(0.5,-0.5,-0.75), }, | ||||||
|     {point31(0.498047,0.00585938,-0.492188), point31(0.575,0.415625,-0.170313), point31(0.503906,0.434896,-0.265625), point31(0.414062,0.414062,-0.414062), }, |     { point31(0.5,0.5,0.25), point31(0.5,-0.5,0.25), point31(0.5,-0.5,-0.75), }, | ||||||
|     {point31(-0.414062,0.574219,-0.414062), point31(-0.489258,0.560547,-0.293945), point31(-0.435268,0.504464,-0.485491), }, |     { point31(0.5,0.5,-0.75), point31(0.5,0.5,0.25), point31(0.5,-0.5,-0.75), }, | ||||||
|     {point31(-0.0178571,0.5,-0.497768), point31(-0.414062,0.574219,-0.414062), point31(-0.435268,0.504464,-0.485491), point31(-0.414062,0.417969,-0.578125), }, |     { point31(-0.5,0.5,0.75), point31(-0.5,0.5,-0.25), point31(0.5,0.5,-0.75), point31(0.5,0.5,0.25), }, | ||||||
|     {point31(-0.575,-0.415625,-0.170313), point31(-0.558594,-0.491211,-0.0136719), point31(-0.500977,-0.433594,-0.270508), }, |     { point31(-0.5,-0.5,0.75), point31(-0.5,0.5,0.75), point31(0.5,0.5,0.25), point31(0.5,-0.5,0.25), }, | ||||||
|     {point31(0.003125,-0.49375,-0.49375), point31(-0.414062,-0.414062,-0.414062), point31(-0.500977,-0.433594,-0.270508), point31(-0.558594,-0.491211,-0.0136719), point31(-0.489258,-0.560547,0.293945), point31(-0.414062,-0.574219,0.414062), point31(-0.00260417,-0.492188,0.497396), point31(0.414062,-0.414062,0.414062), point31(0.503906,-0.434896,0.265625), point31(0.558594,-0.491211,0.0136719), point31(0.490451,-0.560764,-0.292535), point31(0.414062,-0.574219,-0.414062), }, |  | ||||||
|     {point31(-0.575,-0.415625,-0.170313), point31(-0.558594,-0.491211,-0.0136719), point31(-0.489258,-0.560547,0.293945), point31(-0.434375,-0.5,0.489063), point31(-0.414062,-0.417969,0.578125), point31(-0.49375,0.0015625,0.495312), point31(-0.575,0.415625,0.170313), point31(-0.558594,0.492969,0.0109375), point31(-0.489258,0.560547,-0.293945), point31(-0.435268,0.504464,-0.485491), point31(-0.414062,0.417969,-0.578125), point31(-0.49375,0,-0.49375), }, |  | ||||||
|     {point31(0.575,0.415625,-0.170313), point31(0.558594,0.492969,-0.0109375), point31(0.503906,0.434896,-0.265625), }, |  | ||||||
|     {point31(0.435268,0.504464,0.485491), point31(0.414062,0.574219,0.414062), point31(0.0146484,0.499023,0.499023), point31(0.414062,0.417969,0.578125), }, |  | ||||||
|     {point31(-0.558594,0.492969,0.0109375), point31(-0.500977,0.433594,0.270508), point31(-0.575,0.415625,0.170313), }, |  | ||||||
|     {point31(0.503906,-0.434896,0.265625), point31(0.575,-0.415625,0.170313), point31(0.497396,-0.00390625,0.494792), point31(0.414062,-0.414062,0.414062), }, |  | ||||||
|     {point31(-0.00260417,-0.492188,0.497396), point31(-0.414062,-0.417969,0.578125), point31(-0.49375,0.0015625,0.495312), point31(-0.414062,0.414062,0.414062), point31(0.0146484,0.499023,0.499023), point31(0.414062,0.417969,0.578125), point31(0.497396,-0.00390625,0.494792), point31(0.414062,-0.414062,0.414062), }, |  | ||||||
|     {point31(-0.49375,0.0015625,0.495312), point31(-0.414062,0.414062,0.414062), point31(-0.500977,0.433594,0.270508), point31(-0.575,0.415625,0.170313), }, |  | ||||||
|     {point31(0.558594,-0.491211,0.0136719), point31(0.575,-0.415625,0.170313), point31(0.503906,-0.434896,0.265625), }, |  | ||||||
|     {point31(-0.414062,-0.574219,0.414062), point31(-0.434375,-0.5,0.489063), point31(-0.414062,-0.417969,0.578125), point31(-0.00260417,-0.492188,0.497396), }, |  | ||||||
|     {point31(0.490451,0.560764,0.292535), point31(0.414062,0.574219,0.414062), point31(0.435268,0.504464,0.485491), }, |  | ||||||
|     {point31(-0.0178571,0.5,-0.497768), point31(-0.414062,0.574219,-0.414062), point31(-0.489258,0.560547,-0.293945), point31(-0.558594,0.492969,0.0109375), point31(-0.500977,0.433594,0.270508), point31(-0.414062,0.414062,0.414062), point31(0.0146484,0.499023,0.499023), point31(0.414062,0.574219,0.414062), point31(0.490451,0.560764,0.292535), point31(0.558594,0.492969,-0.0109375), point31(0.503906,0.434896,-0.265625), point31(0.414062,0.414062,-0.414062), }, |  | ||||||
|     {point31(0.414062,-0.417969,-0.578125), point31(0.498047,0.00585938,-0.492188), point31(0.575,0.415625,-0.170313), point31(0.558594,0.492969,-0.0109375), point31(0.490451,0.560764,0.292535), point31(0.435268,0.504464,0.485491), point31(0.414062,0.417969,0.578125), point31(0.497396,-0.00390625,0.494792), point31(0.575,-0.415625,0.170313), point31(0.558594,-0.491211,0.0136719), point31(0.490451,-0.560764,-0.292535), point31(0.434375,-0.5,-0.489063), }, |  | ||||||
|     {point31(-0.414062,-0.574219,0.414062), point31(-0.434375,-0.5,0.489063), point31(-0.489258,-0.560547,0.293945), }, |  | ||||||
|     }}; |     }}; | ||||||
|    |    | ||||||
|   struct hrmap_nil : hrmap { |   struct hrmap_nil : hrmap { | ||||||
| @@ -498,7 +484,7 @@ namespace nilv { | |||||||
|       auto p = coords[parent]; |       auto p = coords[parent]; | ||||||
|       auto q = p * movevectors[d]; |       auto q = p * movevectors[d]; | ||||||
|       auto child = get_at(q); |       auto child = get_at(q); | ||||||
|       parent->c.connect(d, child, (d + 11) % 22, false); |       parent->c.connect(d, child, (d + nilv_S7/2) % nilv_S7, false); | ||||||
|       return child; |       return child; | ||||||
|       } |       } | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Zeno Rogue
					Zeno Rogue