Cómo detectar si el siguiente cuerpo de cierta longitud y altura que gira en un punto de anclaje toca una posición particular

Si te entiendo correctamente, has girado un rectángulo en un punto y buscas determinar si el rectángulo barre a través del punto si gira a lo largo de su pivote.

Se puede hacer fácilmente, pero la fórmula exacta que puede conectar a su programa variará dependiendo de la posición de su pivote, en relación con el rectángulo. Así es como debes proceder para determinarlo.

Puede ver su rectángulo giratorio como un conjunto de puntos que giran alrededor de otro punto (su pivote), como formando muchos círculos concurrentes alrededor del pivote. Ahora, dado que todos los círculos son concurrentes y hay puntos infinitos, puede suponer que si un punto (X, Y) se encuentra dentro de cualquier círculo sin duda será tocado al menos por un punto (en realidad más si el rectángulo tiene algún ancho) en el punto rectángulo. De esta manera, su problema se reduce a encontrar el círculo más grande que va a barrer el rectángulo.

Si observa un poco, notará que para cualquier punto de pivote en el rectángulo, ningún punto que no sea uno (o más, si el pivote es simétrico) tendrá una distancia máxima desde el pivote. La distancia máxima es lo mismo que decir que formará un círculo de radio máximo, por lo tanto, barre el área máxima. Después de esto, todo lo que tendrá que hacer es determinar si el vértice está a una distancia máxima, ya sea calculando la distancia real entre el pivote y todos los vértices, o usando un conjunto de if..else (si está programando) para determinar qué lado de la línea de simetría se encuentra el pivote, el vértice más alejado estaría en el otro lado.

Una vez que tenga el vértice más alejado, encuentre su distancia, forme la fórmula basada en coordenadas de pivote y radio. Verifique su punto con la fórmula para determinar si su punto se encuentra dentro o fuera del círculo.

el punto se encuentra dentro del círculo ==> se toca el punto.
el punto se encuentra fuera del círculo ==> el punto no se toca.

More Interesting

¿Cómo saber si un conjunto es regular o no?

¿Cómo se programan las computadoras para resolver problemas matemáticos?

¿Por qué este programa da '0' como salida?

Suponiendo que uno tenga una experiencia limitada en programación, matemáticas y neurociencia, ¿cómo se ingresa a un programa de posgrado para inteligencia artificial o neurociencia computacional?

¿Es el principio de equivalencia computacional de Stephen Wolfram simplemente una extensión de la tesis de Church-Turing y la máquina universal de Turing de Turing?

¿Qué es una explicación intuitiva del teorema de Rice?

¿Por qué la mayoría de los lenguajes de programación prohíben las "desigualdades sandwich"? En matemáticas, es común ver 'desigualdades en emparedado' que muestran que una cantidad es mayor que otra pero menor que otra, por ejemplo, a <b <c significa lo mismo que a <b && b <c.

¿Qué son los métodos flexibles de aprendizaje estadístico?

¿Podemos obtener una función continua si la variable de entrada es discreta?

¿Qué es un algoritmo eficiente para encontrar los primeros cinco números primos de diez dígitos?

Si g (x) es una función unidireccional débil, ¿es f (x) = x (exclusivo o) g (x) una función unidireccional? Si es así, ¿puede ser fuerte?

¿Puede un niño menor de 14 años que es malo en matemáticas aprender a programar juegos?

¿Qué tiene de malo este algoritmo 3SAT?

¿Cómo garantiza la computadora la uniformidad al generar un número aleatorio distribuido uniformemente?

Cómo lidiar con la frustración de no poder resolver una pregunta sobre matemáticas o ciencias de la computación en sitios web de programación competitivos