#1295 Drawing edges between nodes

This commit is contained in:
Knut Sveidqvist
2020-03-11 17:36:30 +01:00
parent aa32d454c9
commit 1b64af143e
9 changed files with 54 additions and 88 deletions

View File

@@ -1,5 +1,3 @@
module.exports = intersectEllipse;
function intersectEllipse(node, rx, ry, point) {
// Formulae from: http://mathworld.wolfram.com/Ellipse-LineIntersection.html
@@ -11,15 +9,16 @@ function intersectEllipse(node, rx, ry, point) {
var det = Math.sqrt(rx * rx * py * py + ry * ry * px * px);
var dx = Math.abs(rx * ry * px / det);
var dx = Math.abs((rx * ry * px) / det);
if (point.x < cx) {
dx = -dx;
}
var dy = Math.abs(rx * ry * py / det);
var dy = Math.abs((rx * ry * py) / det);
if (point.y < cy) {
dy = -dy;
}
return {x: cx + dx, y: cy + dy};
return { x: cx + dx, y: cy + dy };
}
export default intersectEllipse;