Top.Mail.Ru
Ответы

Написать функцию, вычисляющую скалярное произведение двух векторов

Написать функцию, вычисляющую скалярное произведение двух векторов, заданных своими координатами в пространстве. В основной программе ввести координаты трех векторов и проверить, какие из них перпендикулярны (ортогональны).

По дате
По рейтингу
Аватар пользователя
Просветленный

def scalar_product(vector1, vector2):
"""Calculate the scalar product of two vectors."""
return sum(a * b for a, b in zip(vector1, vector2))

# Example vectors
vector_a = (1, 2, 3)
vector_b = (-2, 0, 1)
vector_c = (4, -1, 2)

# Calculating the scalar products
product_ab = scalar_product(vector_a, vector_b)
product_ac = scalar_product(vector_a, vector_c)
product_bc = scalar_product(vector_b, vector_c)

product_ab, product_ac, product_bc

Аватар пользователя
Профи

def scalar_product(vector1, vector2):
"""Вычисляет скалярное произведение двух векторов."""
result = sum(x * y for x, y in zip(vector1, vector2))
return result

def are_orthogonal(vector1, vector2):
"""Проверяет, являются ли два вектора ортогональными (перпендикулярными)."""
return scalar_product(vector1, vector2) == 0

# Основная программа
if __name__ == "__main__":
# Ввод координат для трех векторов
vector_a = [float(input("Введите координату x для вектора A: ")),
float(input("Введите координату y для вектора A: ")),
float(input("Введите координату z для вектора A: "))]

vector_b = [float(input("Введите координату x для вектора B: ")),
float(input("Введите координату y для вектора B: ")),
float(input("Введите координату z для вектора B: "))]

vector_c = [float(input("Введите координату x для вектора C: ")),
float(input("Введите координату y для вектора C: ")),
float(input("Введите координату z для вектора C: "))]

# Проверка ортогональности векторов
if are_orthogonal(vector_a, vector_b):
print("Вектор A ортогонален (перпендикулярен) вектору B.")
else:
print("Вектор A не ортогонален вектору B.")

if are_orthogonal(vector_a, vector_c):
print("Вектор A ортогонален (перпендикулярен) вектору C.")
else:
print("Вектор A не ортогонален вектору C.")

if are_orthogonal(vector_b, vector_c):
print("Вектор B ортогонален (перпендикулярен) вектору C.")
else:
print("Вектор B не ортогонален вектору C.")