1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2024-11-23 21:07:17 +00:00

geometry improvements

This commit is contained in:
Zeno Rogue 2018-07-16 20:06:21 +02:00
parent 59ab37d509
commit 2b1d189074
2 changed files with 3 additions and 1 deletions

View File

@ -213,7 +213,7 @@ namespace hyperpoint_vec {
);
}
// inner product
// inner product (in R^3)
inline ld operator | (hyperpoint h1, hyperpoint h2) {
return h1[0] * h2[0] + h1[1] * h2[1] + h1[2] * h2[2];
}

View File

@ -403,11 +403,13 @@ transmatrix rpushxto0(const hyperpoint& H) {
// generalization: H[1] can be non-zero
transmatrix gpushxto0(const hyperpoint& H) {
if(euclid) return eupush(-H[0], -H[1]);
hyperpoint H2 = spintox(H) * H;
return rspintox(H) * pushxto0(H2) * spintox(H);
}
transmatrix rgpushxto0(const hyperpoint& H) {
if(euclid) return eupush(H[0], H[1]);
hyperpoint H2 = spintox(H) * H;
return rspintox(H) * rpushxto0(H2) * spintox(H);
}