Redondea el ángulo de un triángulo con un radio específico

Tengo tres puntos conocidos que definen un triángulo: A ( X a , y a ) , B ( X b , y b ) y C ( X C , y C ) .
¿Cómo redondeo el ángulo (ABC) de un radio específico? r ?

Sé que la pendiente de A B borde es: ( y a y b ) / ( X a X b ) .

Mi círculo con centro (desconocido) O : ( X o , y o ) tendrá una ecuación ( y a y o ) 2 + ( X a X o ) = r 2 .

El punto B también satisfará la ecuación del círculo.

Sabiendo las pendientes de las ecuaciones de línea de mi triángulo y que mi círculo tiene un radio de conocido r , tengo problemas para encontrar el centro de mi círculo y los puntos METRO , norte donde mi círculo se cruzará con los bordes del triángulo. Los puntos METRO , norte son también los puntos tangenciales de la circunferencia.

Después de trabajar un poco las matemáticas, parece que tengo demasiadas incógnitas para mi sistema.

Realmente apreciaria cualquier ayuda.

Atentamente

¿Cuál es el significado de "alrededor del ángulo"? ¿Quieres encontrar la ecuación del circuncírculo de este triángulo? En otras palabras, ¿quieres encontrar la ecuación del círculo que pasa por los tres puntos?
Creo que OP quiere un círculo que pase por puntos A y B (dado que la ecuación circular dada se satisface por A , y OP dice ese punto B lo satisfará también). Pero creo que OP quiere simplemente tener un círculo de radio. r pasando por estos dos puntos.
@JohnHughes Entonces, ¿por qué fue C incluso mencionado en la pregunta?
Porque no todos los interrogadores pueden abstraer un problema a la perfección. Mi mejor conjetura es que OP quiere que el "arco" esté del lado opuesto a C , y eso es lo que proporcioné en mi respuesta, pero solo OP lo sabe.

Respuestas (2)

La ecuación general de una circunferencia es:

X 2 + y 2 + 2 gramo X + 2 F y + C = 0

Y los tres puntos satisfarán esta ecuación.

Por eso :

X a 2 + y a 2 + 2 gramo X a + 2 F y a + C = 0
X b 2 + y b 2 + 2 gramo X b + 2 F y b + C = 0
X C 2 + y C 2 + 2 gramo X C + 2 F y C + C = 0

Tienes tres ecuaciones y tres incógnitas. F , gramo , C . Resuélvelos juntos para obtener los valores y sustitúyelos en la ecuación del círculo para obtener su ecuación.

Creo que lo que quieres es que pase un arco circular A B , que tiene radio r , y con el "golpe" del arco en el lado opuesto C .

Aquí hay una manera de hacer eso:

h = dist(A,B)/2   // compute half the distance from A to B
if (h < r) then ERROR // no radius-r circle can pass through
                      // points farther apart than 2r!
s = sqrt(r*r - h*h)   // Distance by which to offset circle
ux = Bx - Ax      // Ax denotes the x coord of point A
uy = By - Ay
w = sqrt(ux*ux + uy*uy)
ux = ux/w
uy = uy/w       // (ux, uy) is now a length-1 vector from A towards B

vx = Cx - Ax
vy = Cy - Ay
// Note that (-uy, ux) is a length 1 vector perpendicular to AB
// We check whether this points in the same halfspace as AC, 
// or the opposite one. 
dot = (-uy) * vx + ux * vy
if (dot > 0) then s = -s

Mx = (Ax + Bx)/2
My = (Ay + By)/2  // coordinates of midpoint of edge AB
Qx = Mx + s* (-uy)
Qy = My + s * ux  // Q is the center of the desired circle. 
                  // computed by offsetting the edge midpoint 
                  // by distance s along the vector (-uy, ux)