Tengo tres puntos conocidos que definen un triángulo:
y
.
¿Cómo redondeo el ángulo (ABC) de un radio específico?
?
Sé que la pendiente de borde es: .
Mi círculo con centro (desconocido) tendrá una ecuación .
El punto 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 , tengo problemas para encontrar el centro de mi círculo y los puntos donde mi círculo se cruzará con los bordes del triángulo. Los puntos 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
La ecuación general de una circunferencia es:
Y los tres puntos satisfarán esta ecuación.
Por eso :
Tienes tres ecuaciones y tres incógnitas. . 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 , que tiene radio , y con el "golpe" del arco en el lado opuesto .
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)
Vishnu VS
Juan Hughes
Vishnu VS
Juan Hughes