mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2024-12-02 16:29:54 +00:00
display the fundamental domain in the Euclidean torus setting
This commit is contained in:
parent
999eec6650
commit
e01411f98f
25
euclid.cpp
25
euclid.cpp
@ -623,6 +623,29 @@ EX namespace euclid3 {
|
|||||||
twisted_edit = twisted0;
|
twisted_edit = twisted0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EX void show_fundamental() {
|
||||||
|
initquickqueue();
|
||||||
|
transmatrix M = ggmatrix(cwt.at);
|
||||||
|
hyperpoint h0 = M*C0;
|
||||||
|
hyperpoint ha = M*(eumove(ascoord(T_edit[0])) * C0 - C0) / 2;
|
||||||
|
hyperpoint hb = M*(eumove(ascoord(T_edit[1])) * C0 - C0) / 2;
|
||||||
|
if(WDIM == 3) {
|
||||||
|
hyperpoint hc = M*(eumove(ascoord(T_edit[2])) * C0 - C0) / 2;
|
||||||
|
for(int d:{-1,1}) for(int e:{-1,1}) {
|
||||||
|
queueline(h0+d*ha+e*hb-hc, h0+d*ha+e*hb+hc, 0xFFFFFFFF);
|
||||||
|
queueline(h0+d*hb+e*hc-ha, h0+d*hb+e*hc+ha, 0xFFFFFFFF);
|
||||||
|
queueline(h0+d*hc+e*ha-hb, h0+d*hc+e*ha+hb, 0xFFFFFFFF);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
queueline(h0+ha+hb, h0+ha-hb, 0xFFFFFFFF);
|
||||||
|
queueline(h0-ha+hb, h0-ha-hb, 0xFFFFFFFF);
|
||||||
|
queueline(h0+ha+hb, h0-ha+hb, 0xFFFFFFFF);
|
||||||
|
queueline(h0+ha-hb, h0-ha-hb, 0xFFFFFFFF);
|
||||||
|
}
|
||||||
|
quickqueue();
|
||||||
|
}
|
||||||
|
|
||||||
EX void show_torus3() {
|
EX void show_torus3() {
|
||||||
int dim = WDIM;
|
int dim = WDIM;
|
||||||
cmode = sm::SIDE | sm::MAYDARK | sm::TORUSCONFIG;
|
cmode = sm::SIDE | sm::MAYDARK | sm::TORUSCONFIG;
|
||||||
@ -637,6 +660,7 @@ EX namespace euclid3 {
|
|||||||
|
|
||||||
dialog::addBreak(50);
|
dialog::addBreak(50);
|
||||||
|
|
||||||
|
show_fundamental();
|
||||||
if(dim == 3) {
|
if(dim == 3) {
|
||||||
bool nondiag = false;
|
bool nondiag = false;
|
||||||
for(int i=0; i<dim; i++)
|
for(int i=0; i<dim; i++)
|
||||||
@ -727,6 +751,7 @@ EX namespace euclid3 {
|
|||||||
"not implemented.)"
|
"not implemented.)"
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
dialog::extra_options = show_fundamental;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user