Avatar billede madslee Nybegynder
20. november 2003 - 21:23 Der er 5 kommentarer

eksemple på cirkel opdeling

Hej nogen der kan lave mig et eksemple på hvordan man finder nogen X / Y koordinater på en cirkel
altså

jeg har en cirkel størrelse 200px i diamenter
nu vil jeg gerne have en funktion der opdeler min cirkel altså finder nogen koordinater ..

hvis jeg f.eks giver funktionen argumentet (5) skal den opdele cirkelen i 5 punkter og jeg skal have de 5 punkter (x/y) i en array elelr lign og det skal jeg så kunne gøre med hvilket som helst nummer!

håber det er muligt mvh Mads
Avatar billede roenving Novice
20. november 2003 - 21:28 #1
Koordinaterne til et punkt på en cirkel er jo sin(v), cos(v) i enhedscirklen, så du kan jo bare dele tallet op i 360 grader og gange sin og cos med radius !-)
Avatar billede cautoo Nybegynder
20. november 2003 - 21:32 #2
Vil lige genopfriske, en generel cirkels formel:
r² = (x - a)² + (y - b)²

r = radius

(a, b) = (x,y) (centrum)
Avatar billede cautoo Nybegynder
20. november 2003 - 21:34 #3
...men husk at en cirkels ligning ikke er en funktion da der godt kan være flere y værdier til samme x værdi...
Avatar billede madslee Nybegynder
20. november 2003 - 21:43 #4
forsatan da ! :) jeg har ikke haft nogen om sin() og cos() siden mit grundforløb på teknisk! og kan ikke huske hva det er der synes jeg det var noget med trekanter er der ikke en der bare vil give mig et eksemple hehe ved godt jeg er en doven skid hva matematik angår!
Avatar billede roenving Novice
20. november 2003 - 21:59 #5
Et eksempel:

<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Cirkel-punkter</title>
<meta name="keywords" content="roenving;http://www.eksperten.dk/spm/430362">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
body{width:100%;height:100%}
div,img{width:2px;height:2px;}
</style>
<script language="javascript" type="text/javascript">
function markCirclePoints(n,c,r){
    if(isNaN(n)&&!n.match(/^\d+$/))return;
    n = +n
    var diff = (Math.PI*2)/n;
    for(i=0;n>i;i++){
        l = Math.round((Math.sin(diff*i)*r) + c[0]);
        t = Math.round((Math.cos(diff*i)*r) + c[1]);
        //alert(l+"\n"+t);
        d = document.createElement('DIV');
        document.body.appendChild(d);
        d.style.position = 'absolute';
        d.style.height = '2px';
        d.style.width = '2px';
        d.style.top = t + 'px';
        d.style.left = l + 'px';
        d.style.background = "red";
        d.innerHTML = "<img src='../transparent.gif'>"
    }
}
</script>
</head>
<body>
<br>
<form id="minForm" name="minForm">
<button name="button2" id="button2" onclick="markCirclePoints(24,[200,200],100)">Vis cirkel !-)</button>
</form>
</body>
</html>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester