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