У меня есть выход из коммерческой программы, которая содержит двугранные углы молекулы во времени. Проблема возникает, по-видимому, из-за известной проблемы квадранта при взятии косинусов, что ваш интервал составляет от -180 до 180, и я не знаком с этим. Если двугранник будет больше 180, эта коммерческая программа (SHARC, для моделирования молекулярной динамики) понимает, что он больше -180, создавая скачки на графиках (вы можете увидеть пример на рисунке ниже). Существует ли правильный математический способ преобразования этих графиков в гладкие кривые, даже если это означает переход к двугранникам выше 180? Я пытаюсь создать программу на Python для работы с каждым особым случаем при переходе от 180 до -180 или наоборот, как работать со случаями около 90 или 0 градусов, используя синусы и косинусы... Но это становится чрезвычайно сложным, с более чем 12 вложенными командами if
внутри цикла for
, проходящего по оси X. Если бы это была только одна фигура, я бы мог сделать ее вручную, но у меня будут десятки подобных сюжетов. Я прилагаю файл ascii с тем, что для построения этого рисунка.
Я бы хотел, чтобы это выглядело так:
Большое спасибо,
Кайо-Гонсалвеш