es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Encuentre las coordenadas de la caja delimitadora para una forma geométrica.

Tengo un archivo JSON que contiene información geométrica sobre el boceto. El archivo está en el siguiente formato:

  • “Name”: Nombre de la entidad geométrica.
  • “Type”: Tipo de entidad, ya sea una línea o un arco (un círculo se representa como un arco y un rectángulo como un conjunto de 4 diccionarios de tipo línea).

Si la entidad es de tipo línea, entonces el diccionario contendrá las coordenadas de los puntos de inicio y fin de la línea.

Si es de tipo arco, entonces el diccionario contendrá el radio, las coordenadas del centro y los puntos de inicio y fin del arco.

Aquí hay un ejemplo de cada tipo:

Tipo == Línea

"Name": "Line8",
"Type": "Line",
"Start Point": [
    0.0,
    -13.694950218796503,
    127.7623417068559
],
"End Point": [
    0.0,
    -12.800696621739458,
    121.82935674950514
],
"Length": 5.999999999999998

Tipo == Arco

"Name": "Arc4",
"Type": "Arc",
"CentrePoint": [
    0.0,
    0.0,
    0.0
],
"Radius": 137.0,
"RotationAngle": 0.0,
"StartAngle": 1.5474413367198918,
"EndAngle": 1.5941513168699013,
"Circumference": 6.399267280551308

Un archivo JSON contendrá múltiples de estos diccionarios para múltiples entidades geométricas que forman un boceto geométrico.

Quiero crear una caja delimitadora alrededor de ese boceto y necesito sus coordenadas.

Mi enfoque inicial fue tomar simplemente los valores mínimos y máximos de las coordenadas x, y y z de estos diccionarios para definir una caja delimitadora. Pero al hacer esto, podría perder las curvas de los arcos, ya que solo tengo información sobre el centro del arco y no los puntos del arco.

¿Cómo debería obtener las coordenadas de la caja delimitadora dados este archivo JSON?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Como experto en TI, especializado en JSON, Matemáticas, Geometría y Bounding-box, mi enfoque para obtener las coordenadas del bounding box sería considerar los siguientes pasos:

    1. Iterar a través del archivo JSON y obtener todas las entidades de línea y arco del archivo.
    2. Para cada línea, encontrar los valores mínimos y máximos de las coordenadas x, y y z de los puntos de inicio y fin.
    3. Para cada arco, calcular los puntos en el arco utilizando el punto central, el radio, los ángulos de inicio y fin. Luego, encontrar los valores mínimos y máximos de las coordenadas x, y y z de todos los puntos en el arco.
    4. Después de obtener los valores mínimos y máximos de todas las entidades, calcular las coordenadas del bounding box utilizando estos valores.

    Al considerar los puntos en el arco, podemos obtener los límites exactos del boceto, incluyendo las curvas de los arcos.

Comments are closed.