Uma sociedade sera - sempre - avaliado
Pelo jeito que trata seus mais fracos.
Mahatma
|
Tetrahedron
Python Code:
Python Listing: ../TikZ_Examples/6_8.py.
import os,sys,math
from Matrix import *
O=Vector([0,0,0])
#Z axis upwards
i=Vector([1,0,0])
k=Vector([0,1,0])
j=Vector([0,0,1])
#Tetrahedron
size=5
A=-size*i
B=0.5*size*(i+j+0.5*k)
C=-sqrt(2)*size*j
D=(1.75*size)*k
third=1.0/3.0
AA=third*(B+C+D)
BB=third*(A+C+D)
CC=third*(B+A+D)
DD=third*(B+C+A)
G=0.25*(A+B+C+D)
GD=1.0/3.0*(AA+BB+CC)
u=(B-A).Normalize()
v=(C-A).Normalize()
w=(D-A).Normalize()
t=0.5
MAB=Convex(A,B,t)
MAC=Convex(A,C,t)
MAD=Convex(A,D,t)
MBC=Convex(B,C,t)
MBD=Convex(B,D,t)
MCD=Convex(C,D,t)
t=2.0/3.0
PAD=Convex(D,A,t)
PBD=Convex(D,B,t)
PCD=Convex(D,C,t)
mytikz=TikZ()
tikz_base=[]
titles=[
"A","B","C","D"
]
tikz_base+=mytikz.TikZ_Tetrahedron_Draw(
[A,B,C,D],titles,[
"left","right","below","above",
]
)
tikz_base+=mytikz.TikZ_Tetrahedron_Midpoints_Draw(
[A,B,C,D],titles
)
tikz_base+=mytikz.TikZ_Tetrahedron_BaryCenters_Draw(
[A,B,C,D],titles
)
#Start fig a
tikz=[]
tikz+=mytikz.TikZ_Points(
[PAD,PBD,PCD],
pts=1,
style="",
titles=["P_{AD}","P_{BD}","P_{CD}"],
node_style=["left","right","right"]
)
tikz+=mytikz.TikZ_Polygon_Draw(
[D,DD,MAC],
draw="\\fill",
style="magenta,opacity=0.25",
)
tikz+=mytikz.TikZ_Polygon_Draw(
[A,D,MBC],
draw="\\fill",
style="orange,opacity=0.25",
)
tikz+=mytikz.TikZ_Polygon_Draw(
[B,D,DD],
draw="\\fill",
style="magenta,opacity=0.25",
)
tikz+=mytikz.TikZ_Polygon_Draw(
[A,D,DD],
draw="\\fill",
style="orange,opacity=0.25",
)
tikz+=mytikz.TikZ_Polygons_Draw(
[
[A,AA],
[D,DD],
[B,BB],
[C,CC],
],
styles="dashed",
)
triangle=TriConvexes(D,[A,B,C],2.0/3.0)
tikz+=mytikz.TikZ_Polygon_Draw(
triangle,
style="gray",
)
pdf=mytikz.TikZ_LaTeX_Save_Run(
mytikz.TikZ_LaTeX_Picture(tikz_base+tikz),
"6_8/a.pdf"
)
#Figure b
tikz=[]
triangle1=[MAB,MAC,MAD]
triangle2=[D,B,C]
MM=1.0/3.0*(MAB+MAC+MAD)
tikz+=mytikz.TikZ_Point(MM)
triangle3=TriConvexes(A,[B,C,D],0.25)
triangle4=TriConvexes(A,[B,C,D],0.75)
triangle5=TriConvexes(D,[A,B,C],0.75)
tikz+=mytikz.TikZ_Polygons_Draw(
[
triangle1,
],
styles="red",
)
tikz+=mytikz.TikZ_Polygon_Draw(
triangle2,
style="blue,thick",
)
tikz+=mytikz.TikZ_Polygon_Draw(
triangle3,
style="cyan",
)
tikz+=mytikz.TikZ_Points(
triangle3,
titles=["","","\\frac{1}{4}"],
node_style=["","","left"]
)
tikz+=mytikz.TikZ_Polygon_Draw(
triangle4,
style="cyan",
)
tikz+=mytikz.TikZ_Points(
triangle4,
titles=["","","\\frac{3}{4}"],
node_style=["","","left"]
)
tikz+=mytikz.TikZ_Lines_By_Points(
[
[D,MBC],
],
style="dashed"
)
tikz+=mytikz.TikZ_Lines_By_Points(
[
[
triangle3[2],
0.5*(triangle3[0]+triangle3[1])
],
],
style="dashed,cyan"
)
tikz+=mytikz.TikZ_Lines_By_Points(
[
[
triangle4[2],
0.5*(triangle4[0]+triangle4[1])
],
],
style="dashed,cyan"
)
tikz+=mytikz.TikZ_Lines_By_Points(
[
[
MAD,
0.5*(MAB+MAC)
],
],
style="dashed,red"
)
tikz+=mytikz.TikZ_Polygon_Draw(
triangle5,
style="orange"
)
tikz+=mytikz.TikZ_Lines_By_Points(
[
[
triangle5[0],
0.5*(triangle5[2]+triangle5[1])
],
],
style="dashed,orange"
)
tikz+=mytikz.TikZ_Points(
triangle5,
titles=["","","\\frac{1}{3}"],
node_style=["","","right"]
)
tikz+=mytikz.TikZ_Polygons_Draw(
[
[A,AA],
[A,MBC],
],
styles="dotted",
)
MM=1.0/3.0*(triangle3[0]+triangle3[1]+triangle3[2])
tikz+=mytikz.TikZ_Point(MM,title="M'")
pdf=mytikz.TikZ_LaTeX_Save_Run(
mytikz.TikZ_LaTeX_Picture(tikz+tikz_base),
"6_8/b.pdf"
)
tikz=[]
tikz+=mytikz.TikZ_Lines_By_Points(
[
[A,AA],
[B,BB],
[C,CC],
[D,DD],
],
style="dashed"
)
pdf=mytikz.TikZ_LaTeX_Save_Run(
mytikz.TikZ_LaTeX_Picture(tikz+tikz_base),
"6_8/c.pdf"
)
|
|
Messages:
0 secs.
|