PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bresenham-Algorithmus (Kreis)



da_domi
13.06.2010, 17:03
Also ein bisschen vorneweg:

Der Bresenham-Algorithmus ist ein Code zur Ausgabe von einem geometrischen Objekt, in dem Fall ein Kreis.
Hab ich von http://www-i1.informatik.rwth-aachen.de/~algorithmus/algo32.php (http://www-i1.informatik.rwth-aachen.de/%7Ealgorithmus/algo32.php)

Ist hier in C geschrieben, ist aber natürlich ganz einfach in Javascript zu portieren und funktionier auch an sich, blos klappt was mit der Ausgabe nicht, an dem mach ich jetzt schon ziemlich lang rum.

Erst mal der reine Code:



<html>
<head>
<title>Montecarlo</title>
</head>
<body>

<form name="form">
<div id="Layer1" style="Height:800px ; Width: 800px ; background-color:#FFFFFF; border-color:black; border-width:1px; border-style:solid; z-index:2"></div>
</form>


<script language="JavaScript">
<!--

var R = 800;
var x = 0;
var y = R;
var F = 1 - R;

while(x < y)
{

x++;

if(F < 0) {
F+=2*x -1;
} else {
F+= 2*(x-y);
y--;
}

var mydiv = document.createElement("div");
var mydiv2 = document.createElement("div");
mydiv.style.backgroundColor='black';
mydiv.style.height='4px';
mydiv.style.width='4px';
mydiv2.style.backgroundColor='black';
mydiv2.style.height='4px';
mydiv2.style.width='4px';
mydiv.style.marginLeft=x;
mydiv.style.marginTop=-y;
mydiv2.style.marginLeft=y;
mydiv2.style.marginTop=-x;
form.appendChild(mydiv);
form.appendChild(mydiv2);
}




//-->
</script>

<noscript></noscript>

</body>
</html>Vllt. kann sichs ja mal einer anschauen, CSS hab ich noch nie wirklich gebraucht, hab ich hier zum ersten Mal wirklich benutzt, warscheinlich liegts an dem.

Danke schonmal

//EDIT: Hat eh keiner was gewusst, aber egal, ich habs jetzt gelöst, die Position der Pixel musste nur absolut angegeben werden.