mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2024-11-23 13:07:16 +00:00
fake on bitruncated tiling now works correctly
This commit is contained in:
parent
cf4912a895
commit
aae1be2191
2
fake.cpp
2
fake.cpp
@ -571,6 +571,8 @@ EX ld around_orig() {
|
|||||||
return arcm::current.N;
|
return arcm::current.N;
|
||||||
#endif
|
#endif
|
||||||
if(hat::in()) return 6;
|
if(hat::in()) return 6;
|
||||||
|
if(WDIM == 2 && BITRUNCATED)
|
||||||
|
return 3;
|
||||||
if(WDIM == 2)
|
if(WDIM == 2)
|
||||||
return S3;
|
return S3;
|
||||||
if(underlying == gRhombic3)
|
if(underlying == gRhombic3)
|
||||||
|
21
geometry.cpp
21
geometry.cpp
@ -693,6 +693,27 @@ void geometry_information::prepare_basics() {
|
|||||||
hexhexdist = fake::in() ?
|
hexhexdist = fake::in() ?
|
||||||
2 * hdist0(mid(xspinpush0(M_PI/S6, hexvdist), xspinpush0(-M_PI/S6, hexvdist)))
|
2 * hdist0(mid(xspinpush0(M_PI/S6, hexvdist), xspinpush0(-M_PI/S6, hexvdist)))
|
||||||
: hdist(xpush0(crossf), xspinpush0(TAU/S7, crossf));
|
: hdist(xpush0(crossf), xspinpush0(TAU/S7, crossf));
|
||||||
|
|
||||||
|
if(fake::in() && BITRUNCATED) {
|
||||||
|
vector<pair<ld, ld>> vals;
|
||||||
|
vals.emplace_back(S7, fake::around / 3);
|
||||||
|
vals.emplace_back(S3*2, fake::around * 2 / 3);
|
||||||
|
ld edgelength = euclid ? 1 : arcm::compute_edgelength(vals);
|
||||||
|
|
||||||
|
// circumradius and inradius, for S7 and S6 shapes
|
||||||
|
auto c7 = asin_auto(sin_auto(edgelength/2) / sin(M_PI / S7));
|
||||||
|
auto c6 = asin_auto(sin_auto(edgelength/2) / sin(M_PI / S6));
|
||||||
|
auto i7 = hdist0(mid(xpush0(c7), cspin(0, 1, 2*M_PI/S7) * xpush0(c7)));
|
||||||
|
auto i6 = hdist0(mid(xpush0(c6), cspin(0, 1, 2*M_PI/S6) * xpush0(c6)));
|
||||||
|
|
||||||
|
tessf = tessf; // undefined
|
||||||
|
crossf = i7 + i6;
|
||||||
|
hexf = c7;
|
||||||
|
hcrossf = hcrossf; // undefined: distance from heptagon center to big heptagon vertex
|
||||||
|
hexhexdist = i6 + i6;
|
||||||
|
hexvdist = c6;
|
||||||
|
rhexf = c6;
|
||||||
|
}
|
||||||
|
|
||||||
DEBB(DF_GEOM | DF_POLY,
|
DEBB(DF_GEOM | DF_POLY,
|
||||||
(hr::format("S7=%d S6=%d hexf = " LDF" hcross = " LDF" tessf = " LDF" hexshift = " LDF " hexhex = " LDF " hexv = " LDF "\n", S7, S6, hexf, hcrossf, tessf, hexshift,
|
(hr::format("S7=%d S6=%d hexf = " LDF" hcross = " LDF" tessf = " LDF" hexshift = " LDF " hexhex = " LDF " hexv = " LDF "\n", S7, S6, hexf, hcrossf, tessf, hexshift,
|
||||||
|
Loading…
Reference in New Issue
Block a user