Asteroida (1)

Jest szczególnym przypadkiem hipocykloidy, gdy m, czyli liczba
ostrz równa się 4. Asteroida wyrażona jest równaniem parametrycznym:

x = A*cos3φ

x = A*sin3φ

gdzie A i φ są współrzędnymi biegunowymi punktu.

Zawartość możesz zobaczyć w
przeglądarce obsługującej element <canvas>
z kontekstem "2d"

Listing

/**
 * Rysuje asteroidę strokeStyle - kolor krzywej r promień krzywej liczbaPunktow -
 * liczba punktów rysujących krzywą
 */		 
var asteroida = function(r, liczbaPunktow, strokeStyle) {
	ctx.save();
	ctx.beginPath();
	ctx.translate(w / 2, h / 2);
	ctx.strokeStyle = strokeStyle;
	var x1 = r;
	var y1 = 0;
	var x2;
	var y2;
	for ( var i = 0; i < liczbaPunktow; i++) {
		var t = i * Math.PI / 360.0;
		x2 = r * Math.pow(Math.cos(t), 3);
		y2 = r * Math.pow(Math.sin(t), 3);
		ctx.moveTo(x1, y1);
		ctx.lineTo(x2, y2);
		x1 = x2;
		y1 = y2;
	}			
	ctx.stroke();			
	ctx.restore();
};
	var cv = document.getElementById("canvas");
	var ctx = cv.getContext("2d");
	var w = cv.width;
	var h = cv.height;
	asteroida(150, 1000, "blue");
		
            

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *