Professional Documents
Culture Documents
SEMESTRE: X (Decimo)
FECHA: Noviembre-06-2014
3. Hallar la ecuacin de la circunferencia que pasa por los puntos A (1, -2); B
(5, 4); R (10, 5)
Solucin
La ecuacin de la circunferencia se puede expresar de la siguiente forma:
x2 + y2 + Dx + Ey + F = 0
El problema al igual que en el anterior se reduce a encontrar valores para D, E y F
tales que la ecuacin se satisfaga por las coordenadas de cada uno de los puntos
dados. Por tanto sustituimos las variables x, y en las coordenadas de estos
puntos, dndonos el sistema de tres ecuaciones con tres variables:
1 + 4 + D - 2E + F = 0
25 + 16 + 5D + 4E + F = 0
100 + 25 + 10D + 5E + F = 0
La solucin de este sistema est dado por:
D = - 18
E = 6; F = 25
Por tanto la ecuacin buscada es:
x2 + y2 - 18x + 6y + 25 = 0.
De manera alternativa, este problema se resuelve aplicando la propiedad que las
bisectrices perpendiculares de dos cuerdas no paralelas de una circunferencia se
intersecan en el centro.
As, las ecuaciones de las mediatrices perpendiculares de AB y RC, tal como se
muestran en la figura:
Son: 2x + 3y = 9
5x + y = 42
= 2 mCP * mT
(x - 2) x + 2y - 8 = 0
al utilizar clculos
//Donde 2x k+1 = 2x k + 2
2y k+1 = 2y k - 2
*Se determinan los puntos de simetra para los otros siete octantes.
*Se mueve cada posicin del pixel calculada (x,y) a la trayectoria circular centrada
en (xc , yc)
Y trazamos los valores de las coordenadas: x = x + xc
Fin Para
Codigo en Java seria
void CircleMidPoint(Graphics g, int xc, int yc, int r){
int x, y, p;
x = 0;
y = r;
p = 1 - r;
PlotPoint(g,xc,yc,x,y);
/* se cicla hasta trazar todo un octante */
while (x < y){
x = x + 1;
if (p < 0)
p = p + 2*x + 1;
else {
y = y - 1;
p = p + 2*(x - y) + 1;
}
PlotPoint(g,xc,yc,x,y);
}}
y = y + yc.
*Se determinan los puntos de simetra para los otros tres cuadrantes.
*Se mueve cada posicin del pixel calculada (x,y) a la trayectoria elptica centrada
en (xc , yc)
Y trazamos los valores de las coordenadas: x = x + xc y x = x + xc.
*Se repiten los pasos de la regin 1 hasta que 2ry 2x0 >= 2rx 2y0
p = p + ry2 + px;
else {
y = y - 1;
py = py - tworx2;
p = p + ry2 + px - py;
}
PlotPoint(x,y);
}
/* regin 2 */
p = (int)Math.round(ry2*(x+0.5)*(x+0.5) + rx2*(y-1)*(y-1) - rx2*ry2);
px = 0;
py = tworx2*y;
while (y > 0) { /* se cicla hasta trazar la regin 2 */
y = y - 1;
py = py - tworx2;
if (p > 0)
p = p + rx2 - py;
else {
x = x + 1;
px = px + twory2;
p = p + rx2 + py + px;
}
PlotPoint(x,y);
}
}