
Ich benutze TikZ zum ersten Mal und ich habe einige Schwierigkeiten, genau das anzuzeigen, was ich möchte. Ich versuche, das folgende Bild zu zeichnen:
Hier ist der Code (ich weiß, er ist nicht so gut, aber ich benutze Ti zum ersten Mal.kZ):
\documentclass[paper=a4, fontsize=11pt]{scrartcl} % A4 paper and 11pt font size
\usepackage[T1]{fontenc}
\usepackage[english]{babel} % English language/hyphenation
\usepackage{amsmath,amsfonts,amsthm} % Math packages
\usepackage{graphicx}
\usepackage{mdframed}
\usepackage[ampersand]{easylist}
\usepackage{enumitem}
\usepackage{tikz}
\begin{document}
\begin{center}\begin{tikzpicture}[auto]
\draw[thick, ->] (-6,0) -- (10,0) node[anchor = north west] {x};
\draw[thick, ->] (0,-3) -- (0,11) node[anchor = south east] {y};
\node (P) at (-4,-2) {$P(-4;-2)$};
\node (Q) at (8,3) {$Q(8;3)$};
\node (R) at (4,10) {$R(4;10)$};
\node (N) at (2,7) {N};
\draw (P) to (Q);
\draw (R) to (Q);
\draw (P) to (R);
\draw (N) to (Q);
\end{tikzpicture}\end{center}
\end{document}
und derzeit wird mir Folgendes angezeigt:
Wie kann ich
- Holen Sie sich die Punktnamen zunichtdurchschneide die Linien,
- Zeichnen Sie die Verbindungslinie zwischen QN, die als senkrechte Linie angezeigt werden soll?
Antwort1
Ich zeige nur eine von vielen Möglichkeiten (und noch eine weitere Alternative für die 90-Grad-Winkelmarkierung - für andere Winkel schauen Sie in die angles
Bibliothek im Handbuch für v3.00-)
\documentclass[tikz]{standalone}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}[scale=5]% Scale it rather using too big dimensions in centimeters
\coordinate[label=below:{$P(-4,-2)$}](p) at (-4mm,-2mm);
\coordinate[label=right:{$Q(8,3)$}](q) at (8mm,3mm);
\coordinate[label=above:{$R(4,10)$}] (r) at (4mm,10mm);
\draw (p) -- (q) -- (r) -- cycle; %Look at the tip of the triangle with cycle or (p)
% Here is some black magic; start from q and draw to a point
% which is at the place along the line from p to r but at the
% place where q is projected on that line.
\draw (q) -- ($(p)!(q)!(r)$) coordinate (s);
\draw ($(s)!0.5mm!(q)$) coordinate (t) -- ($(t)!0.5mm!90:(q)$) --($(s)!0.5mm!(r)$);
\end{tikzpicture}
\end{document}
Während Sie Ihr Ti entwickelnkZ-fu, behaltet das Paket von unserem eigenen Alain Matthes im Auge, genannttkz-euclide
. Es macht diese Art von Zeichnungen wirklich sehr einfach und strukturiert. Der einzige Nachteil ist, dass das Handbuch für mich (buchstäblich) Französisch ist. Aber es ist trotzdem ziemlich selbsterklärend.
Antwort2
Mittkz-euclide
:
\documentclass[11pt,a4paper]{article}
\usepackage{tkz-euclide}
\usetkzobj{all}
\begin{document}
\begin{tikzpicture}
\tkzInit[xmin=-5,xmax=9,ymin=-3,ymax=11]
\tkzAxeXY
%\tkzGrid
\tkzDefPoint[label=below:{$P(-4,-2)$}](-4,-2){P}
\tkzDefPoint[label=right:{$Q(8,3)$}](8,3){Q}
\tkzDefPoint[label=above:{$R(4,10)$}](4,10){R}
\tkzDrawSegments(P,Q Q,R R,P)
\tkzDefPointBy[projection=onto P--R](Q)
\tkzGetPoint{N}
\tkzLabelPoints[above left](N)
\tkzDrawPoints[color=red](P,Q,R,N)
\tkzDrawSegment(Q,N)
\tkzMarkRightAngle[fill=lightgray](Q,N,R)
\tkzLabelAngle[pos=1.3](Q,P,R){$\beta$}
\tkzMarkAngle[arc=l,size=1cm](Q,P,R)
\end{tikzpicture}
\end{document}
Antwort3
Und zum Vergleich mitMetapost.
Beachten Sie, dass im Gegensatz zur Warnung oben im OP-Diagramm dieseIstMaßstäblich gezeichnet...
prologues := 3;
outputtemplate := "%j%c.eps";
beginfig(1);
u := 5mm;
% axes
path xx, yy;
xx = (5 left -- 9 right) scaled u;
yy = (3 down -- 11 up) scaled u;
drawarrow xx withcolor .5 white;
drawarrow yy withcolor .5 white;
label.rt (btex $x$ etex, point 1 of xx);
label.top(btex $y$ etex, point 1 of yy);
% define the points
pair M, N, P, Q, R;
P = (-4, -2) scaled u;
Q = ( 8, 3) scaled u;
R = ( 4, 10) scaled u;
M = yy intersectionpoint (P--R);
N = whatever[P,R]; (N-Q) dotprod (R-P) = 0;
%
% mark the right angle
draw unitsquare scaled 5 rotated angle (Q-N) shifted N withcolor .5 white;
% draw the lines
draw P--Q--R--cycle; draw Q--N;
% add the labels
label.ulft(btex $M$ etex, M);
label.ulft(btex $N$ etex, N);
label.top (btex $R\,(4;10)$ etex, R);
label.rt (btex $Q\,(8;3)$ etex, Q);
label.lft (btex $P\,(-4;-2)$ etex, P);
% label the angle along the bisector
label(btex $\beta$ etex, P + 20 unitvector(Q+R-2P));
endfig;
end.
Ein wenig Nachdenken über die Geometrie hier zeigt uns, dass, da M
auf der y-Achse liegt, es auf halbem Weg zwischen P
und R
in der x-Richtung liegt, also muss es der Mittelpunkt von sein P--R
. Es hat daher die Koordinaten (0,4)
; und der Abstand von M
nach Q
ist daher sqrt(8^2+1^2)=sqrt(65)
, aber dies ist dasselbe wie der Abstand von R
nach Q
, der ist sqrt(4^2+7^2)=sqrt(65)
; daher sind QNR
und QNM
kongruente Dreiecke und daher N
ist der Mittelpunkt von R--M
mit den Koordinaten (2,7)
. Sie können das Gleichungssystem von Metapost verwenden, um dies zu bestätigen; wenn Sie hinzufügen
M = (0,4) scaled u; N = (2,7) scaled u;
nachDie impliziten Definitionen sind bereits gegeben, dann gibt MP keinen Fehler aus.
Antwort4
Mit dem zu Unrecht Unbekanntenmfpic
Paket. Es handelt sich um einen umfangreichen Satz von (La)TeX-Makros, die eine sehr praktische Schnittstelle zu METAFONT oder MetaPost bieten, in diesem Fall zu letzterem.
Da die meisten mit diesem Paket nicht vertraut sind, habe ich in den folgenden Code eine ganze Reihe Kommentare eingefügt, daher seine relative Länge.
Wer sich ein bisschen mit MetaPost auskennt, mfpic
kann auch reine MetaPost-Anweisungen einbetten, was manchmal praktischer ist. So wie ich es hier gemacht habe, um die Punkte M und N zu lokalisieren (was MetaPost auf seine typische implizite Weise erledigt) und um die rechte Winkelmarkierung auf N zu zeichnen (dank der MetaPost-Transformatoren).
\documentclass{scrartcl}
% MetaPost instead of Metafont as drawing program and labels manager.
% Bounding box based on actual picture dimensions, not on the axes dimensions.
\usepackage[metapost, mplabels, truebbox]{mfpic}
% LaTeX preamble given to MetaPost for its labels management
% (corresponds to the verbatimtex ... etex flags of MetaPost)
\mfpverbtex{%&latex
\documentclass{scrartcl}
\begin{document}}
\setlength{\mfpicunit}{.5cm}
\opengraphsfile{\jobname}
\begin{document}
\begin{mfpic}[1]{-5}{9.5}{-3}{11}
% Points definitions. For MetaPost they are local pairs.
\setmfpair{P}{(-4, -2)}
\setmfpair{Q}{(8, 3)}
\setmfpair{R}{(4, 10)}
% Point M computed by MetaPost as intersection of y-axis and straight line (PQ)
\setmfpair{M}{(P -- R) intersectionpoint (origin -- (0, \ymax))}
% Point N computed by MetaPost as intersection of line (PQ)
% and the straight line perpendicular to (PQ) going through Q
\mfsrc{save N; pair N; N = whatever[P, R] = whatever[Q, Q + (R-P) rotated 90];}
% Mark angle beta with the convenient \arc macro of mfpic
\store{mark_angle}\arc[a]{P, 0.8, angle(Q-P), angle(R-P)}
% Mark right angle on N with help of MetaPost transformers
\setmfvariable{path}{mark_right_angle}
{((1, 0) -- (1, 1) -- (0, 1)) zscaled 0.3unitvector(Q-N) shifted N}
% Actual drawings
\polygon{P, Q, R}
\lines{Q, N}
\doaxes{xy}
\mfobj{mark_angle}
\mfobj{mark_right_angle}
% Labels
\tlpointsep{2bp} % Offset
\tlabels{[tc]{(\xmax, 0)}{$x$} [cr]{(0, \ymax)}{$y$}
[cr]{P}{$P(-4, -2)$} [cl]{Q}{$Q(8, 3)$} [bc]{R}{$R(4, 10)$}
[br]{M}{$M$} [cr]{N}{$N$} [bl]{point 0.4 of mark_angle}{$\beta$}}
\end{mfpic}
\closegraphsfile
\end{document}
Die .tex
Datei muss zuerst mit (pdf)LaTeX gesetzt werden, dann die resultierende .mp
Datei mit MetaPost und schließlich die LaTeX-Datei erneut mit (pdf)LaTeX, um die folgende Abbildung zu erstellen.