Intel предоставляет предварительно скомпилированные модули Python бесплатно в разделе «Распределение Intel для Python». Модули скомпилированы с использованием MKL (Math Kernel Library) от Intel и оптимизированы для повышения производительности. Пакет включает в себя NumPy, SciPy, scikit-learn, pandas, matplotlib, Numba, tbb, pyDAAL, Jupyter и другие. Для получения дополнительной информации и ссылки для загрузки здесь
Я не уверен, почему вы ожидаете изменения ротации. У вас есть программные «существа», представляющие исходную точку, точку назначения и поворот. Вычисление точки назначения на основе двух других «существ» не должно влиять на них.
А как насчет обычного подхода? Если вам нужно повернуть позицию (x, y, z) вокруг точки (a, b, c), сначала переместите позицию так, чтобы вращение было вокруг начала координат: используйте (xa, yb, zc) как позицию , поверните вокруг начала координат, как обычно, чтобы получить новую переведенную позицию (x'-a, y'-b, z'-c), и переместите обратно и получите новую позицию (x ', y', z ').
Я не знаком с кватернионами, и, возможно, это совершенно оффтоп, но вы не можете вращать трехмерный объект вокруг точки, ось вращения должна быть линией.