6

The following code is my attempt to find M and N such that AM=CN=BC.

\documentclass[pstricks,border=12pt]{standalone}
\usepackage{pst-eucl,pst-calculate}
\begin{document}
\def\x{\pscalculate{6-3.3541}}
\begin{pspicture}[showgrid](-1,-1)(8,8)
\pstGeonode[PosAngle={180,90,0,-90}](1,2){B}(2.5,5){C}(6,2){A}(\x,2){M}
\pspolygon(B)(C)(A)
\pstRotation[PosAngle=90,RotAngle=75.9638]{C}{B}[N]

\psGetDistanceAB[xShift=-8,yShift=4](B)(C){M}
\psGetAngleABC[AngleValue=true,MarkAngleRadius=.5,LabelSep=0.5,%
ShowWedge=false,xShift=-5,yShift=7,arrows=->](B)(C)(A){}

\end{pspicture}
\end{document}

enter image description here

However, I am trying not to use \psGetDistanceAB and \psGetAngleABC.

Question

How to get M and N such that AM=CN=BC only with a compass and a straight edge?

5
\documentclass[pstricks,border=12pt]{standalone}
\usepackage{pst-eucl,pst-calculate,textcomp}
\begin{document}
    \begin{pspicture}[showgrid](-1,-1)(8,8)
    \pstTriangle[PosAngle={180,90,0}](1,2){B}(2.5,5){C}(6,2){A}
    \pstInterLC[PointSymbolB=none,PointName=none]{A}{C}{C}{B}{N}{N0}\uput[0](N){N}
    \pstInterLC[PointSymbolB=none,PointName=none,
                Radius=\pstDistCalc{sqrt((2.5-1)^2+(5-2)^2)}]{B}{A}{A}{}{M}{M0}\uput[-90](M){M}
    \psarc[origin={C}]{->}(C){0.5}{(B)}{(N)}\uput{5mm}[-10](C){75.9636\textdegree}
    \end{pspicture}
\end{document}

enter image description here

  • 1
    Radius=\pstDistCalc{sqrt((2.5-1)^2+(5-2)^2)} is also possible. – user2478 Dec 29 '18 at 18:43
  • Why do you replace \pscalculate by \pstDistCalc ? – Trong Vuong Dec 30 '18 at 11:54
  • 1
    It also does the conversion into the internal screen unit, whereas pscalculate does only the calculation without taken the current screen unit into account. – user2478 Dec 30 '18 at 12:36
  • Please explain to me this question. With \psline(A)(B) \psline(C)(D) \psline(E)(F) ... ( can be replaced by another way), why PSTricks does not have the syntax as \tkzDrawSegments(A,B C,D E,F) ? ( Sorry if i have read document uncarefully.) – Trong Vuong Jan 11 at 14:17
  • 1
4

The simpler the code the more challenging it becomes.

\documentclass[pstricks,12pt]{standalone}
\usepackage{pst-eucl}

\begin{document}
\begin{pspicture}[PointSymbolB=none,PointNameB=](7,5)
\pstTriangle(1,1){B}(2.5,4){C}(6,1){A}
\pstTranslation[PointName=none,PointSymbol=none]{B}{A}{C}[C']
\pstInterLC[PosAngle=45]{A}{C}{C}{B}{N}{x}
\pstInterLC[PosAngle=-90]{B}{A}{A}{C'}{M}{y}
\pstMarkAngle[MarkAngleRadius=1.1,LabelSep=.8,arrows=->]{B}{C}{A}{\scriptsize$75.96^\circ$}
\end{pspicture}
\end{document}

enter image description here

Notes

PointNameA and PointNameB cannot be assigned none but empty. It looks like a bug.

3

An alternative tikz version:

\documentclass[tikz,border=12pt]{standalone}
\usetikzlibrary{calc,bending,arrows.meta,quotes,angles}
\usepackage{textcomp}
\begin{document}

\begin{tikzpicture}[dot/.style={fill,circle,inner sep=1.2pt},>= Stealth]\footnotesize
\pgfmathsetmacro\BC{sqrt(1.5*1.5+3*3)}
\pgfmathsetmacro\AC{sqrt(3.5*3.5+3*3)}
\draw (1,2)coordinate[dot,label=left:$B$](b)--(2.5,5)coordinate[dot,label=above:$C$](c)--(6,2)coordinate[dot,label=right:$A$](a)--cycle;
\node at ([xshift=-\BC cm]a) [dot,label=below:$M$] {};
\node at ($(c)!\BC/\AC!(a)$) [dot,label=right:$N$] {};
\pic["75.96\textdegree",draw,->,angle eccentricity=.7,angle radius=1cm] {angle=b--c--a};
\end{tikzpicture}

\end{document}

enter image description here

3

A version in which you do not have to compute anything yourself. All distances and angles can be very conveniently computed with TikZ. In more detail, the following code computes the distance between B and C (\n1) as well as the "slopes" of all the edges, and then uses polar coordinates to set M \n1 away from A in B direction and N \n1 away from C in A direction. The angle at B is also computed by tikz and inserted via \pgfmathprintnumber which allows you to specify the number of digits and so on, if needed.

\documentclass[tikz,border=3.14mm]{standalone}
\usetikzlibrary{calc,angles,quotes}
\begin{document}
\begin{tikzpicture}
\draw (1,2) coordinate[label=below:$B$] (B) -- 
(2.5,5) coordinate[label=above:$C$] (C) -- 
(6,2) coordinate[label=right:$A$] (A) -- cycle;
\path let \p1=($(B)-(C)$),\p2=($(B)-(A)$),\p3=($(A)-(C)$),
\n1={veclen(\x1,\y1)},\n2={atan2(\y2,\x2)},\n3={atan2(\y3,\x3)},
\n4={\n3-atan2(\y1,\x1)} in 
($(A)+(\n2:\n1)$) coordinate[label=below:$M$] (M)
($(C)+(\n3:\n1)$) coordinate[label=above right:$N$] (N)
pic["$\pgfmathparse{\n4}\pgfmathprintnumber{\pgfmathresult}^\circ$",draw,-latex,angle
eccentricity=1.3,angle radius=1cm] 
{angle=B--C--A};
\foreach \X in {A,B,C,M,N}
{\fill (\X) circle (1pt);}
\end{tikzpicture}
\end{document}

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.