Почему косинус используется для вычисления значений x и синуса значения y для дуги?

Я пытаюсь понять математику на этой raphael.js демонстрации:

http://raphaeljs.com/pie.js

Контроль метод сектора:

function sector(cx, cy, r, startAngle, endAngle, params) {
    var x1 = cx + r * Math.cos(-startAngle * rad),
        x2 = cx + r * Math.cos(-endAngle * rad),
        y1 = cy + r * Math.sin(-startAngle * rad),
        y2 = cy + r * Math.sin(-endAngle * rad);
    return paper.path(["M", cx, cy, "L", x1, y1, "A", r, r, 0, +(endAngle - startAngle > 180), 0, x2, y2, "z"]).attr(params);
}

Это - фактическая демонстрация: http://raphaeljs.com/pie.html

Моя математика немного ржава, и я пытаюсь понять функцию сектора - учитывая startAngle и запутать параметры (каждый запускает и значения конечной точки между 0 и 360 рисунками дуга), почему это функционирует работа?

5
задан Bjorn 15 August 2010 в 18:05
поделиться