Saltar al contenido

Haz un triángulo a partir de un triángulo órtico

Hola usuario de nuestra web, hemos encontrado la solución a lo que andabas buscando, continúa leyendo y la hallarás más abajo.

Solución:

Solo por diversión: solo usando el calc Biblioteca. Solo se necesita la ley del coseno. Necesitas especificar los tres lados sD, sE y sF.

documentclass[tikz,border=3mm]standalone
usetikzlibrarycalc
begindocument
begintikzpicture[declare function=cosinelaw(a,b,c)=acos((a*a+b*b-c*c)/(2*a*b));
    sD=4.29;sE=6.25;sF=3.50;,
    pics/right angle/.style=code=
            draw (-abs(#1),0) ,
    pics/right angle/.default=0.5]       
 draw (0,0) coordinate[label=below left:$F$] (F) 
   -- node[midway,above,sloped]$625$  (sE,0) coordinate[label=below right:$D$] (D) 
    -- node[midway,above,sloped]$350$
   (intersection cs:first line=(F)--($(F)+(cosinelaw(sE,sD,sF):1)$),
    second line=(D)--($(D)+(-cosinelaw(sE,sF,sD):1)$))
    coordinate[label=above right:$E$] (E) -- 
    node[midway,above,sloped]$429$ cycle
    (intersection cs:first line=(F)--($(F)+(cosinelaw(sE,sD,sF)/2-90:1)$),
    second line=(D)--($(D)+(-cosinelaw(sE,sF,sD)/2-90:1)$))
    coordinate[label=below:$B$] (B) 
    (intersection cs:first line=(F)--($(F)+(cosinelaw(sE,sD,sF)/2-90:1)$),
    second line=(E)--($(E)+(180+cosinelaw(sE,sD,sF)+cosinelaw(sD,sF,sE)/2-90:1)$))
    coordinate[label=above:$A$] (A) 
    (intersection cs:first line=(A)--(E),
    second line=(B)--(D))
    coordinate[label=above:$C$] (C) 
    (A) -- (B) -- (C) -- cycle   
    (A) edge[dashed,shorten >=-1cm] (D)
    (B) edge[dashed,shorten >=-1cm] (E)
    (C) edge[dashed,shorten >=-1cm] (F);
    path (A) --  pic[sloped,pos=1,xscale=-1]right angle(D);
    path (B) --  pic[sloped,pos=1,xscale=-1]right angle(E);
    path (C) --  pic[sloped,pos=1]right angle(F);
endtikzpicture
enddocument

ingrese la descripción de la imagen aquí

Reflexionando, la solución más corta:

Explicacion:

El incentro I de DEF y el ortocentro H de ABC son idénticos.

A, E, I, F son puntos cocíclicos. Con tkzDefCircle[circum](E,I,F) tkzGetPointca tkzGetLengthraConsigo el centro y el radio.

Entonces, la intersección de este círculo con la bisectriz DI da el punto A. Entonces es fácil obtener B y C.

Poca mejora: obtenemos U, V, W con tkzDefPointsBy[homothety=center I ratio 1.1](D,E,F)U,V,W

documentclass[margin=10pt]standalone
usepackagetkz-euclide

begindocument
begintikzpicture[lab/.style=sloped,fill=white,font=small]
  pgfmathsetmacroa350/100*2/3 
  pgfmathsetmacrob429/100*2/3 
  pgfmathsetmacroc625/100*2/3 
beginscope[rotate=73.74]
  tkzDefPoints0/0/F,c/0/D
endscope
tkzInterCC[R](F,b cm)(D,a cm) tkzGetFirstPointE
tkzDefTriangleCenter[in](D,E,F)  tkzGetPointI % incenter or H orthocenter
tkzDefCircle[circum](E,I,F) tkzGetPointca tkzGetLengthra
tkzDefLine[orthogonal=through D](D,I) tkzGetPointd
tkzInterLC[R](D,I)(ca,ra pt) tkzGetSecondPointA
tkzInterLL(A,F)(E,I) tkzGetPointB
tkzInterLL(B,D)(A,E) tkzGetPointC
tkzDefPointsBy[homothety=center I ratio 1.1](D,E,F)U,V,W 

tkzDrawPolygon(D,E,F)
tkzDrawPolygon(A,B,C)
tkzDrawLines[add = 0 and 0.2,densely dashed](C,F A,D B,E)
tkzMarkRightAngles[fill=orange!20](C,D,U A,E,V B,F,W)
endtikzpicture
enddocument

ingrese la descripción de la imagen aquí

A) Con tu código (sin muchos cambios):

quite usetkzobjall porque usé la versión 3.05 y pst-euclide. yo solo rotate un poco, el punto fijo D.

documentclass[margin=10pt]standalone
usepackagetkz-euclide

begindocument
begintikzpicture
  pgfmathsetmacroa350/100*2/3 % BC
  pgfmathsetmacrob429/100*2/3 % AC
  pgfmathsetmacroc625/100*2/3 % AB

beginscope[rotate=74]
  tkzDefPoints0/0/F,c/0/D
endscope

tkzInterCC[R](F,b cm)(D,a cm) tkzGetFirstPointE
tkzDrawPolygon(D,E,F) 
tkzDefLine[bisector](E,D,F)tkzGetPointl
tkzInterLL(E,F)(D,l) tkzGetPointL
tkzDefLine[orthogonal=through D](D,L) tkzGetPointd
tkzDefLine[bisector](D,E,F)tkzGetPointm
tkzInterLL(D,F)(E,m) tkzGetPointM
tkzDefLine[orthogonal=through E](E,M) tkzGetPointe
tkzDefLine[bisector](E,F,D)tkzGetPointn
tkzInterLL(D,E)(F,n) tkzGetPointN
tkzDefLine[orthogonal=through F](F,N) tkzGetPointf
tkzInterLL(D,d)(E,e) tkzGetPointC
tkzInterLL(F,f)(E,e) tkzGetPointA
tkzInterLL(D,d)(F,f) tkzGetPointB
tkzDrawPolygon(A,B,C)
tkzDrawLines[add = 0 and 0.2,densely dashed](C,F A,D B,E)
tkzDefPointBy[homothety=center A ratio 1.1](D) tkzGetPointU
tkzMarkRightAngle(C,D,U)
tkzDefPointBy[homothety=center B ratio 1.1](E) tkzGetPointV
tkzMarkRightAngle[](A,E,V)
tkzDefPointBy[homothety=center C ratio 1.1](F) tkzGetPointW
tkzMarkRightAngle(B,F,W)
tkzLabelSegment[sloped,fill=white,font=small,below](D,F)$625$
tkzLabelSegment[sloped,fill=white,font=small,above](E,D)$350$
tkzLabelSegment[sloped,fill=white,font=small,below](E,F)$429$
tkzLabelPoints[right](D)
tkzLabelPoints(A,B)
tkzLabelPoints[above right](C)
tkzLabelPoints[above left](E)
tkzLabelPoints[below left](F)
endtikzpicture
enddocument

ingrese la descripción de la imagen aquí

B) Mejora de su código pero sin cálculos.

La principal mejora es el uso del centro del círculo. incircle intersección de las bisectrices con:

tkzDefTriangleCenter[in](D,E,F)

Luego, al final del código, usé tkzFindSlopeAngle(B,A) para obtener el valor exacto del ángulo de la línea AB en relación con la línea FD. Tengo 73.74

documentclass[margin=10pt]standalone
usepackagetkz-euclide

begindocument
begintikzpicture
  pgfmathsetmacroa350/100*2/3 
  pgfmathsetmacrob429/100*2/3 
  pgfmathsetmacroc625/100*2/3 

beginscope[rotate=73.74] %it's possible 
  tkzDefPoints0/0/F,c/0/D
endscope

tkzInterCC[R](F,b cm)(D,a cm) tkzGetFirstPointE
tkzDefTriangleCenter[in](D,E,F)  tkzGetPointI % incenter
tkzDefLine[orthogonal=through D](D,I) tkzGetPointd
tkzDefLine[orthogonal=through E](E,I) tkzGetPointe
tkzDefLine[orthogonal=through F](F,I) tkzGetPointf
tkzInterLL(D,d)(E,e) tkzGetPointC
tkzInterLL(F,f)(E,e) tkzGetPointA
tkzInterLL(D,d)(F,f) tkzGetPointB
tkzDefPointBy[homothety=center A ratio 1.1](D) tkzGetPointU
tkzDefPointBy[homothety=center B ratio 1.1](E) tkzGetPointV
tkzDefPointBy[homothety=center C ratio 1.1](F) tkzGetPointW

tkzDrawPolygon(D,E,F)
tkzDrawPolygon(A,B,C)
tkzDrawLines[add = 0 and 0.2,densely dashed](C,F A,D B,E)

tkzMarkRightAngle(C,D,U)
tkzMarkRightAngle[](A,E,V)
tkzMarkRightAngle(B,F,W)

tkzLabelSegment[sloped,fill=white,font=small,below](D,F)$625$
tkzLabelSegment[sloped,fill=white,font=small,above](E,D)$350$
tkzLabelSegment[sloped,fill=white,font=small,below](E,F)$429$
tkzLabelPoints[right](D)
tkzLabelPoints(A,B)
tkzLabelPoints[above right](C)
tkzLabelPoints[above left](E)
tkzLabelPoints[below left](F)
% tkzFindSlopeAngle(B,A)
% tkzGetAngleangle
% node[below=5 cm]angle; %180 - angle for the rotation
endtikzpicture
enddocument

C) Creo que es mejor obtener las coordenadas de A, B y C y luego obtener el triángulo órtico. Puede usar una parte de la respuesta del gato de Schrödinger para obtener las coordenadas. A continuación, utilicé solo un ejemplo para mostrar cómo obtener el triángulo órtico. La gran parte es obtener las coordenadas.

Con tkz-euclide obtienes el triángulo órtico u ortogonal con una línea

tkzDefSpcTriangle[orthic](A,B,C)H_A,H_B,H_C

El triángulo órtico es uno de los triángulos específicos para tkz-euclide version 3.05 or 3.02. Obtienes las proyecciones de A, B y C con H_A,H_B,H_C si utiliza entonces las proyecciones se denominan A ‘, B’ y C ‘.

documentclassstandalone 
usepackagetkz-euclide 
begindocument  
begintikzpicture
    tkzDefPoints1/5/A,0/0/B,7/0/C
  tkzDefSpcTriangle[orthic](A,B,C)H_A,H_B,H_C  
  tkzDrawPolygon[blue,fill=blue!20](A,B,C)
  tkzDrawPolygon[red,fill=red!40,opacity=.5](H_A,H_B,H_C)   

  tkzLabelPoints(B,H_A,C)   tkzLabelPoints[above right](A,H_B)  
  tkzLabelPoints[above left](H_C)        
endtikzpicture
enddocument

Ahora puedes dibujar lo que quieras y con TilZ o con tkz-euclide.

ingrese la descripción de la imagen aquí

Si desea el centro de ortodoncia u ortopedia, solo necesita utilizar: tkzOrthoCenter(A,B,C) tkzGetPointH
o

`tkzDefTriangleCenter[ortho](A,B,C) tkzGetPointH
 tkzDrawPoint(H)`

ingrese la descripción de la imagen aquí

Ahora, si quieres dibujar las altitudes:

tkzDrawSegments(A,H_A B,H_B C,H_C)

Pero tienes otras posibilidades. Por ejemplo, para una altitud:

  tkzDrawLine[altitude](B,C,A) tkzGetPointH_C  

documentclassstandalone 
usepackagetkz-euclide 
begindocument  
begintikzpicture
    tkzDefPoints1/5/A,0/0/B,7/0/C
  tkzDefSpcTriangle[orthic](A,B,C)H_A,H_B,H_C 
  tkzDefTriangleCenter[ortho](A,B,C) tkzGetPointH
  tkzDrawPoint(H)

  tkzDrawPolygon[blue,fill=blue!20,opacity=.5](A,B,C)
  tkzDrawPolygon[red,fill=red!40,opacity=.5](H_A,H_B,H_C)   
  tkzDrawSegments(A,H_A B,H_B C,H_C)  

  tkzLabelPoints(B,H_A,C)   tkzLabelPoints[above right](A,H_B)  
  tkzLabelPoints[above left](H_C)    
  tkzMarkRightAngles[fill=gray!20,opacity=.5](A,H_A,C B,H_B,A C,H_C,A)    
endtikzpicture
enddocument

ingrese la descripción de la imagen aquí

Ahora, si el único problema es colocarlo en un triángulo verticalmente, puede rotar la imagen o puede redefinir los puntos fijos.

Tienes la posibilidad difundir esta noticia si te valió la pena.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *