Exemplo 5.1 Encontrar o ponto D do paralelogramo ABDC sabendo-se que A=(0,-1), B=(3,0) e C=(1,2) e determinar sua área.

import sympy as sp

A=sp.Matrix([0,-1])
B=sp.Matrix([3,0])
C=sp.Matrix([1,2])

#não é necessário determinar D para encontra a área.

AB=B-A
AC=C-A
print('Vetor AB')
display(AB)
print('Vetor AC')
display(AC)

#construir a matrix cujas colunas são os vetores AB e AC
M=AB.col_insert(1, AC)
print('Matriz cujas colunas são os vetores AB e AC')
display(M)

# a área do paralelogramo é o módulo do determinante de M
print('Área do paralelogramo ABDC')
area=sp.Abs(M.det())
display(area)

# Para determinar o ponto D, basta somar os vetores AB e AC

x,y=sp.symbols('x y', real=True)

D=sp.Matrix([x,y])

AD=D-A

print('Pela lei do paralelogramo, o vetor AD deve satisfazer a equação')
eq=sp.Eq(AD,AB+AC)
display(eq)

print('solução da equação')
sol=sp.solve(eq,(x,y))
display(sol)

Vetor AB
Matrix([
[3],
[1]])
Vetor AC
Matrix([
[1],
[3]])
Matriz cujas colunas são os vetores AB e AC
Matrix([
[3, 1],
[1, 3]])
Área do paralelogramo ABDC
8
Pela lei do paralelogramo, o vetor AD deve satisfazer a equação
Eq(Matrix([
[    x],
[y + 1]]), Matrix([
[4],
[4]]))
solução da equação
{x: 4, y: 3}

Exemplo 5.2: Determinar o ponto C sobre o eixo dos y que forma com A=(1,2) e B=(2,3) um triângulo de área 1.

import sympy as sp

A=sp.Matrix([1,2])
B=sp.Matrix([2,3])

#ponto C
y=sp.symbols('y',real=True) # criando uma variável
C=sp.Matrix([0,y])

AB=B-A
AC=C-A

#construir a matrix cujas colunas são os vetores AB e AC
M=AB.col_insert(1, AC)
print('Matriz cujas colunas são os vetores AB e AC')
display(M)

#área do triângulo é metade da área do paralelogramo
print('Área do triângulo ABC')
area=sp.Abs(M.det())/2
display(area)

#equação que devemos resolver
print('Equação a se resolver')
eq=sp.Eq(area,1)
display(eq)

print('solução da equação')
sol=sp.solve(eq,y,dict=True)
display(sol)


Matriz cujas colunas são os vetores AB e AC
Matrix([
[1,    -1],
[1, y - 2]])
Área do triângulo ABC
Abs(y - 1)/2
Equação a se resolver
Eq(Abs(y - 1)/2, 1)
solução da equação
[{y: -1}, {y: 3}]

Como a solução da equação tem 2 valores possíveis, isso significa que existem 2 triângulos com essa propriedade, cujos pontos C são respectivamente: \(C_1=(0,-1)\) e \(C_2=(0,3)\). Vamos esboçar esses triângulos.

import sympy as sp
import matplotlib.pyplot as plt

A=sp.Matrix([1,2])
B=sp.Matrix([2,3])

C1=sp.Matrix([0,-1])
C2=sp.Matrix([0,3])

plt.plot([A[0],B[0],C1[0],A[0]],[A[1],B[1],C1[1],A[1]],'b-',label='triângulo 1')
plt.plot([A[0],B[0],C2[0],A[0]],[A[1],B[1],C2[1],A[1]],'r-',label='triângulo 2')

plt.annotate('B', (B[0], B[1]), textcoords="offset points", xytext=(0,-20), ha='center',color='blue')
plt.annotate('A', (A[0], A[1]), textcoords="offset points", xytext=(0,-20), ha='center',color='blue')
plt.annotate('C_1', (C1[0], C1[1]), textcoords="offset points", xytext=(0,10), ha='center',color='blue')
plt.annotate('C_2', (C2[0], C2[1]), textcoords="offset points", xytext=(0,-10), ha='center',color='red')

plt.grid()
plt.legend()
plt.show()