Углы от точки до концов конечной линии относительно кратчайшего вектора от этой точки до конечной линии, если она была бесконечной - PullRequest
0 голосов
/ 26 февраля 2020

Задача в 3-х местах (ярко-красная линия перпендикулярна синей) Привет! Так что это относится к использованию Био-Савара для нахождения поля magneti c из конечного провода. В результате получается уравнение фантазии c:

B = ((µ0 * I) / (4 * pi * a)) [sin (θ1) + sin (θ2)] * k_hat

Я создаю программу, которая должна быть способна вычислять поле c magneti любой точки в 3-х пространствах любой конфигурации проводов

- k_hat - это единица кросс-произведения между любыми векторами из указать на линию, и сама линия. Это направление магнитного поля c.

- "µ0" - это постоянная вакуумной проницаемости

- "I" - ток, проходящий через провод

-'a '- это расстояние от точки до линии

-' θ1 '- это угол от вектора, который будет представлять' a 'к начальной точке провода

-' θ2 ' - угол от вектора, который будет представлять 'a' к конечной точке провода

ПРОБЛЕМА: учитывая, что в пространстве есть конечная линия, представленная вектором положения, который указывает на начало линии, и вектор направления, который имеет ту же величину и направление этой линии. Если бы точка вокруг нее была выбрана случайным образом относительно другой прямой, проходящей через эту точку и перпендикулярной направлению конечной линии (представляет собой кратчайший вектор из этой точки в конечную линию, если она была бесконечной (это Я не могу найти)). каков будет угол между этим вектором и вектором, который перемещается от случайной точки к началу конечной линии (θ1), и угол между самым коротким вектором (снова) и вектором от случайной точки до конца конечной линии?

Как мне получить θ1 и θ2? (На изображении выше, θ1 превратится в отрицательный при правильном вычислении)

Длина 'a', которую я обнаружил, равна mag [cross (rp, d)] / mag (d), с 'r' является вектором положения для начала провода, 'p' является вектором положения для точки, а 'd' является вектором / вектором направления, который представляет линию.

Обновление: вектор ' a 'is = r - p - d * ((d. ​​(rp)) / (dd))

...