Explorar o código

added example of hyperbolic triangle with intertior angles

Martin Thoma %!s(int64=10) %!d(string=hai) anos
pai
achega
c7eff931fd

+ 33 - 0
tikz/hyperbolic-triangle-interior-angles/Makefile

@@ -0,0 +1,33 @@
+SOURCE = hyperbolic-triangle-interior-angles
+DELAY = 80
+DENSITY = 300
+WIDTH = 512
+
+make:
+	pdflatex $(SOURCE).tex -output-format=pdf
+	make clean
+
+clean:
+	rm -rf  $(TARGET) *.class *.html *.log *.aux *.data *.gnuplot
+
+gif:
+	pdfcrop $(SOURCE).pdf
+	convert -verbose -delay $(DELAY) -loop 0 -density $(DENSITY) $(SOURCE)-crop.pdf $(SOURCE).gif
+	make clean
+
+png:
+	make
+	make svg
+	inkscape $(SOURCE).svg -w $(WIDTH) --export-png=$(SOURCE).png
+
+transparentGif:
+	convert $(SOURCE).pdf -transparent white result.gif
+	make clean
+
+svg:
+	#inkscape $(SOURCE).pdf --export-plain-svg=$(SOURCE).svg
+	pdf2svg $(SOURCE).pdf $(SOURCE).svg
+	# Necessary, as pdf2svg does not always create valid svgs:
+	inkscape $(SOURCE).svg --export-width=$(WIDTH) --export-plain-svg=$(SOURCE)1.svg
+	rsvg-convert -a -w 720 -f svg $(SOURCE)1.svg -o $(SOURCE).svg
+	rm $(SOURCE)1.svg

+ 3 - 0
tikz/hyperbolic-triangle-interior-angles/README.md

@@ -0,0 +1,3 @@
+Compiled example
+----------------
+![Example](hyperbolic-triangle-interior-angles.png)

BIN=BIN
tikz/hyperbolic-triangle-interior-angles/hyperbolic-triangle-interior-angles.png


+ 62 - 0
tikz/hyperbolic-triangle-interior-angles/hyperbolic-triangle-interior-angles.tex

@@ -0,0 +1,62 @@
+\documentclass[varwidth=true, border=2pt]{standalone}
+
+\usepackage{tkz-euclide}
+\usetkzobj{all}
+% Thanks to Jan Hlavacek for giving an example for hyperbolic triangles
+% (http://tex.stackexchange.com/a/16749/5645)
+
+% Thanks to Jonas Granholm for help with the angles
+% (http://tex.stackexchange.com/a/204435/5645)
+
+\usepackage{helvet}
+\usepackage[eulergreek]{sansmath}
+
+\begin{document}
+\begin{tikzpicture}[scale=3,font=\sffamily\sansmath]
+    \tkzDefPoint(0,0){O}
+    \tkzDefPoint(1,0){Z}
+
+    % Define points
+    \tkzDefPoint(-0.7,-0.1){A}
+    \tkzDefPoint(0.4,-0.3){B}
+    \tkzDefPoint(0.1,0.4){C}
+
+    % Draw big circle
+    \tkzDrawCircle[fill=white](O,Z)
+
+    % I have no idea what this does,
+    % but when I remove it the rest of the image (the big circles)
+    % get visible. So it seems to crop the image to the size of the circle
+    \tkzClipCircle(O,Z)
+
+    % Draw angles
+    \tkzMarkAngles[fill= orange,size=0.3cm,opacity=.3](B,A,C)
+    \tkzLabelAngle[pos=0.2](B,A,C){$\alpha$}
+
+    \tkzMarkAngles[fill= orange,size=0.3cm,opacity=.3](C,B,A)
+    \tkzLabelAngle[pos=0.2](C,B,A){$\beta$}
+
+    \tkzMarkAngles[fill= orange,size=0.3cm,opacity=.3](A,C,B)
+    \tkzLabelAngle[pos=0.2](A,C,B){$\gamma$}
+
+
+    % "Clip" angles
+    \tkzDrawCircle[fill,orthogonal through=A and B,color=white](O,Z)
+    \tkzDrawCircle[fill,orthogonal through=A and C,color=white](O,Z)
+    \tkzDrawCircle[fill,orthogonal through=B and C,color=white](O,Z)
+
+    % Draw big circle
+    \tkzDrawCircle(O,Z)
+
+    % Draw lines
+    \tkzDrawCircle[orthogonal through=A and B,color=green](O,Z)
+    \tkzDrawCircle[orthogonal through=A and C,color=blue](O,Z)
+    \tkzDrawCircle[orthogonal through=B and C,color=red](O,Z)
+
+    % Draw points and label them
+    \tkzDrawPoints[color=black,fill=red,size=5](A,B,C)
+    \tkzLabelPoints[below](A)
+    \tkzLabelPoints[below left](B)
+    \tkzLabelPoints[above left](C)
+\end{tikzpicture}
+\end{document}