abril 23, 2026

Segmento em Código

Por admin

Sobre a Matemática

Podemos definir segmento de Reta como sendo a intersecção de duas semi-retas na situação.

Observação: Sabemos que por dois pontos distintos A e B, passa uma única reta “r”; observamos que “r” fica dividida em 3 conjuntos de pontos.

Podemos aceitar também as seguintes definições:

a) Segmento aberto, de extremos A e B, é o conjunto de pontos que se acham entre A e B (na reta por A e B).

b) Segmento fechado, de extremos A e B, é o conjunto incluindo-se A e B (notação usual: AB ou BA).

AB = {A,B} ∪ {x/x é o ponto entre A e B}

A ideia de semi-retas aplicada a segmentos, nos fornece o segmento orientado, quando nela estabelecemos uma origem e um sentido de percurso assim:

Admitindo-se a noção de distância entre 2 pontos como já conhecido anteriormente, podemos indicar por d (A,B) a distância entre os pontos A e B, então:

Se A ≠ B ⇒ d(A,B) = d(B,A) > 0

Se A = B ⇒ d(A,B) = d(A,A) = 0

Assim, d (A,B) = x, com X ∈ R / x > 0 (x é número real não negativo).

Podemos, então, definir a medida de um segmento AB como a distância entre as suas extremidades.

Segmentos colineares são aqueles que são subconjuntos de mesma reta.

Exemplos:

AB, MN, AN, AM, etc…

Segmentos consecutivos são aqueles que têm, pelo menos, um extremo comum.

Quando dois segmentos têm apenas uma extremidade comum são chamados adjacentes. Devemos sempre lembrar que os segmentos adjacentes são sempre consecutivos mas que nem todos os consecutivos são adjacentes.

Quanto à medida dos segmentos, eles têm, por definição, a mesma medida, sendo pois congruentes.

Sobre o Código

Na linguagem de programação Python,

from – é a palavra-chave usada para importar módulos ou partes específicas de uma biblioteca. Biblioteca, por sua vez, é um conjunto de códigos prontos que oferecem funções e ferramentas para resolver problemas específicos, sem precisar programar tudo do zero.

sympy – é a biblioteca voltada para matemática simbólica (álgebra, geometria, cálculo, etc.).

import – é a palavra-chave usada junto com from para trazer funções, classes ou módulos para o código.

Point() – é a classe da sympy que representa um ponto em um espaço (2D ou 3D). Exemplo: Point(0,0).

Segment() – é a classe da sympy que representa um segmento de reta definido por dois pontos. Exemplo: Segment(Point(0,0), Point(1,1)).

Line() – é a classe da sympy que representa uma reta infinita definida por dois pontos ou um segmento.

print() – é a função nativa que exibe informações na tela (saída padrão).

.length – é o atributo de objetos geométricos (como Segment) que retorna o comprimento (distância entre extremos).

def – é a palavra-chave usada para definir uma função.

and – é o operador lógico que retorna True se ambas as condições forem verdadeiras.

or – é o operador lógico que retorna True se pelo menos uma condição for verdadeira.

in – é o operador usado para verificar se um elemento está presente em uma coleção (lista, conjunto, string, etc.).

== – é o operador de comparação que verifica se dois valores são iguais.

return – é a palavra-chave usada dentro de funções para devolver um valor como resultado.

.intersection() – é o método de conjuntos que retorna os elementos comuns entre dois conjuntos.

# – é usado para criar comentários ao código, que são notas para se entender melhor o que o código faz.

Vamos ao código…


from sympy import Point, Segment, Line

# Definição de pontos
A = Point(0, 0)
B = Point(4, 0)
M = Point(2, 0)
N = Point(6, 0)

# Criando segmentos
AB = Segment(A, B)
AM = Segment(A, M)
BM = Segment(B, M)
AN = Segment(A, N)

# Medida de um segmento (distância entre extremos)
print("Comprimento de AB:", AB.length)
print("Comprimento de AM:", AM.length)
Código Python (.py)O que faz
from sympy import Point, Segment, LineImporta da biblioteca sympy as classes necessárias para trabalhar com pontos, segmentos e retas.
A = Point(0, 0)Cria o ponto A na coordenada (0,0).
B = Point(4, 0)Cria o ponto B na coordenada (4,0).
M = Point(2, 0)Cria o ponto M na coordenada (2,0).
N = Point(6, 0)Cria o ponto N na coordenada (6,0).
AB = Segment(A, B)Define o segmento AB com extremos A e B.
AM = Segment(A, M)Define o segmento AM com extremos A e M.
BM = Segment(B, M)Define o segmento BM com extremos B e M.
AN = Segment(A, N)Define o segmento AN com extremos A e N.
print(“Comprimento de AB:”, AB.length)Calcula e imprime o comprimento (distância) do segmento AB.
print(“Comprimento de AM:”, AM.length)Calcula e imprime o comprimento do segmento AM.

Saída do código (valor de retorno)…

Comprimento de AB: 4
Comprimento de AM: 2

# Verificando se segmentos são colineares
def colineares(seg1, seg2):
    linha1 = Line(seg1)
    return linha1.contains(seg2.p1) and linha1.contains(seg2.p2)

print("AB e AN são colineares?", colineares(AB, AN))

# Verificando se são consecutivos (têm pelo menos um extremo comum)
def consecutivos(seg1, seg2):
    return seg1.p1 in [seg2.p1, seg2.p2] or seg1.p2 in [seg2.p1, seg2.p2]

print("AM e BM são consecutivos?", consecutivos(AM, BM))
print("AB e AN são consecutivos?", consecutivos(AB, AN))
Código Python (.py)O que faz
def colineares(seg1, seg2):Define uma função para verificar se dois segmentos são colineares.
linha1 = Line(seg1)Cria uma reta a partir do primeiro segmento.
return linha1.contains(seg2.p1) and linha1.contains(seg2.p2)Retorna True se os dois pontos do segundo segmento pertencem à mesma reta do primeiro.
print(“AB e AN são colineares?”, colineares(AB, AN))Verifica se AB e AN são colineares e imprime o resultado.
def consecutivos(seg1, seg2):Define uma função para verificar se dois segmentos são consecutivos.
return seg1.p1 in [seg2.p1, seg2.p2] or seg1.p2 in [seg2.p1, seg2.p2]Retorna True se os segmentos compartilham pelo menos um extremo.
print(“AM e BM são consecutivos?”, consecutivos(AM, BM))Verifica se AM e BM são consecutivos e imprime o resultado.
print(“AB e AN são consecutivos?”, consecutivos(AB, AN))Verifica se AB e AN são consecutivos e imprime o resultado.

Saída do código (valor de retorno)…

AB e AN são colineares? True
AM e BM são consecutivos? True
AB e AN são consecutivos? True

# Verificando se são adjacentes (apenas uma extremidade comum)
def adjacentes(seg1, seg2):
    extremos_comuns = {seg1.p1, seg1.p2}.intersection({seg2.p1, seg2.p2})
    return len(extremos_comuns) == 1

print("AM e BM são adjacentes?", adjacentes(AM, BM))
print("AB e AN são adjacentes?", adjacentes(AB, AN))

# Verificando congruência (mesma medida)
def congruentes(seg1, seg2):
    return seg1.length == seg2.length

print("AM e BM são congruentes?", congruentes(AM, BM))
Código Python (.py)O que faz
def adjacentes(seg1, seg2):Define uma função para verificar se dois segmentos são adjacentes.
extremos_comuns = {seg1.p1, seg1.p2}.intersection({seg2.p1, seg2.p2})Calcula o conjunto de extremos comuns entre os dois segmentos.
return len(extremos_comuns) == 1Retorna True se houver exatamente um extremo comum (adjacência).
print(“AM e BM são adjacentes?”, adjacentes(AM, BM))Verifica se AM e BM são adjacentes e imprime o resultado.
print(“AB e AN são adjacentes?”, adjacentes(AB, AN))Verifica se AB e AN são adjacentes e imprime o resultado.
Verifica se AB e AN são adjacentes e imprime o resultado.Define uma função para verificar se dois segmentos são congruentes.
return seg1.length == seg2.lengthRetorna True se os segmentos tiverem o mesmo comprimento.
print(“AM e BM são congruentes?”, congruentes(AM, BM))Verifica se AM e BM são congruentes e imprime o resultado.

Saída do código (valor de retorno)…

AM e BM são adjacentes? True
AB e AN são adjacentes? True
AM e BM são congruentes? True

Fonte:

  • Editora Didática Paulista. Ensino Didático 2000: Ensino Fundamental e Ensino Médio. Sorocaba: Editora Didática Paulista, [s.d.].
  • Códigos e comentários gerados por Microsoft Copilot com revisão nossa.
  • https://docs.python.org/pt-br/3/ [Documentação Oficial do Python]