11. januar 2008 - 18:55
Der er
15 kommentarer
Sinus og Cosinus funktioner i grader - ikke radianer
Jeg ved ikke hvordan man bruger sinus og cosinus så resultatet kommer ud i grader. Mit resultat kommer tilbage i grader. 180 grader er jo det samme som pi(3,14...) radianer 180/3,14=57,2957795130823 og man kan ikke bare gange resultatet med 57,2957795130823... Hvad gør jeg???
Annonceindlæg fra Infor
11. januar 2008 - 19:03
#1
Grader til radianer: (2*pi)/360 * x Radianer til grader: 360/(2*pi) * x
11. januar 2008 - 19:04
#2
Hverken cosinus eller sinus returnere en vinkel - så det er ikke resultatet som skal ganges. Argumenterne ar ganske rigtigt en vinkelt og forventes at være i radianer.
11. januar 2008 - 19:05
#3
sin(vinkelIGrader / 57.2957795130823)
11. januar 2008 - 19:20
#4
Ok... men hvad skal jeg så gøre ved det tal Det her er min kilde kode: <html> <head> <title>Trekant</title> </head> <body> <form name="fTrekantBeregn"> <table> <tr> <td rowspan="8"></td> <td>Side a:</td> <td><input name="inSideA"></td> </tr> <tr> <td>Side b:</td> <td><input name="inSideB"></td> </tr> <tr> <td>Side c:</td> <td><input name="inSideC"></td> </tr> <tr> <td>Vinkel A:</td> <td><input name="inVinkelA"></td> </tr> <tr> <td>Vinkel B:</td> <td><input name="inVinkelB"></td> </tr> <tr> <td>Vinkel C:</td> <td><input name="inVinkelC"></td> </tr> <tr> <td>Areal:</td> <td><input name="inAreal"></td> </tr> <tr> <td>Omkreds:</td> <td><input name="inOmkreds"></td> </tr> </table> <button name="KnapTrekantBeregn">Beregn</button> </form> <script language="javascript"> <!--Variabler--> var vSideA=0 var vSideB=0 var vSideC=0 var vVinkelA=0 var vVinkelB=0 var vVinkelC=0 var vAreal=0 var vOmkreds=0 <!--Events--> document.fTrekantBeregn.KnapTrekantBeregn.onclick=funBeregn_abB; <!--Funktioner--> function funBeregn_abB() { vSideA=document.fTrekantBeregn.inSideA.value vSideB=document.fTrekantBeregn.inSideB.value vVinkelB=document.fTrekantBeregn.inVinkelB.value vSideC= vVinkelA=Math.asin(Math.sin(vVinkelB)/vSideB*vSideA)); vVinkelC= vAreal= vOmkreds= funScreenWrite() } function funScreenWrite() { document.fTrekantBeregn.inSideA.value=vSideA document.fTrekantBeregn.inSideB.value=vSideB document.fTrekantBeregn.inSideC.value=vSideC document.fTrekantBeregn.inVinkelA.value=vVinkelA document.fTrekantBeregn.inVinkelB.value=vVinkelB document.fTrekantBeregn.inVinkelC.value=vVinkelC document.fTrekantBeregn.inAreal.value=vAreal document.fTrekantBeregn.inOmkreds.value=vOmkreds } </script> </body> </html>
11. januar 2008 - 19:42
#5
Hvis du kender Side-A, Side-B og Vinkel-B så er der potentielt 0,1 eller 2 mulige løsninger for Side-C. Det giver nogle store problemer med at gøre din kode værdig.
11. januar 2008 - 19:43
#6
værdig -> færdig
11. januar 2008 - 19:45
#7
Hvad mener du???
11. januar 2008 - 19:51
#8
Tag som f.eks: side a:7 side b:9 side c:9,3 vinkel A:45 grader vinkel B:65 grader vinkel C:70 grader og udfyld side a, side b og vinkel B, så giver vinkel A:0.6985251675444997
11. januar 2008 - 19:53
#9
Hvis: 0) Side-A = 100 Side-B = 1 Vinkel-B = 90 grader så er der ingen som helst mulig løsning for Side-C 1) Side-A = 1 Side-B = kvadratroden af 2 Vinkel-B = 90 grader så er der netop een mulig løsning for side-C (nemlig = 1= 2) Side-A = 1 Side-B = 0,75 Vinkel-B = 45 grader så er der præcis to forskellige løsninger for Side-C
11. januar 2008 - 20:26
#10
Men hvis jeg kan regne vinkel A ud kan jeg regne vinkel C ud og derved regne side c ud sådan her: side c=sin(vinkel C)/(sin(vinkel B/side b))
11. januar 2008 - 20:33
#11
Korrekt, men problemet er det samme for Vinkel-A i de 3 eksempler: 0) Der findes ikke nogen løsning for vinkel A. 1) Der findes netop en løsning for Vinkel-A - nemlig 45 grader 2) Der findes præcis to mulige værdier af Vinkel-A - en over og en under 90 grader.
11. januar 2008 - 20:43
#12
I øvrigt skal din formel være: side c = sin(vinkel C)/(sin(vinkel B)/side b) - eller bare: side c = side b * sin(vinkel C)/sin(vinkel B) Jeg gætter på at du bare fik placeret parantesen forkert ved et uheld. :^)
11. januar 2008 - 20:45
#13
Stryg lige 11/01-2008 20:43:29 ... Formenlen for Side-C er: Side-C = sin(Vinkel-C) * Side-B/sin(Vinkel-B)
12. januar 2008 - 20:03
#14
Ok, men jeg har egenligt nu fundet ud af hvor jeg skulle sætte svaret 11/01-2008 19:03:44 ind i min formel... og det var egentlig det jeg spurgte om... Så smid lige et svar...
12. januar 2008 - 20:11
#15
Det er jo så amews_aj som skal smide et svar igen. Hvis jeg i øvrigt må give et råd, så er det meget nemmere hvis du tager udgangspunkt i to af siderne og den vinkel som ligger imellem dem. F.eks.: vSideA = document.fTrekantBeregn.inSideA.value vSideB = document.fTrekantBeregn.inSideB.value vVinkelC = document.fTrekantBeregn.inVinkelC.value Den vil det aæltid være muligt at finde netop en løsning på.
Vi tilbyder markedets bedste kurser inden for webudvikling