Я хочу нарисовать форму сердца в HTML 5 холст. Я знаю математическое уравнение, которое генерирует координаты в форме сердца. Я реализовал эти уравнения в функции JavaScript, и эта функция возвращает координаты. Все работает правильно, и сердце нарисовано на холсте. Но размер формы сердца фиксирован. Я пробовал много вещей, чтобы увеличить его размер, но ни одна из них не работает. Можете ли вы помочь мне изменить что-то в уравнении, чтобы получить желаемый размер?
Вот уравнения: -
х = 16 грех (т) * грех (т) * грех (т)
y = 13 cos (т) - 5 cos (2т) - 2 cos (3т) - cos (4т)
Я не знаю, как показать силу в этом редакторе, поэтому я умножил грех (t) в три раза.
Вот функция JavaScript: -
function getCordinatesOnHeartShape(x, y) {
var cordinates = [];
var pi = Math.PI;
for(var t = 0; t <= 360; t++) {
var tr = (t * pi)/180;
cordinates[t] = {
x : (x - (16 * Math.sin(tr) * Math.sin(tr) * Math.sin(tr))),
y : (y -((13 * Math.cos(tr)) - (5 * Math.cos(2 * tr)) - (2 * Math.cos(3 * tr)) - Math.cos(4 * tr)))
};
}
return cordinates;
}
Вот как я нарисовал сердце на холсте в позиции (200, 200): -
ctx.beginPath();
var hc = getCordinatesOnHeartShape(200, 200);
for(var i = 0; i < hc.length; i++) {
ctx.lineTo(hc[i].x, hc[i].y);
}
ctx.fill();
Это нарисует сердце фиксированного размера на позиции (200, 200), и я хочу изменить его размер. Спасибо.