summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/Canvas.cpp2
-rw-r--r--src/fdgl.hpp6
2 files changed, 5 insertions, 3 deletions
diff --git a/src/Canvas.cpp b/src/Canvas.cpp
index b1d8900..abf809f 100644
--- a/src/Canvas.cpp
+++ b/src/Canvas.cpp
@@ -768,7 +768,7 @@ GanvCanvasImpl::layout_calculate(double dur, bool update)
static const double SPRING_K = 48.0;
// A light directional force to push sources to the top left
- static const double DIR_MAGNITUDE = -2000.0;
+ static const double DIR_MAGNITUDE = -2200.0;
Vector dir = { 0.0, 0.0 };
switch (_gcanvas->direction) {
case GANV_DIRECTION_RIGHT: dir.x = DIR_MAGNITUDE; break;
diff --git a/src/fdgl.hpp b/src/fdgl.hpp
index 704eb4f..83d9981 100644
--- a/src/fdgl.hpp
+++ b/src/fdgl.hpp
@@ -16,7 +16,7 @@
#include <float.h>
#include <math.h>
-static const double CHARGE_KE = 100000000.0;
+static const double CHARGE_KE = 200000000.0;
struct Region {
Vector pos;
@@ -109,5 +109,7 @@ repel_force(const Region& a, const Region& b)
const double mag = vec_mag(vec);
const Vector force = vec_mult(
vec, (CHARGE_KE * 0.5 / (mag * mag * mag * mag * mag)));
- return vec_mult(force, vec_mult(a.area, b.area));
+ const Vector dforce = { force.x * (a.area.x * b.area.x),
+ force.y * (a.area.y * b.area.y) };
+ return dforce;
}