codecrafters-io / build-your-own-x

Master programming by recreating your favorite technologies from scratch.
https://codecrafters.io
302.57k stars 28.37k forks source link

getOriginalPointsFromPolygonPoints #1061

Closed charlesooo closed 3 months ago

charlesooo commented 3 months ago

Thank to ur SHIT docs, finally find out how to getOriginalPointsFromPolygonPoints after wasting a day, good bye.

function getOriginalPointsFromPolygonPoints(plg: Polygon): [x: number, y: number][] {
  const matrix = plg.calcTransformMatrix();
  return plg.points.map((pt) => {
    const x = pt.x - plg.pathOffset.x;
    const y = pt.y - plg.pathOffset.y;
    return [
      x * matrix[0] + y * matrix[2] + matrix[4],
      x * matrix[1] + y * matrix[3] + matrix[5],
    ];
  });
}