Одна вещь, которая может оказаться очень полезной: Прежде чем это станет слишком большим, попытайтесь разделить его на несколько файлов для различных задач: Мой .emacs просто устанавливает мой путь загрузки и загрузки набор файлов - у меня есть все свои определенные для режима настройки в mode-configs.el
, привязки клавиш в keys.el
, и так далее
// edit to add conversion
#define radian2degree(a) (a * 57.295779513082)
#define degree2radian(a) (a * 0.017453292519)
x = start_x + len * cos(angle);
y = start_y + len * sin(angle);
Вы не говорите, относительно какого угла измеряется угол или в каком направлении идут ваши оси. Это будет иметь значение.
Сначала вам нужно преобразовать градусы в радианы (умножить на Пи и разделить на 180). Затем вам нужно взять синус и косинус вашего угла и умножить их на длину линии. Теперь у вас есть два числа для ваших координат, но это зависит от того, в каком направлении идут ваши оси и откуда вы измеряете свои углы, какое из этих значений является координатой x, а какое - y, и нужно ли отрицать какое-либо из них.
math.h
содержит все тригонометрические функции, которые вам могут понадобиться. Возможно, вам потребуется передать -lm
компоновщику, в зависимости от того, на какой системе вы строите (иногда это происходит автоматически).