15 + 45 = 60, так что у вас есть эта сторона справа, но 15-45 = -30, поэтому вы должны добавить 360, что даст 330.
По сути, вы добавляете или вычитаете 360 каждый раз, когда выходите за пределы [0,360), где я использую а) для открытого диапазона.
Если вы хотите написать тест для окрашивания ваших маркеров в синий, скажем, h - это заголовок, o - это смещение, а x - это маркер, который мы тестируем, вы ищете что-то вроде в псевдокоде c-ish. :
t=h-x
if (t>360) {t-=360}
if (t<0) {t+=360}
if (t<o) {mark blue}