diff --git a/packages/element/src/linearElementEditor.ts b/packages/element/src/linearElementEditor.ts index 80541b2ce..2acb77a2a 100644 --- a/packages/element/src/linearElementEditor.ts +++ b/packages/element/src/linearElementEditor.ts @@ -298,9 +298,9 @@ export class LinearElementEditor { element.points[selectedIndex === 0 ? 1 : selectedIndex - 1]; customLineAngle = linearElementEditor.customLineAngle ?? - Math.atan( - (element.points[selectedIndex][1] - referencePoint[1]) / - (element.points[selectedIndex][0] - referencePoint[0]), + Math.atan2( + element.points[selectedIndex][1] - referencePoint[1], + element.points[selectedIndex][0] - referencePoint[0], ); const [width, height] = LinearElementEditor._getShiftLockedDelta( diff --git a/packages/element/src/sizeHelpers.ts b/packages/element/src/sizeHelpers.ts index 0bb7d0456..a1d7f6811 100644 --- a/packages/element/src/sizeHelpers.ts +++ b/packages/element/src/sizeHelpers.ts @@ -145,7 +145,7 @@ export const getLockedLinearCursorAlignSize = ( let width = x - originX; let height = y - originY; - const angle = Math.atan(height / width) as Radians; + const angle = Math.atan2(height, width) as Radians; let lockedAngle = (Math.round(angle / SHIFT_LOCKING_ANGLE) * SHIFT_LOCKING_ANGLE) as Radians;