Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

201
Visualizações
¿Cómo escalar un polígono sin traducir el polígono dada una lista de coordenadas en javascript?

Tengo una matriz de coordenadas [x1,y1, x2, y2 ....] que representa un polígono en un lienzo html. Estoy dibujando el polígono usando KonvaJS. Estoy tratando de recuperar las coordenadas escaladas del polígono donde [x1, y1, x2, y2 ...] son las coordenadas escaladas.

He probado lo siguiente:

  1. Usando JSTS https://github.com/bjornharrtell/jsts para agregar un búfer a las coordenadas. Seguí este fragmento http://jsfiddle.net/qdv1n4yL/7/ e intenté integrarlo en mi aplicación react/typescript y creé el fragmento como se muestra a continuación función vectorCoordinates2JTS (polígono) { var coordenadas: cualquier = [];

     for (var i = 0; i < polygon.length; i++) { coordinates.push(new Coordinate(polygon[i].x, polygon[i].y)); } return coordinates; } function inflatePolygon(poly, spacing) { var geoInput = vectorCoordinates2JTS(poly); geoInput.push(geoInput[0]); var geometryFactory = new GeometryFactory(); var shell = geometryFactory.createPolygon(geoInput); var polygon = new BufferOp(poly); console.log(polygon.getResultGeometry()) var inflatedCoordinates: any = []; var oCoordinates; oCoordinates = polygon.shell.points.coordinates; console.log(oCoordinates.length) for (let i = 0; i < oCoordinates.length; i++) { var oItem; oItem = oCoordinates[i]; inflatedCoordinates.push(Math.ceil(oItem.x), Math.ceil(oItem.y)); } return inflatedCoordinates; }

Aquí estoy pasando poly como [{x: 1, y:1}, {x:2, y:2}] y espaciado como 1.5. Se rompe en esta línea aquí polygon.getResultGeometry() con un error.

  1. También intenté usar esta biblioteca para obtener las coordenadas transformadas http://turfjs.org/docs/#transformScale pero me devuelve un montón de coordenadas que parece que no puedo usar y obtengo mi resultado final como una simple lista de coordenadas escaladas.

Mis requisitos generales para resolver este problema son que el polígono debe tener un amortiguador alrededor del polígono original que pueda usarse para detectar colisiones. Pude hacer funcionar la detección de colisión entre el polígono y un punto, pero me quedé atascado agregando la escala/búfer durante los últimos días. Cualquier ayuda o pregunta de seguimiento a este problema es muy apreciada. ¡Gracias!

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda