Puntos dados

x1 <- 1
y1 <- 2
x2 <- 3
y2 <- 4

Calcular la pendiente

pendiente <- (y2 - y1) / (x2 - x1)

Calcular la ordenada al origen (intercepto)

intercepto <- y1 - pendiente * x1

Imprimir la ecuación de la recta

cat("La ecuación de la recta es: y =", pendiente, "* x +", intercepto, "\n")
## La ecuación de la recta es: y = 1 * x + 1

Graficar la recta

plot(0, type = "n", xlim = c(0, 4), ylim = c(0, 5), xlab = "X", ylab = "Y", asp = 1)
abline(a = intercepto, b = pendiente, col = "blue", lty = 2, lwd = 2)

# Marcar los puntos A y B
points(x1, y1, col = "red", pch = 19)
points(x2, y2, col = "red", pch = 19)

# Etiquetar los puntos
text(x1, y1, labels = "A(1,2)", pos = 2)
text(x2, y2, labels = "B(3,4)", pos = 2)

Datos del punto y vector director

P <- c(2, 3)
v <- c(1, 2)

Función para calcular la posición de la recta

recta <- function(t) {
  P + t * v
}
recta
## function(t) {
##   P + t * v
## }

Valores de t para generar puntos en la recta

t_values <- seq(-2, 2, by = 0.1)

Coordenadas de los puntos en la recta

puntos_recta <- sapply(t_values, recta)

Coordenadas de los vectores OP y OQ

OP <- P
Q <- c(4, 7)  # Puedes cambiar las coordenadas de Q según tus necesidades

Gráfico

plot(puntos_recta[1, ], puntos_recta[2, ], type = "l", 
     xlab = "x", ylab = "y", main = "Ecuación Vectorial de la Recta",
     xlim = c(0, 5), ylim = c(0, 10))
points(P[1], P[2], pch = 19, col = "red", cex = 1.5)
arrows(0, 0, P[1], P[2], length = 0.1, col = "purple")
arrows(0, 0, Q[1], Q[2], length = 0.1, col = "green")
text(P[1] + 0.5, P[2] + 0.5, "P(2, 3)", pos = 2, col = "red")
text(Q[1] + 0.5, Q[2] + 0.5, "OQ", pos = 2, col = "green")

# Vectores OP y OQ
arrows(OP[1], OP[2], P[1], P[2], length = 0.1, col = "purple")
## Warning in arrows(OP[1], OP[2], P[1], P[2], length = 0.1, col = "purple"):
## zero-length arrow is of indeterminate angle and so skipped
arrows(OP[1], OP[2], Q[1], Q[2], length = 0.1, col = "blue")
text(P[1] - 0.5, P[2] - 0.5, "OP", pos = 2, col = "purple")
text(Q[1] + 0.5, Q[2] + 0.5, "vec.dir", pos = 1, col = "blue")

# Leyenda (más pequeña y en la esquina inferior derecha)
legend("bottomright", legend = c("Recta", "Punto P", "OP", "OQ","vec.dir"), 
       col = c("black", "red", "purple", "green","blue"), lty = 1, pch = 19, cex = 0.8)

Coordenadas del punto

x_punto <- -1
y_punto <- 3

Ecuación de la recta

ecuacion_recta <- function(x) {
  return(5 - 2 * x)
}

Verificar si el punto está en la recta

esta_en_recta <- y_punto == ecuacion_recta(x_punto)

# Imprimir el resultado
if (esta_en_recta) {
  cat("El punto (", x_punto, ",", y_punto, ") está en la recta.\n")
} else {
  cat("El punto (", x_punto, ",", y_punto, ") no está en la recta.\n")
}
## El punto ( -1 , 3 ) no está en la recta.

Graficar la recta y el punto

x_recta <- seq(-2, 2, by = 0.1)
y_recta <- ecuacion_recta(x_recta)

plot(x_recta, y_recta, type = "l", col = "blue", lty = 2, lwd = 2, xlim = c(-2, 2), ylim = c(0, 6),
     xlab = "X", ylab = "Y", main = "Recta y Punto")

points(x_punto, y_punto, col = "red", pch = 19)
text(x_punto, y_punto + 0.5, labels = sprintf("(%d,%d)", x_punto, y_punto), col = "red")
legend("topright", legend = c("Recta", "Punto"), col = c("blue", "red"), lty = c(2, 0), lwd = c(2, 1))

Datos dados

x1 <- 6
y1 <- -3
pendiente <- -1/2

Calcular la ordenada al origen (intercepto)

intercepto <- y1 - pendiente * x1

Imprimir la ecuación de la recta

cat("La ecuación de la recta es: y =", pendiente, "* x +", intercepto, "\n")
## La ecuación de la recta es: y = -0.5 * x + 0

Generar valores x para la línea

x_linea <- seq(0, 10, by = 0.1)

Calcular los valores y correspondientes a la línea

y_linea <- pendiente * x_linea + intercepto

Graficar la recta

plot(0, type = "n", xlim = c(0, 10), ylim = c(-5, 5), xlab = "X", ylab = "Y", asp = 1)
abline(a = intercepto, b = pendiente, col = "blue", lty = 2, lwd = 2)

# Marcar el punto C
points(x1, y1, col = "red", pch = 19)

# Etiquetar el punto
text(x1, y1, labels = "C(6,-3)", pos = 2)

# Añadir título
title("Recta con Pendiente -1/2 que Pasa por el Punto C(6,-3)")

# Graficar la línea
lines(x_linea, y_linea, col = "green", lty = 1, lwd = 2)
legend("topright", legend = c("Recta", "Punto C"), col = c("blue", "red"), lty = c(2, NA), lwd = c(2, 1))