import sympy as sp
='mathjax')
sp.init_printing(use_latex
=sp.Matrix([3,-1])
A=sp.Matrix([2,7])
B
print('Ponto Médio do segmento AB')
+B)/2) display((A
Ponto Médio do segmento AB
⎡5/2⎤
⎢ ⎥
⎣ 3 ⎦
Exemplo 1.1: Determiner o ponto médio do segmento determinado por A=(3,-1) e B=(2,7)
import sympy as sp
sp.init_printing(use_latex='mathjax')
A=sp.Matrix([3,-1])
B=sp.Matrix([2,7])
print('Ponto Médio do segmento AB')
display((A+B)/2)
Ponto Médio do segmento AB
⎡5/2⎤
⎢ ⎥
⎣ 3 ⎦
Exemplo 1.2: Esboçar o segmento AB e o ponto médio do exemplo anterior
import sympy as sp
sp.init_printing(use_latex='mathjax')
import matplotlib.pyplot as plt
A=sp.Matrix([3,-1])
B=sp.Matrix([2,7])
M=(A+B)/2
#plota o segmento ligando A e B.
plt.plot([A[0],B[0]],[A[1],B[1]],'bs-') #bs-= blue, square, line
plt.plot(M[0],M[1],'ro') # ro= red, ball
plt.show()
Exemplo 1.3: Criar uma função que calcula o ponto médio de um segmento e usá-la para determinar se o OACB, onde O=(0,0), A=(1,2), B=(2,1) e C=(3,3), é um paralelogramo.
import sympy as sp
sp.init_printing(use_latex='mathjax')
def med(X,Y):
return (X+Y)/2
O=sp.Matrix([0,0])
A=sp.Matrix([1,2])
B=sp.Matrix([2,1])
C=sp.Matrix([3,3])
print('As diagonais do quadrilátero têm o mesmo ponto médio?')
med(A,B)==med(O,C)
As diagonais do quadrilátero têm o mesmo ponto médio?
True
Exemplo 1.4: Esboçar o paralelogramo do exemplo anterior, as diagonais e o ponto médio.
import sympy as sp
sp.init_printing(use_latex='mathjax')
import matplotlib.pyplot as plt
def med(A,B):
return (A+B)/2
O=sp.Matrix([0,0])
A=sp.Matrix([1,2])
B=sp.Matrix([2,1])
C=sp.Matrix([3,3])
MAB=med(A,B)
MOC=med(O,C)
#desenhar os segmentos do paralelogramo e das diagonais
plt.plot([O[0],A[0],C[0],B[0],O[0]],[O[1],A[1],C[1],B[1],O[1]],'bs-',label='paralelogramo') #bs-= blue, square, line
plt.plot([A[0],B[0]],[A[1],B[1]],'r-',label='diagonal AB')
plt.plot([O[0],C[0]],[O[1],C[1]],'g-',label='diagonal OC')
plt.plot(MAB[0],MAB[1],'co')
#acrescentar os nomes dos pontos
plt.annotate('A', (A[0], A[1]),
textcoords="offset points", # muda o centro para o ponto (1,2)
xytext=(0,10), # coordenadas o texto agora com centro em (1,2)
ha='center',color='blue') # alinhamento, pode ser left, right ou center
plt.annotate('B', (B[0], B[1]), textcoords="offset points", xytext=(0,-20), ha='center',color='blue')
plt.annotate('C', (C[0], C[1]), textcoords="offset points", xytext=(0,-20), ha='center',color='blue')
plt.annotate('O', (O[0], O[1]), textcoords="offset points", xytext=(0,10), ha='center',color='blue')
plt.grid()
plt.legend()
plt.show()
Exemplo 1.5: Determinar o ponto D=(x,y) que forma com A=(1,2), B=(-2,1) e C=(3,2) um paralelogramo ABDC e esboça-lo.
import sympy as sp
sp.init_printing(use_latex='mathjax')
import matplotlib.pyplot as plt
def med(A,B):
return (A+B)/2
A=sp.Matrix([1,2])
B=sp.Matrix([-2,1])
C=sp.Matrix([3,2])
x,y=sp.symbols('x y',real=True)
X=sp.Matrix([x,y])
eq=sp.Eq(med(B,C),med(A,X))
print('Equação dada pelo ponto médio das diagonais BC e AD')
display(eq)
print('Coordenadas do ponto D')
sol=sp.solve(eq,(x,y))
display(sol)
D=sp.Matrix([sol[x],sol[y]])
print('Paralelogramo ABDC')
plt.plot([A[0],B[0],D[0],C[0],A[0]],[A[1],B[1],D[1],C[1],A[1]],'b-',label='paralelogramo')
plt.grid()
plt.legend()
plt.show()
Equação dada pelo ponto médio das diagonais BC e AD
⎡x 1⎤
⎢─ + ─⎥
⎡1/2⎤ ⎢2 2⎥
⎢ ⎥ = ⎢ ⎥
⎣3/2⎦ ⎢y ⎥
⎢─ + 1⎥
⎣2 ⎦
Coordenadas do ponto D
{x: 0, y: 1}
Paralelogramo ABDC