refactored the degree constant

This commit is contained in:
Zeno Rogue 2018-11-08 18:18:25 +01:00
parent 071e9a5cac
commit d1d2a300c4
12 changed files with 25 additions and 23 deletions

View File

@ -158,7 +158,7 @@ bool cameraangle_on;
void setcameraangle(bool b) {
if(cameraangle_on != b) {
cameraangle_on = b;
ld cam = vid.camera_angle * M_PI / 180;
ld cam = vid.camera_angle * degree;
GLfloat cc = cos(cam);
GLfloat ss = sin(cam * (b?1:-1));

View File

@ -1071,7 +1071,7 @@ string explain3D(ld *param) {
"the center of your vision and a faraway location is 1/cosh(c) = %4).",
fts3(camera),
fts3(depth),
fts3(atan(1/cosh(camera))*2*180/M_PI),
fts3(atan(1/cosh(camera))*2/degree),
fts3(1/cosh(camera)));
if(param == &depth)
return

View File

@ -374,7 +374,7 @@ namespace conformal {
hyperpoint next = calc_relative_matrix(v[ph+1]->base, v[ph]->base, C0) *
v[ph+1]->at * C0;
View = spin(M_PI/180 * rotation) * xpush(-(phase-ph) * hdist(now, next)) * View;
View = spin(rotation * degree) * xpush(-(phase-ph) * hdist(now, next)) * View;
playermoved = false;
centerover.at = v[ph]->base;
compute_graphical_distance();
@ -394,10 +394,10 @@ namespace conformal {
}
void configure() {
ld ball = -vid.ballangle * M_PI / 180;
ld ball = -vid.ballangle * degree;
cos_ball = cos(ball), sin_ball = sin(ball);
ocos = cos(model_orientation * M_PI / 180);
osin = sin(model_orientation * M_PI / 180);
ocos = cos(model_orientation * degree);
osin = sin(model_orientation * degree);
model_straight = (ocos > 1 - 1e-9);
if(conformal::on) conformal::apply();
}
@ -741,7 +741,7 @@ namespace conformal {
// cos(phi) * cos(phi) = 1/K
if(sphere && vid.stretch >= 1) {
ld phi = acos(sqrt(1/vid.stretch));
dialog::addInfo(XLAT("The current value makes the map conformal at the latitude of %1 (%2°).", fts(phi), fts(phi * 180 / M_PI)));
dialog::addInfo(XLAT("The current value makes the map conformal at the latitude of %1 (%2°).", fts(phi), fts(phi / degree)));
}
else if(hyperbolic && abs(vid.stretch) <= 1 && abs(vid.stretch) >= 1e-9) {
ld phi = acosh(abs(sqrt(1/vid.stretch)));

View File

@ -4891,7 +4891,7 @@ void drawcell(cell *c, transmatrix V, int spinv, bool mirrored) {
downspin = atan2(VC0[1], VC0[0]);
downspin -= M_PI/2;
if(rev) downspin += M_PI;
downspin += M_PI/180 * conformal::rotation;
downspin += conformal::rotation * degree;
while(downspin < -M_PI) downspin += 2*M_PI;
while(downspin > +M_PI) downspin -= 2*M_PI;
downspin = downspin * min(spd, (double)1);
@ -5487,7 +5487,7 @@ void calcparam() {
vid.xcenter += vid.scrsize * vid.xposition;
vid.ycenter += vid.scrsize * vid.yposition;
stereo::tanfov = tan(stereo::fov * M_PI / 360);
stereo::tanfov = tan(stereo::fov * degree / 2);
if(pmodel)
stereo::scrdist = vid.xres / 2 / stereo::tanfov;

View File

@ -4326,5 +4326,7 @@ dqi_poly& queuecurve(color_t linecol, color_t fillcol, PPR prio);
bool haveaura();
string parser_help();
static const ld degree = M_PI / 180;
}

View File

@ -158,9 +158,9 @@ transmatrix getOrientation() {
beta = EM_ASM_DOUBLE({ return rotation_beta; });
gamma = EM_ASM_DOUBLE({ return rotation_gamma; });
return
rotmatrix(alpha * M_PI / 180, 0, 1) *
rotmatrix(beta * M_PI / 180, 1, 2) *
rotmatrix(gamma * M_PI / 180, 0, 2);
rotmatrix(alpha * degree, 0, 1) *
rotmatrix(beta * degree, 1, 2) *
rotmatrix(gamma * degree, 0, 2);
}
#endif

View File

@ -13,7 +13,7 @@ void ghcheck(hyperpoint &ret, const hyperpoint &H) {
}
void camrotate(ld& hx, ld& hy) {
ld cam = vid.camera_angle * M_PI / 180;
ld cam = vid.camera_angle * degree;
GLfloat cc = cos(cam);
GLfloat ss = sin(cam);
ld ux = hx, uy = hy * cc + ss, uz = cc - ss * hy;
@ -221,7 +221,7 @@ void make_twopoint(ld& x, ld& y) {
hyperpoint mobius(hyperpoint h, ld angle, ld scale = 1) {
using namespace hyperpoint_vec;
h = perspective_to_space(h * scale, 1, gcSphere);
h = rotmatrix(angle * M_PI / 180, 1, 2) * h;
h = rotmatrix(angle * degree, 1, 2) * h;
return space_to_perspective(h, 1) / scale;
}
@ -253,7 +253,7 @@ void applymodel(hyperpoint H, hyperpoint& ret) {
else {
ld tx = H[0];
ld ty = H[1];
ld cam = vid.camera_angle * M_PI / 180;
ld cam = vid.camera_angle * degree;
GLfloat cc = cos(cam);
GLfloat ss = sin(cam);
ld ux = tx, uy = ty * cc - ss * tz, uz = tz * cc + ss * ty;
@ -1134,7 +1134,7 @@ void circle_around_center(ld radius, color_t linecol, color_t fillcol, PPR prio)
queuecircle(vid.xcenter, vid.ycenter, r * vid.radius, linecol, prio, fillcol);
return;
}
for(int i=0; i<360; i++) curvepoint(xspinpush0(i * 2 * M_PI / 360, 10));
for(int i=0; i<=360; i++) curvepoint(xspinpush0(i * degree, 10));
auto& c = queuecurve(linecol, fillcol, prio);
if(pmodel == mdDisk && hyperbolic && vid.alpha <= -1)
c.flags |= POLY_FORCE_INVERTED;
@ -1148,7 +1148,7 @@ void draw_model_elements() {
circle_around_center(M_PI/2, ringcolor, 0, PPR::CIRCLE);
if(pmodel == mdTwoPoint) {
ld a = -conformal::model_orientation * M_PI / 180;
ld a = -conformal::model_orientation * degree;
queuechr(xspinpush0(a, +vid.twopoint_param), vid.xres / 100, 'X', ringcolor >> 8);
queuechr(xspinpush0(a, -vid.twopoint_param), vid.xres / 100, 'X', ringcolor >> 8);
}

View File

@ -993,7 +993,7 @@ namespace mapeditor {
// at H1: (rh2 - a1 - M_PI)
// at H2: (a2+M_PI - rh1)
// total: rh2 - rh1
// ld z = 180 / M_PI;
// ld z = degree;
ld x = b2 - b1 + M_PI;
while(x > M_PI) x -= 2 * M_PI;
while(x < -M_PI) x += 2 * M_PI;
@ -1145,7 +1145,7 @@ namespace mapeditor {
displayfr(vid.xres-8, vid.yres-8-fs*5, 2, vid.fsize, XLAT("y: %1", fts4(mh[1])), 0xC0C0C0, 16);
displayfr(vid.xres-8, vid.yres-8-fs*4, 2, vid.fsize, XLAT("z: %1", fts4(mh[2])), 0xC0C0C0, 16);
displayfr(vid.xres-8, vid.yres-8-fs*2, 2, vid.fsize, XLAT("r: %1", fts4(hdist0(mh))), 0xC0C0C0, 16);
displayfr(vid.xres-8, vid.yres-8-fs, 2, vid.fsize, XLAT("ϕ: %1°", fts4(-atan2(mh[1], mh[0]) * 360 / 2 / M_PI)), 0xC0C0C0, 16);
displayfr(vid.xres-8, vid.yres-8-fs, 2, vid.fsize, XLAT("ϕ: %1°", fts4(-atan2(mh[1], mh[0]) / degree)), 0xC0C0C0, 16);
}
if(us) {

View File

@ -1050,7 +1050,7 @@ void dqi_poly::draw() {
// we should fill the other side
ld h = atan2(glcoords[0][0], glcoords[0][1]);
for(int i=0; i<=360; i++) {
ld a = i * M_PI / 180 + h;
ld a = i * degree + h;
glcoords.push_back(make_array<GLfloat>(vid.radius * sin(a), vid.radius * vid.stretch * cos(a), stereo::scrdist));
}
poly_flags ^= POLY_INVERSE;

View File

@ -170,7 +170,7 @@ void run_snub(int v, int w) {
hyperpoint f1 = facingdir(hts);
ld scalar = (f|f1);
ld alpha = (M_PI - acos(scalar)) * 180 / M_PI;
ld alpha = (M_PI - acos(scalar)) / degree;
sideangles.emplace_back(alpha, T);
}
}

View File

@ -164,7 +164,7 @@ void run_snub(int v, int w) {
hyperpoint f1 = facingdir(hts);
ld scalar = (f|f1);
ld alpha = (M_PI - acos(scalar)) * 180 / M_PI;
ld alpha = (M_PI - acos(scalar)) / degree;
sideangles.emplace_back(alpha, T);
}
}

View File

@ -356,7 +356,7 @@ namespace anygraph {
coords.push_back(make_pair(r, alpha));
if(err < 2) { printf("Error: incorrect format of r/alpha\n"); exit(1); }
transmatrix h = spin(alpha * 2 * M_PI / 360) * xpush(r);
transmatrix h = spin(alpha * degree) * xpush(r);
createViz(id, currentmap->gamestart(), h);
}