import React, { useState } from 'react'; const SystemVisualizerWidget: React.FC = () => { // Line 1: y = m1x + b1 const [m1, setM1] = useState(1); const [b1, setB1] = useState(2); // Line 2: y = m2x + b2 const [m2, setM2] = useState(-1); const [b2, setB2] = useState(6); // Visualization params const range = 10; const scale = 20; const size = 300; const center = size / 2; const toPx = (v: number, isY = false) => { return isY ? center - v * scale : center + v * scale; }; // Logic let intersectX = 0; let intersectY = 0; let solutionType = 'one'; // 'one', 'none', 'inf' if (m1 === m2) { if (b1 === b2) solutionType = 'inf'; else solutionType = 'none'; } else { intersectX = (b2 - b1) / (m1 - m2); intersectY = m1 * intersectX + b1; } const getLinePath = (m: number, b: number) => { const x1 = -range; const y1 = m * x1 + b; const x2 = range; const y2 = m * x2 + b; return `M ${toPx(x1)} ${toPx(y1, true)} L ${toPx(x2)} ${toPx(y2, true)}`; }; return (