]> git.localhorst.tv Git - blobs.git/commitdiff
remove surface tilt
authorDaniel Karbach <daniel.karbach@localhorst.tv>
Mon, 18 Dec 2017 11:15:07 +0000 (12:15 +0100)
committerDaniel Karbach <daniel.karbach@localhorst.tv>
Mon, 18 Dec 2017 11:15:07 +0000 (12:15 +0100)
legacy from non-spherical bodies

src/blobs.cpp
src/world/Body.hpp
src/world/world.cpp

index 20725100d1d6cc176dae4afa4cc02f693ed1eb4b..475c3fac9c548494c209fd0b73164ed3e00bfe4d 100644 (file)
@@ -25,7 +25,7 @@ int main(int argc, char *argv[]) {
        sun.Radius(200.0);
        sun.Color(glm::dvec3(1.0));
        sun.Luminosity(1.0e8);
-       sun.SurfaceTilt(glm::dvec2(PI * 0.25, PI * 0.25));
+       sun.AxialTilt(glm::dvec2(PI * 0.25, PI * 0.25));
        sun.AngularMomentum(1.0e18);
 
        world::Planet planet(25);
@@ -33,7 +33,6 @@ int main(int argc, char *argv[]) {
        planet.SetParent(sun);
        planet.Mass(1.0e13);
        planet.GetOrbit().SemiMajorAxis(8184.0);
-       planet.SurfaceTilt(glm::dvec2(PI * 0.25, PI * 0.25));
        planet.AxialTilt(glm::dvec2(PI * 0.127, 0.0));
        planet.AngularMomentum(6.5e13);
 
@@ -50,7 +49,6 @@ int main(int argc, char *argv[]) {
        second_planet.SetParent(sun);
        second_planet.Mass(1.0e12);
        second_planet.GetOrbit().SemiMajorAxis(4350.0);
-       second_planet.SurfaceTilt(glm::dvec2(PI * 0.125, PI * 0.25));
        second_planet.AxialTilt(glm::dvec2(PI * 0.95, 0.0));
        second_planet.AngularMomentum(1.0e12);
 
index 6f85efd97b4946db46f224ef143e9b91ea1ec1b5..1e32e6d020a41d71392d4f7ce68865aba6d96aaf 100644 (file)
@@ -61,9 +61,6 @@ public:
        Orbit &GetOrbit() noexcept { return orbit; }
        const Orbit &GetOrbit() const noexcept { return orbit; }
 
-       const glm::dvec2 &SurfaceTilt() const noexcept { return surface_tilt; }
-       void SurfaceTilt(const glm::dvec2 &t) noexcept { surface_tilt = t; }
-
        const glm::dvec2 &AxialTilt() const noexcept { return axis_tilt; }
        void AxialTilt(const glm::dvec2 &t) noexcept { axis_tilt = t; }
 
@@ -123,7 +120,6 @@ private:
        double mass;
        double radius;
        Orbit orbit;
-       glm::dvec2 surface_tilt;
        glm::dvec2 axis_tilt;
        double rotation;
        double angular;
index 525222f284b77c9c6bc57cd3a40df77849be5fd8..596da072ed79ee211a88eef2188ea7adad2e6396 100644 (file)
@@ -42,7 +42,6 @@ Body::Body()
 , mass(1.0)
 , radius(1.0)
 , orbit()
-, surface_tilt(0.0, 0.0)
 , axis_tilt(0.0, 0.0)
 , rotation(0.0)
 , angular(0.0)
@@ -189,12 +188,8 @@ void Body::Cache() noexcept {
                orbital = glm::eulerAngleXY(axis_tilt.x, axis_tilt.y);
                inverse_orbital = glm::eulerAngleYX(-axis_tilt.y, -axis_tilt.x);
        }
-       local =
-               glm::eulerAngleY(rotation)
-               * glm::eulerAngleXY(surface_tilt.x, surface_tilt.y);
-       inverse_local =
-               glm::eulerAngleYX(-surface_tilt.y, -surface_tilt.x)
-               * glm::eulerAngleY(-rotation);
+       local = glm::eulerAngleY(rotation);
+       inverse_local = glm::eulerAngleY(-rotation);
 }
 
 void Body::CheckCollision() noexcept {
@@ -606,7 +601,7 @@ void GenerateEarthlike(const Set<TileType> &tiles, Planet &p) noexcept {
        constexpr double highland_thresh = 0.4;
        constexpr double mountain_thresh = 0.5;
 
-       const glm::dvec3 axis(glm::dvec4(0.0, 1.0, 0.0, 0.0) * glm::eulerAngleXY(p.SurfaceTilt().x, p.SurfaceTilt().y));
+       const glm::dvec3 axis(0.0, 1.0, 0.0);
        const double cap_thresh = std::abs(std::cos(p.AxialTilt().x));
        const double equ_thresh = std::abs(std::sin(p.AxialTilt().x)) / 2.0;
        const double fzone_start = equ_thresh - (equ_thresh - cap_thresh) / 3.0;