Es posible modificar el código para especificar solo los puntos A, B y C, luego dibujar un ángulo recto desde C simplemente dando una longitud y encontrar un punto D, luego especificando un ángulo y una longitud para encontrar un punto E y dibujar los segmentos. .
\documentclass{article}
\usepackage{tkz-euclide}
\begin{document}
\begin{tikzpicture}
\tkzDefPoint(0,0){A}
\tkzDefPoint(3,0){B}
\tkzDefPoint(1.5,0){C}
\tkzDefPoint(1.5,2){D}
\tkzDefPoint(2,3){E}
\tkzDrawSegments(A,B C,D)
\tkzDrawSegment[color=red](C,E)
\tkzLabelPoint[left](A){$A$}
\tkzLabelPoint[right](B){$B$}
\tkzLabelPoint[below](C){$C$}
\tkzLabelPoint[above](D){$D$}
\tkzLabelPoint[above](E){$E$}
\tkzDrawPoints[fill=gray](A,B,C,D,E)
\end{tikzpicture}
\end{document}
Respuesta1
Podemos colocar los puntos D con:
- una rotación de centro C y un ángulo pi/2 del punto B, obtenemos B'
- dibuja la media línea BB'
- Dibuja una circunferencia con centro C y radio 2.
- el punto de intersección es el punto D
Procedemos de la misma manera para el punto E.
Tenemos en tkz-euclide
:
\tkzDefPointBy[rotation=center C angle 90](B)
\tkzDefCircle[R](C,2)
\tkzInterLC
También podemos usar tkz-elements
, requiere compilación enlualatex
% !TeX TS-program = lualatex
\documentclass{article}
\usepackage{tkz-elements}
\usepackage{tkz-euclide}
\begin{document}
\begin{tkzelements}
local lengthCD = 2
local lengthCE = 3
local angBCE = math.pi/3
z.A = point: new (0,0)
z.B = point: new (3,0)
L.AB = line : new (z.A,z.B)
z.C = L.AB.mid
--
z.Bp = z.C : rotation (math.pi/2,z.B)
L.CBp = line : new (z.C,z.Bp)
C.CD = circle : radius (z.C,lengthCD)
z.D,_ = intersection (L.CBp,C.CD)
--
z.Bpp = z.C : rotation (angBCE,z.B)
L.CBpp = line : new (z.C,z.Bpp)
C.CE = circle : radius (z.C,lengthCE)
z.E,_ = intersection (L.CBpp,C.CE)
\end{tkzelements}
\begin{tikzpicture}
\draw[help lines](0,0)grid(3,4);
\tkzGetNodes
\tkzDrawSegments(A,B C,D)
\tkzDrawSegment[color=red](C,E)
\tkzLabelPoint[left](A){$A$}
\tkzLabelPoint[right](B){$B$}
\tkzLabelPoint[below](C){$C$}
\tkzLabelPoint[above](D){$D$}
\tkzLabelPoint[above](E){$E$}
\tkzDrawPoints[gray](A,...,E)
\end{tikzpicture}
\end{document}
Respuesta2
Su problema se resuelve simplemente usando tikz
la biblioteca calc
:
\documentclass[margin=3mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}[
every node/.style = {circle, fill=gray, inner sep=1pt, outer sep=0pt},
every label/.append style = {text=black}
]
\node[label= left:$A$] (a) at (0,0) {};
\node[label=right:$B$] (b) at (3,0) {};
\draw (a) -- (b);
\node[label=below:$C$] (c) at (1.5,0) {};
% line perpendicular to line a -- b from point c
\draw (c) -- ($(c)!20mm!90:(b)$) node[label=D] {};
% drawn with selected angle (for example 60 degree) from point c
\draw[red] (c) -- ($(c)!30mm!60:(b)$) node[label=E] {};
\end{tikzpicture}
\end{document}
o un caso, cuando la línea a - b no es horizontal:
\documentclass[margin=3mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}[
every node/.style = {circle, fill=gray, inner sep=1pt, outer sep=0pt},
every label/.append style = {text=black}
]
\node[label= left:$A$] (a) at (0,0) {};
\node[label=right:$B$] (b) at (3,1) {};
\draw (a) -- (b);
\node[label=below:$C$] (c) at ($(a)!0.5!(b)$) {};
%
\draw (c) -- ($(c)!20mm!90:(b)$) node[label=D] {};
%
\draw[red] (c) -- ($(c)!30mm!60:(b)$) node[label=E] {};
\end{tikzpicture}
\end{document}
Respuesta3
Sin duda hay una tkz-euclide
sintaxis, pero no hablo francés, así que me quedo con Ti.kMétodos Z.
La siguiente imagen superpone los resultados de la implementación del procedimiento alternativo solicitado sobre los resultados del método original.
Obviamente, no necesita los puntos originales o scope
si sustituye el código nuevo por el antiguo.
No sé si elegí el punto que buscaba E
, pero puedes adaptar el método para tomar el punto que necesites como base.
\documentclass{standalone}
\usepackage{tkz-euclide}
\begin{document}
\begin{tikzpicture}
\tkzDefPoint(0,0){A}
\tkzDefPoint(3,0){B}
\tkzDefPoint(1.5,0){C}
\tkzDefPoint(1.5,2){D}
\tkzDefPoint(2,3){E}
\tkzDrawSegments(A,B C,D)
\tkzDrawSegment[color=red](C,E)
\tkzLabelPoint[left](A){$A$}
\tkzLabelPoint[right](B){$B$}
\tkzLabelPoint[below](C){$C$}
\tkzLabelPoint[above](D){$D$}
\tkzLabelPoint[above](E){$E$}
\tkzDrawPoints[fill=gray](A,B,C,D,E)
\begin{scope}[draw=blue,every label/.append style=blue]
\path (C) ++(0pt,2) coordinate [label=above:$D$] (d);
\path (d) ++(63:1.12) coordinate [label=above:$E$] (e);
\tkzDrawSegments(A,B C,d C,e)
\end{scope}
\end{tikzpicture}
\end{document}