Reta e Semi-reta em Código
Sobre a Matemática
Como já foi dito anteriormente a ideia de reta nos é dada através de intuição.
Considerando uma imagem de um ponto A, por este ponto passam infinitas retas assim, dois pontos distintos determinam uma reta e três pontos não colineares determinam um plano.

Um ponto A de uma reta r divide a mesma em dois subconjuntos chamados “semi-retas”.
Para designar essas semi-retas, tomamos dois pontos B e C distintos de A, de tal modo que B, A, C se sucedem nessa ordem.
Assim, o ponto A é origem das semi-retas e pertence a ambas.

Sobre o Código
Na linguagem de programação Python,
import – é o comando usado para trazer bibliotecas externas para o código.
matplotlib – é a biblioteca para criação de gráficos e visualizações.
pyplot – é o submódulo do matplotlib que fornece funções para criar gráficos de forma simples.
as plt – define um apelido (alias) para o módulo importado, facilitando seu uso.
numpy – é a biblioteca para cálculos numéricos e manipulação de arrays.
.array() – é a função do NumPy que cria um vetor ou matriz a partir de uma lista.
def – é a palavra-chave usada para definir uma função.
.linspace() – é a função do NumPy que gera valores igualmente espaçados em um intervalo.
return – é o comando que devolve um valor ou resultado de uma função.
.figure() – é a função do matplotlib que cria uma nova figura (área de desenho).
figsize= – é o parâmetro que define o tamanho da figura em polegadas (largura, altura).
.plot() – é a função que desenha linhas ou curvas em um gráfico.
label= – é o parâmetro que define o nome exibido na legenda para um elemento do gráfico.
color= – é o parâmetro que define a cor de um elemento gráfico.
.scatter() – é a função que plota pontos individuais em coordenadas (x,y).
.axhline() – é a função que desenha uma linha horizontal no gráfico.
.axvline() – é a função que desenha uma linha vertical no gráfico.
linewidth= – é o parâmetro que define a espessura da linha no gráfico.
.legend() – exibe a legenda do gráfico com os nomes definidos em label.
.title() – define o título do gráfico.
.grid() – ativa ou desativa a grade de fundo do gráfico.
.show() – exibe o gráfico na tela.
# – é 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…
import matplotlib.pyplot as plt
import numpy as np
# Definindo pontos
A = np.array([0, 0]) # origem
B = np.array([2, 3]) # ponto para semi-reta 1
C = np.array([-3, -1]) # ponto para semi-reta 2
# Função para gerar semi-reta
def semi_reta(origem, direcao, tamanho=10):
t = np.linspace(0, tamanho, 100)
x = origem[0] + t * (direcao[0] - origem[0])
y = origem[1] + t * (direcao[1] - origem[1])
return x, y
# Gerando semi-retas
x1, y1 = semi_reta(A, B)
x2, y2 = semi_reta(A, C)| Código Python (.py) | O que faz |
| import matplotlib.pyplot as plt | Importa a biblioteca matplotlib para criar gráficos e visualizações. |
| import numpy as np | Importa a biblioteca NumPy, usada para manipulação de vetores e cálculos numéricos. |
| A = np.array([0, 0]) | Define o ponto A (origem) como coordenadas (0,0). |
| B = np.array([2, 3]) | Define o ponto B como coordenadas (2,3). |
| C = np.array([-3, -1]) | Define o ponto C como coordenadas (-3,-1). |
| def semi_reta(origem, direcao, tamanho=10): | Cria uma função chamada semi_reta que gera os pontos de uma semi-reta a partir de uma origem em direção a outro ponto. |
| t = np.linspace(0, tamanho, 100) | Cria 100 valores igualmente espaçados entre 0 e tamanho (10), que representam o parâmetro da semi-reta. |
| x = origem[0] + t * (direcao[0] – origem[0]) | Calcula as coordenadas x da semi-reta, partindo da origem e indo na direção do ponto escolhido. |
| y = origem[1] + t * (direcao[1] – origem[1]) | Calcula as coordenadas y da semi-reta, de forma análoga ao cálculo de x. |
| return x, y | Retorna os pontos (x,y) da semi-reta para serem usados no gráfico. |
| x1, y1 = semi_reta(A, B) | Gera os pontos da semi-reta que parte de A em direção a B. |
| x2, y2 = semi_reta(A, C) | Gera os pontos da semi-reta que parte de A em direção a C. |
# Plotando
plt.figure(figsize=(6,6))
plt.plot(x1, y1, label="Semi-reta AB", color="blue")
plt.plot(x2, y2, label="Semi-reta AC", color="red")
plt.scatter(*A, color="black", label="Ponto A (origem)")
plt.scatter(*B, color="blue")
plt.scatter(*C, color="red")
plt.axhline(0, color="gray", linewidth=0.5)
plt.axvline(0, color="gray", linewidth=0.5)
plt.legend()
plt.title("Representação de Semi-retas a partir de A")
plt.grid(True)
plt.show()| Código Python (.py) | O que faz |
| plt.figure(figsize=(6,6)) | Cria uma figura de tamanho 6×6 para o gráfico. |
| plt.plot(x1, y1, label=”Semi-reta AB”, color=”blue”) | Plota a semi-reta AB em azul com legenda. |
| plt.plot(x2, y2, label=”Semi-reta AC”, color=”red”) | Plota a semi-reta AC em vermelho com legenda. |
| plt.scatter(*A, color=”black”, label=”Ponto A (origem)”) | Marca o ponto A em preto no gráfico e adiciona legenda. |
| plt.scatter(*B, color=”blue”) | Marca o ponto B em azul. |
| plt.scatter(*C, color=”red”) | Marca o ponto C em vermelho. |
| plt.axhline(0, color=”gray”, linewidth=0.5) | Desenha a linha horizontal do eixo x (y=0) em cinza. |
| plt.axvline(0, color=”gray”, linewidth=0.5) | Desenha a linha vertical do eixo y (x=0) em cinza. |
| plt.legend() | Exibe a legenda do gráfico. |
| plt.title(“Representação de Semi-retas a partir de A”) | Define o título do gráfico. |
| plt.grid(True) | Ativa a grade no gráfico para melhor visualização. |
| plt.show() | Exibe o gráfico na tela. |
Saída do código (valor de retorno)…

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]