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))
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))