refactor(NetworkMapUnifi): adjust stub length and base offset calculations for smoother edge rendering
Publish Fast Tabler Docker image / build-and-push-fast (push) Successful in 1m56s
Publish Fast Tabler Docker image / build-and-push-fast (push) Successful in 1m56s
This commit is contained in:
@@ -217,7 +217,10 @@ export default function NetworkMapUnifi({ servers = [], connections = [], pingMa
|
|||||||
const len = Math.hypot(ddx, ddy) || 1;
|
const len = Math.hypot(ddx, ddy) || 1;
|
||||||
const ux = ddx / len;
|
const ux = ddx / len;
|
||||||
const uy = ddy / len;
|
const uy = ddy / len;
|
||||||
const stub = 22; // длина прямого участка перед узлами
|
|
||||||
|
// Длина прямого участка и величина изгиба зависят от расстояния между узлами,
|
||||||
|
// чтобы при маленьких расстояниях не было «ломаных» и самопересечений.
|
||||||
|
const stub = Math.min(22, len / 3);
|
||||||
|
|
||||||
// Точки начала/конца дуги (после прямых участков)
|
// Точки начала/конца дуги (после прямых участков)
|
||||||
const csx = sx + ux * stub;
|
const csx = sx + ux * stub;
|
||||||
@@ -227,7 +230,7 @@ export default function NetworkMapUnifi({ servers = [], connections = [], pingMa
|
|||||||
|
|
||||||
const mx = (csx + cex) / 2;
|
const mx = (csx + cex) / 2;
|
||||||
const my = (csy + cey) / 2;
|
const my = (csy + cey) / 2;
|
||||||
const baseOffset = 40;
|
const baseOffset = Math.min(40, len / 2);
|
||||||
const perpX = (-ddy / len) * baseOffset;
|
const perpX = (-ddy / len) * baseOffset;
|
||||||
const perpY = (ddx / len) * baseOffset;
|
const perpY = (ddx / len) * baseOffset;
|
||||||
const cpx = mx + perpX;
|
const cpx = mx + perpX;
|
||||||
|
|||||||
Reference in New Issue
Block a user