Moonshell,
основное потеряно изменение i строка 29,
странный самовызов функции строка 30,
строка 15 и 16 factor.f и factor.s скорее всего factor.x и factor.y и лучше сначала вычислить параметр а потом его применить строки 24 - 27
<!DOCTYPE HTML>
<html>
<head>
<title>canvas</title>
<meta charset="utf-8">
</head>
<body> <canvas id="canvas"></canvas>
<script>
function Maintenance() {
var point = {},
factor = {};
factor.x = 500;
factor.y = 500;
point.x = 10;
point.y = 25;
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
canvas.height = 1E3;
canvas.width = 1E3;
ctx.beginPath();
ctx.strokeStyle = "black";
ctx.lineWidth = 5;
ctx.moveTo(50, 50);
for (var i = 0; i < 50; i++) {
point.x += factor.x;
ctx.lineTo(point.x, point.y);
point.y += factor.y;
ctx.lineTo(point.x, point.y);
factor.x -= 10;
point.x -= factor.x;
ctx.lineTo(point.x, point.y);
factor.y -= 10;
point.y -= factor.y;
ctx.lineTo(point.x, point.y)
}
ctx.stroke()
};
Maintenance()
</script>
</body>
</html>