Как задать направление тора(пончика)?

Формула тора:

(x**2 + y**2 + z**2 + R**2 - r**2)**2 - 4*(R**2)*(x**2 + y**2)=0

Так можно задать тор и расположение его центральной точки:

((a - x)**2 + (b - y)**2 + (c - z)**2 + R**2 - r**2)**2 - 4*(R**2)*((a - x)**2 + (b - y)**2) = 0

где: a, b, c = (x, y, z) # центральная точка
А как задать вращение, относительно центральной точки, зная вектор в который он будет направлен.


Ответы (1 шт):

Автор решения: eri

Общая формула поворота

введите сюда описание изображения

то для поворота x нужно заменить на x'

x' =   x * cos(a)cos(в)
     + y * (cos(a)sin(в)sin(г)-sin(а)cos(г))
     + z * (cos(а)sin(в)cos(г)+sin(а)sin(г))

и так далее. Если это нужно в компьютерной программе, то лучше оставить все изменения в 3х матрицах и умножать через numpy или простую функцию

В матрице поворота также можно сделать смещение заменив нули в столбце на нужную величину и масштабировать - сжимать/растягивать умножив коэфиценты

→ Ссылка