mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2026-01-21 10:29:44 +00:00
improvements in the two-point model on the sphere
This commit is contained in:
@@ -66,6 +66,15 @@ ld asin_auto(ld x) {
|
||||
}
|
||||
}
|
||||
|
||||
ld asin_auto_clamp(ld x) {
|
||||
switch(cgclass) {
|
||||
case gcEuclid: return x;
|
||||
case gcHyperbolic: return asinh(x);
|
||||
case gcSphere: return x>1 ? M_PI/2 : x<-1 ? -M_PI/2 : isnan(x) ? 0 : asin(x);
|
||||
default: return x;
|
||||
}
|
||||
}
|
||||
|
||||
ld cos_auto(ld x) {
|
||||
switch(cgclass) {
|
||||
case gcEuclid: return 1;
|
||||
|
||||
Reference in New Issue
Block a user