Aufgabenstellung

Gegeben ist jeweils eine Gerade g und ein Punkt P. Gesucht ist eine Parametergleichung der Ebene E, die sowohl die Gerade als auch den Punkt enthält.

Lösungsweg

Eine Ebene braucht drei Zutaten:

Zutat Quelle
Stützvektor a Stützvektor der Geraden g
1. Richtungsvektor u Richtungsvektor der Geraden g
2. Richtungsvektor v Vektor von A nach P, also v = P − A

Allgemeine Formel:

E: x = a + r · u + s · v

Vorbereitung

library(plotly)
make_plane <- function(point, v1, v2, n = 15, alpha = 0.3, color = "deepskyblue") {
  s_vals <- seq(-2, 2, length.out = n)
  t_vals <- seq(-2, 2, length.out = n)
  X <- Y <- Z <- matrix(0, nrow = n, ncol = n)
  for (i in 1:n) {
    for (j in 1:n) {
      p <- point + s_vals[i] * v1 + t_vals[j] * v2
      X[i, j] <- p[1]; Y[i, j] <- p[2]; Z[i, j] <- p[3]
    }
  }
  plot_ly(type = "surface", x = X, y = Y, z = Z,
          colorscale = list(c(0, 1), c(color, color)),
          opacity = alpha, showscale = FALSE, hoverinfo = "skip")
}

add_line <- function(p, point, direction, color = "red", t_range = c(-3, 3)) {
  t <- seq(t_range[1], t_range[2], length.out = 100)
  p %>% add_trace(type = "scatter3d", mode = "lines",
                  x = point[1] + t * direction[1],
                  y = point[2] + t * direction[2],
                  z = point[3] + t * direction[3],
                  line = list(color = color, width = 6),
                  name = "Gerade g", hoverinfo = "name")
}

add_vector <- function(p, start, vector, color = "green", label = "", scale = 1.0) {
  end <- start + vector * scale
  p %>% add_trace(type = "scatter3d", mode = "lines+markers",
                  x = c(start[1], end[1]), y = c(start[2], end[2]), z = c(start[3], end[3]),
                  line = list(color = color, width = 5),
                  marker = list(size = 5, color = color),
                  name = label, hoverinfo = "name")
}

add_point <- function(p, point, label, color = "black", size = 6) {
  p %>% add_trace(type = "scatter3d", mode = "markers+text",
                  x = point[1], y = point[2], z = point[3],
                  marker = list(size = size, color = color, symbol = "circle"),
                  text = label, textposition = "top center",
                  textfont = list(size = 13, color = color),
                  name = label, hoverinfo = "name")
}

Teilaufgabe a)

Gegeben: g mit Stützvektor (2, −1, 3) und Richtung (−3, 1, 2), Punkt P(1 | 0 | −2).

Rechnung: Der zweite Richtungsvektor ist v = P − A = (−1, 1, −5).

Ergebnis:

E: x = (2, −1, 3) + r · (−3, 1, 2) + s · (−1, 1, −5)
a <- c(2, -1, 3); u <- c(-3, 1, 2); P <- c(1, 0, -2); v <- P - a

p_a <- make_plane(a, u, v, color = "deepskyblue", alpha = 0.3) %>%
  add_line(a, u, color = "red") %>%
  add_vector(a, u, color = "darkred", label = "u (Richtung g)") %>%
  add_vector(a, v, color = "green", label = "v (a → P)") %>%
  add_point(a, "A(2|−1|3)", color = "darkred") %>%
  add_point(P, "P(1|0|−2)", color = "green") %>%
  layout(title = "15a) Ebene E durch g und P",
         scene = list(xaxis = list(title = "x"),
                      yaxis = list(title = "y"),
                      zaxis = list(title = "z"),
                      aspectmode = "data"),
         legend = list(x = 0.02, y = 0.98))
p_a

Teilaufgabe b)

Gegeben: g mit Stützvektor (1, 4, 2) und Richtung (1, −1, 1), Punkt P(0 | 0 | 0).

Rechnung: Der zweite Richtungsvektor ist v = P − A = (−1, −4, −2).

Ergebnis:

E: x = (1, 4, 2) + r · (1, −1, 1) + s · (−1, −4, −2)
a_b <- c(1, 4, 2); u_b <- c(1, -1, 1); P_b <- c(0, 0, 0); v_b <- P_b - a_b

p_b <- make_plane(a_b, u_b, v_b, color = "gold", alpha = 0.3) %>%
  add_line(a_b, u_b, color = "red") %>%
  add_vector(a_b, u_b, color = "darkred", label = "u (Richtung g)") %>%
  add_vector(a_b, v_b, color = "green", label = "v (a → P)") %>%
  add_point(a_b, "A(1|4|2)", color = "darkred") %>%
  add_point(P_b, "P(0|0|0)", color = "green") %>%
  layout(title = "15b) Ebene E durch g und P",
         scene = list(xaxis = list(title = "x"),
                      yaxis = list(title = "y"),
                      zaxis = list(title = "z"),
                      aspectmode = "data"),
         legend = list(x = 0.02, y = 0.98))
p_b

Zusammenfassung

Ebene = Gerade + Punkt
1. Stützvektor von g übernehmen
2. Richtungsvektor von g übernehmen
3. Vektor von A nach P berechnen → 2. Richtung
4. Kollinearität prüfen (sonst keine Ebene!)