Odległość punktu od prostej¶
Opis problemu¶
Implementacja¶
Opis implementacji¶
Funkcja point_line_distance przyjmuje jako argumenty współrzędne dwóch punktów (line_point1, line_point2) określających prostą oraz współrzędne punktu (point), dla którego obliczana jest odległość. Na początku obliczane są różnice między współrzędnymi drugiego punktu a pierwszego punktu prostej. Wartość a to różnica współrzędnymi \(y\), a b to różnica pomiędzy współrzędnymi \(x\).
Następnie obliczana jest odległość między punktem a prostą przy użyciu wzoru abs(a * (line_point1["x"] - point["x"]) + b * (point["y"] - line_point1["y"])) / sqrt(a * a + b * b), gdzie:
a * (line_point1["x"] - point["x"]) + b * (point["y"] - line_point1["y"])oblicza numeryczną wartość iloczynu skalarnego między wektorem normalnym do prostej a wektorem od pierwszego punktu prostej do badanego punktu,abs(...)oblicza wartość bezwzględną tego iloczynu skalarnego,sqrt(a * a + b * b)oblicza długość wektora normalnego do prostej.
Wynik obliczeń jest zwracany jako wartość odległości.
W przykładzie podane są konkretne wartości dla punktu point i prostych (line_point1, line_point2). Funkcja point_line_distance jest wywoływana z tymi wartościami, a obliczona odległość jest wyświetlana przy użyciu funkcji print.
W wyniku wykonania tego kodu, zostanie wyświetlona odległość między punktem \((-5, -8)\) a prostą przechodzącą przez punkty \((-3, -4)\) i \((7, 6)\).