Het Math object - Wiskunde in JavaScript

Info 
Door: Mirax Moeilijkheidsgraad: 2/3
Views:24.057Reacties: 5(Bekijken)
  Log in om zelf te reageren
 Waardering:5.3/10 (4 stemmen)



Met het Math-object in JavaScript kan je een heleboel dingen uitrekenen. Voor de gewone optel en vermenigvuldig sommetjes had je het nog niet nodig, maar met sinussen, natuurlijke logaritmen, afrond- en random-functies wordt het toch een stuk handiger. Behalve deze 'methods' zijn er ook nog constanten (feitelijk variabelen) opgenomen in het Math-object. (properties).

Let op: Het is belangrijk dat je hier op de hoofdletters let. math zal niet werken, Math wel. Bij de properties en methods dient ook gelet te worden op de hoofdletters.


Properties (constanten)


In Math.property zijn eigenlijk alleen maar constanten opgeslagen, ik denk dat ik volsta met een lijstje van deze waarden met een korte uitleg. Hoe je ze wilt gebruiken is natuurlijk aan jou.

  • Math.PI - PI (als je berekeningen wilt uitvoeren aan cirkels oid, maar gebruik dan niet teveel decimalen!)
  • Math.E - e (Het getal van Euler, de afgeleide van e^x is e^x :))
  • Math.SQRT2 - De wortel van 2
  • Math.SQRT1_2 - 1 gedeeld door de wortel van twee (oftewel de wortel van 1/2)


Verder zijn er nog wat properties die te maken hebben met (natuurlijke) logaritmes.

  • Math.LN2 - Natuurlijke logaritme van 2
  • Math.LN10 - Natuurlijke logaritme van 10
  • Math.LOG2E - De 2 log van e
  • Math.LOG10E - De 10 log van e


Methods (de echte wiskundige functies)


Deze methods worden op een bijna gelijke wijze gebruikt als de properties, maar deze krijgen ook nul, een of twee parameters mee, waarna er 'iets' berekend wordt, en deze waarde wordt geretourneerd. Je kan dus bijvoorbeeld gewoon doen:
#Code
1
document.write(Math.method(7));


  • Math.abs(-5) - De absolute waarde, dus geeft hier 5.
  • Math.exp(2) - Macht van e, hier dus e-kwadraat
  • Math.log(e-kwadraat) - De natuurlijke logaritme, geeft hier dus 2
  • Math.pow(4,5) - Machtsverheffen, hier 4 tot 5de, dus 1024
  • Math.sqrt(25) - Worteltrekken, hier is het antwoord dus 5



Sinusfuncties
Er zijn ook nog een aantal sinus functies. Let op dat de waarden gegeven moeten worden in radialen en niet in graden. (180 graden is Pi radialen)
  • Math.sin(a) - De sinus van a
  • Math.cos(a) - De cosinus van a
  • Math.tan(a) - De tangens van a
  • Math.asin(a) - De inverse sinus van a
  • Math.acos(a) - De inverse cosinus van a
  • Math.atan(a) - De inverse tangens van a
  • Math.atan2(a,b) - De inverse tangens van a gedeeld door b, dus hetzelfde als Math.atan(a/b)



Overige methods, random getallen


De volgende methods hebben niks met wiskunde te maken, maar kunnen wel gebruikt worden in combinatie met het Math-object.

Math.ceil(c) - Geeft het dichtstbijzijnde gehele getal groter dan cMath.floor(c) - Geeft het dichtstbijzinnde gehele getal kleiner dan cMath.max(c,d) - Geeft de grootste waarde van c en dMath.min(c,d) - Geeft de kleinste waarde van c en dMath.random() - Deze kent als enige geen parameter, het genereert een getal tussen 0 en 1, in een aantal decimalenMath.round(d) - Rondt het getal d af.
Een random getal genereren
Met behulp van Math.random is er gemakkelijk een random getal te genereren, wil je bijvoorbeeld een geheel getal tussen de a en b, dan kun je de volgende functie gebruiken.
#Code
1
2
3
4
5
6
7
function willekeurig(a,b)
{
    num = Math.random();
    num = (num*(b-a))+a;
    num = Math.round(num);
    return num;
}


Tip bij veelvuldig gebruik van het Math-object


Tenslotte, als je van plan bent om in een bepaald gedeelte van je script het Math-object te gebruiken, dan kun je gebruik maken van de with() functie. Op deze manier hoef je 'Math.' niet telkens in te typen.

Een korte uitbreiding op de vorige functie, op deze manier:
#Code
1
2
3
4
5
6
7
8
9
10
function willekeurig(a,b)
{
    with(Math)
    {
        num = random();
        num = (num*(b-a))+a;
        num = round(num);
    }
    return num;
}

5 reacties
Mirax Geplaatst op 06-12-2007 om 20:41
 

Moderator
Misschien heb je wat aan de volgende link?
http://nl.php.net/manual/en/ref.math.php
Slooncer Geplaatst op 04-12-2007 om 20:03
 

Regular
Kan dit ook in PHP?
bass Geplaatst op 06-07-2006 om 16:31
 

Regular
ja inderdaad
Mirax Geplaatst op 17-04-2006 om 11:47
 

Moderator
Als je die (vrij standaard) wiskunde kent, zal het ook niet in je opkomen om die functies te gebruiken ;)
Gian Geplaatst op 14-04-2006 om 20:26
 

Regular
Dit is mss een goede tutorial maar je moet zelf al super veel wiskunde kennen, ik spreek over het stukje methods, De absolute waarde, een minder intillegent mens zal niet weten wat dat is :D

Pagina 1 

Om te reageren moet je ingelogd zijn.
Nog niet geregistreerd? Doe dat dan nu!


Terug naar gewone pagina

Websitemaken wordt gehost door Nucleus.be, uw Hosting Solution Builder