Найти в Дзене

Геометрия. Определение координат высоты для треугольника через координаты его вершин. Реализация на Python.

Рассмотрим ряд примеров по программированию на языке Python. Этот раздел предназначен для тех, кто впервые сталкивается с программированием. Вам предлагается решить задачи на получение параметров координат биссектрисы, медианы и высоты в треугольнике с помощью программирования. Координаты вершин: A(3;1), B(5;6), C(7;2) Опускаем перпендикуляр из вершины С на сторону AB. На пересечении высоты и стороны AB получим точку D. Для программного решения задачи необходимо получить уравнение прямой, проходящей через вершины A и B, а также уравнение перпендикуляра к прямой, которой принадлежит вершина С. Уравнение прямой y = kx + b Для прямой, проходящей через точки A, и получаем k: Перпендикуляр к прямой, проходящей через вершины A и B, будет иметь Для определения координат точки D необходимо найти точку пересечения перпендикуляра к стороне AB с прямой, проходящей через вершины A и B. y4 = round(k2*x4 + b2, 2) print('x4 = ', x4,' y4 = ', y4) Задание: реализовать расчет координат высот, медиан и б

Рассмотрим ряд примеров по программированию на языке Python. Этот раздел предназначен для тех, кто впервые сталкивается с программированием. Вам предлагается решить задачи на получение параметров координат биссектрисы, медианы и высоты в треугольнике с помощью программирования.

Рис. 1 Треугольник ABC
Рис. 1 Треугольник ABC

Координаты вершин: A(3;1), B(5;6), C(7;2)

Опускаем перпендикуляр из вершины С на сторону AB. На пересечении высоты и стороны AB получим точку D.

Для программного решения задачи необходимо получить уравнение прямой, проходящей через вершины A и B, а также уравнение перпендикуляра к прямой, которой принадлежит вершина С.

Уравнение прямой y = kx + b

Для прямой, проходящей через точки A, и получаем k:

Уравнение прямой AB
Уравнение прямой AB

Перпендикуляр к прямой, проходящей через вершины A и B, будет иметь

уравнение прямой CD
уравнение прямой CD

Для определения координат точки D необходимо найти точку пересечения перпендикуляра к стороне AB с прямой, проходящей через вершины A и B.

#координата y высоты к первой стороне
#координата y высоты к первой стороне

y4 = round(k2*x4 + b2, 2)

print('x4 = ', x4,' y4 = ', y4)

Задание: реализовать расчет координат высот, медиан и биссектрис для остальных вершин. Сверить решения можно будет в следующей публикации.

Программа, приведенная выше, представляет одну из простейших реализаций искусственного интеллекта (ИИ), построенного на обычном алгоритме, который может вывести и реализовать каждый.

Немного теории по языку Python: цикл for позволяет проводить итерации — реализовывать набор инструкций нужное количество раз. Его используют, когда количество итераций известно заранее, поэтому второе название цикла — c предусловием.

Синтаксис цикла for

for (<объявление условия>)

<условие 1>

<тело цикла>

<условие 2>

<тело цикла>

<условие n>

<тело цикла>

<код, который выполняет каждый шаг>

<код, который выполняется после итерации>

Рассмотрим пример цикла for:

#список значений

fibonacci = [0,1,1,2,3,5,8,13,21]

#цикл for от 0 до len(fibonacci)

# len(fibonacci) - длина списка fibonacci

for i in range(len(fibonacci)):

print(i,fibonacci[i])

Ещё один пример цикла for:

fib1 = 0
fib2 = 1
n = int(input())
print(fib1, fib2, end=
' ')
for i in range(2, n):
fib1, fib2 = fib2, fib1 + fib2
print(fib2, end=
' ')

Далее обещанный код программы определения угла между векторами в трехмерном пространстве:

import math
from math import *
#2; -2; 0
#3; 0; -3
x1 = float(input("Введите координату x первого вектора: "))
y1 = float(input(
"Введите координату y первого вектора: "))
z1 = float(input(
"Введите координату z первого вектора: "))
x2 = float(input(
"Введите координату x второго вектора: "))
y2 = float(input(
"Введите координату y второго вектора: "))
z2 = float(input(
"Введите координату z второго вектора: "))
m1=(x1**2+y1**2+z1**2)**0.5
m2=(x2**2+y2**2+z2**2)**0.5
знам = m1*m2
val = (x1*x2+y1*y2+z1*z2)/знам
rez1 = math.acos(val)
rez = rez1*180/math.pi
print(
'угол между векторами = ',rez)

формула угла между векторами
формула угла между векторами