Hoofdcategorieën
Topicacties

[wiskunde] Cosinusregel

Pagina: 1 2 last

Nieuw Topic
Berichten: 55
Reg. datum: 02 november 2008

Aha, om te converteren naar radialen:

360° = 2 pi radialen

90 graden is dus (Pi/2)
45 graden is dus (Pi/4)
 
Berichten: 375
Reg. datum: 15 februari 2002

quote:
Mathieu_Hinder schreef op zaterdag 07 november 2009 @ 22:48:
Volgens de sinusregel wordt het dit, dit is toepasbaar bij iedere driehoek, (Pythagoras kan je enkel gebruiken bij rechthoekige driehoeken):

AC/sin(b)=AB/sin(c)

AC= (sin(b)*AB)/sin(c) -> Dit moet je dus gebruiken als waarde!

- Uitgewerkt op die ene driehoek wordt dit:

AC = (((V2)/2)*112)/1

AC = 79,19
Hoe bedoel je als waarde? Is dat V2?

Daarnaast, waarom deel je door 1? Dat is toch altijd 1?

Bedoel je dan (((sin(b)*AB)/sin(c)) / 2) * AB?
quote:
LED-Maniak schreef op zaterdag 07 november 2009 @ 22:59:
[...]

Je rekent zoals ik al eerder aangaf in radialen.
Dat moet je niet doen ;)
Ik ben heel blij met al jullie hulp, maar wat moet ik dan wel doen? :)
moeehh
Berichten: 2.356
Reg. datum: 04 oktober 2003

Je getal in radialen vermenigvuldigen met pi en dan delen door 180.
 
moeehh
Berichten: 2.356
Reg. datum: 04 oktober 2003

System.Diagnostics.Debug.WriteLine(Math.Sin(45*pi/180) / Math.Sin((90*pi/180) / 100))
System.Diagnostics.Debug.WriteLine(Math.Sin(45*pi/180) / (Math.Sin((90*pi/180)) / 100))

En nu?
 
Berichten: 375
Reg. datum: 15 februari 2002

quote:
LED-Maniak schreef op zaterdag 07 november 2009 @ 23:05:
System.Diagnostics.Debug.WriteLine(Math.Sin(45*pi/180) / Math.Sin((90*pi/180) / 100))
System.Diagnostics.Debug.WriteLine(Math.Sin(45*pi/180) / (Math.Sin((90*pi/180)) / 100))

En nu?
45,0176670623702
70,7106781186547
moeehh
Berichten: 2.356
Reg. datum: 04 oktober 2003

Komt erg dichtbij de 70 waar ik het over had he? :)
 
Berichten: 375
Reg. datum: 15 februari 2002

quote:
LED-Maniak schreef op zaterdag 07 november 2009 @ 23:07:
Komt erg dichtbij de 70 waar ik het over had he? :)
quote:
LED-Maniak schreef op zaterdag 07 november 2009 @ 23:07:
Komt erg dichtbij de 70 waar ik het over had he? :)
Yup, probeer nu alleen nog even te zien wat ik nu moet doen (relatie tussen formule en ontbrekende gegevens)
Berichten: 55
Reg. datum: 02 november 2008

Je zijde is toch wel degelijk 79,19 lang hoor. Edit: ik zie dat jij in je voorbeeld-driehoek ACF met schuine zijde 100 hebt gewerkt, vandaar het verschil, ik nam 112.

Maar om het even kort samen te vatten:

Je wilt je 2 (AC en BC) zijden uitdrukken afhankelijk van

-de variabele zijde 'AB'
-2 aanliggende hoeken van AB (hoek a en hoek b)
-overstaande hoek van AB (hoek c)

Je zijde AC is dus '[sin(b)*AB]/sin(c)'
Je zijde BC is dus '[sin(a)*AB]/sin(c)'

Je waarde van je hoeken moet je invoeren in radialen.!!

Enkel in mijn voorbeeld heb ik overigens die V2 gebruikt (de sinus van 45° is namelijk (V2)/2 en de sinus van 90° is 1, vandaar dus die twee getallen. In een andere hoek en situatie zullen deze uiteraard veranderen)

Mathieu_Hinder wijzigde dit bericht 07-11-2009 23:27 (30%)

 
moeehh
Berichten: 2.356
Reg. datum: 04 oktober 2003

woops, ik heb sinus en de lengte omgedraaid 8)7

^^ heeft gelijk.

LED-Maniak wijzigde dit bericht 07-11-2009 23:29 (17%)

 
Berichten: 375
Reg. datum: 15 februari 2002

quote:
Mathieu_Hinder schreef op zaterdag 07 november 2009 @ 23:14:
Je zijde is toch wel degelijk 79,19 lang hoor. Edit: ik zie dat jij in je voorbeeld-driehoek ACF met schuine zijde 100 hebt gewerkt, vandaar het verschil, ik nam 112.

Maar om het even kort samen te vatten:

Je wilt je 2 (AC en BC) zijden uitdrukken afhankelijk van

-de variabele zijde 'AB'
-2 aanliggende hoeken van AB (hoek a en hoek b)
-overstaande hoek van AB (hoek c)

Je zijde AC is dus '[sin(b)*AB]/sin(c)'
Je zijde BC is dus '[sin(a)*AB]/sin(c)'

Je waarde van je hoeken moet je invoeren in radialen.!!

Enkel in mijn voorbeeld heb ik overigens die V2 gebruikt (de sinus van 45° is namelijk (V2)/2 en de sinus van 90° is 1, vandaar dus die twee getallen. In een andere hoek en situatie zullen deze uiteraard veranderen)
eerst dacht ik: Yeah!, maar volgens mij is er nog iets niet goed.

Output = 30x:
A: 1, B: 1, C: 2, AB: 112, AC: 104, BC: 104
Code:
Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
        For i As Integer = 30 To 60
            Test(i112)
        Next
'...
    Private Sub Test(ByVal Arc As IntegerByVal AB As Integer)
        Dim ABCACBC As Integer
        A = Arc
        C = 90
        B = 180 - (A + C)
        A = A * Math.PI / 180
        B = B * Math.PI / 180
        C = C * Math.PI / 180
        AC = (Math.Sin(B) * AB) / Math.Sin(C)
        BC = (Math.Sin(A) * AB) / Math.Sin(C)
        System.Diagnostics.Debug.WriteLine(String.Format("A: {0}, B: {1}, C: {2}, AB: {3}, AC: {4}, BC: {5}"ABCABACBC))
    End Sub

Update:

Moest er doubles van maken, anders wordt alles afgerond :+
Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
    Private Sub Test(ByVal Arc As DoubleByVal AB As Double)
        Dim ABCrArBrCACBC As Double
        A = Arc
        C = 90
        B = 180 - (A + C)
        rA = A * Math.PI / 180
        rB = B * Math.PI / 180
        rC = C * Math.PI / 180
        AC = (Math.Sin(rB) * AB) / Math.Sin(rC)
        BC = (Math.Sin(rA) * AB) / Math.Sin(rC)
        System.Diagnostics.Debug.WriteLine(String.Format("A: {0}, B: {1}, C: {2}, AB: {3}, AC: {4}, BC: {5}"ABCABACBC))
    End Sub

Uitkomst:

A: 30, B: 60, C: 90, AB: 112, AC: 96,9948452238571, BC: 56
A: 31, B: 59, C: 90, AB: 112, AC: 96,0027376786366, BC: 57,6842643899261
A: 32, B: 58, C: 90, AB: 112, AC: 94,9813867695197, BC: 59,350957594119
A: 33, B: 57, C: 90, AB: 112, AC: 93,9311036098875, BC: 60,999571921683
A: 34, B: 56, C: 90, AB: 112, AC: 92,8522081261647, BC: 62,6296051887237
A: 35, B: 55, C: 90, AB: 112, AC: 91,7450289603671, BC: 64,2405608713172
A: 36, B: 54, C: 90, AB: 112, AC: 90,6099033699941, BC: 65,831948256757
A: 37, B: 53, C: 90, AB: 112, AC: 89,4471771252968, BC: 67,4032825930294
A: 38, B: 52, C: 90, AB: 112, AC: 88,2572044039529, BC: 68,9540852364737
A: 39, B: 51, C: 90, AB: 112, AC: 87,0403476831807, BC: 70,4838837975818
A: 40, B: 50, C: 90, AB: 112, AC: 85,7969776293255, BC: 71,9922122848924
A: 41, B: 49, C: 90, AB: 112, AC: 84,5274729849505, BC: 73,4786112469368
A: 42, B: 48, C: 90, AB: 112, AC: 83,2322204534681, BC: 74,9426279121921
A: 43, B: 47, C: 90, AB: 112, AC: 81,9116145813471, BC: 76,3838163269998
A: 44, B: 46, C: 90, AB: 112, AC: 80,5660576379289, BC: 77,8017374914077
A: 45, B: 45, C: 90, AB: 112, AC: 79,1959594928933, BC: 79,1959594928933
A: 46, B: 44, C: 90, AB: 112, AC: 77,8017374914077, BC: 80,5660576379289
A: 47, B: 43, C: 90, AB: 112, AC: 76,3838163269998, BC: 81,9116145813471
A: 48, B: 42, C: 90, AB: 112, AC: 74,9426279121921, BC: 83,2322204534681
A: 49, B: 41, C: 90, AB: 112, AC: 73,4786112469368, BC: 84,5274729849505
A: 50, B: 40, C: 90, AB: 112, AC: 71,9922122848924, BC: 85,7969776293255
A: 51, B: 39, C: 90, AB: 112, AC: 70,4838837975818, BC: 87,0403476831807
A: 52, B: 38, C: 90, AB: 112, AC: 68,9540852364737, BC: 88,2572044039529
A: 53, B: 37, C: 90, AB: 112, AC: 67,4032825930294, BC: 89,4471771252968
A: 54, B: 36, C: 90, AB: 112, AC: 65,831948256757, BC: 90,6099033699941
A: 55, B: 35, C: 90, AB: 112, AC: 64,2405608713172, BC: 91,7450289603671
A: 56, B: 34, C: 90, AB: 112, AC: 62,6296051887237, BC: 92,8522081261647
A: 57, B: 33, C: 90, AB: 112, AC: 60,999571921683, BC: 93,9311036098875
A: 58, B: 32, C: 90, AB: 112, AC: 59,350957594119, BC: 94,9813867695197
A: 59, B: 31, C: 90, AB: 112, AC: 57,6842643899261, BC: 96,0027376786366
A: 60, B: 30, C: 90, AB: 112, AC: 56, BC: 96,9948452238571

Nu lijkt het er meer op en kan ik gaan klooien. Ik ga binnekort nog maar eens een meetkunde boek kopen, want 't wil d'r allemaal niet helemaal in, maar iig heel erg bedankt alvast, nu ik iets werkends heb kan ik iig daar mee stoeien.

Klopt het dat het dus is:

Zijde = (Sin(Overstaande hoek) * Bekende zijde) / Sin(Overstaande hoek van bekende zijde)?

CMG wijzigde dit bericht 07-11-2009 23:37 (49%)

Berichten: 55
Reg. datum: 02 november 2008

Programmeren weet ik helaas helemaal niets van (nog iets te vroeg daarvoor :p ), je formule op zich lijkt dus wel te kloppen.

A: 45, B: 45, C: 90, AB: 112, AC: 79,1959594928933, BC: 79,1959594928933

Yes :D Veel succes in het verdiepen in de wiskunde!

Mathieu_Hinder wijzigde dit bericht 07-11-2009 23:37 (36%)

 
Berichten: 375
Reg. datum: 15 februari 2002

quote:
Mathieu_Hinder schreef op zaterdag 07 november 2009 @ 23:36:
Programmeren weet ik helaas helemaal niets van (nog iets te vroeg daarvoor :p ), je formule op zich lijkt wel te kloppen...
Klopt dit: Zijde = (Sin(Overstaande hoek) * Bekende zijde) / Sin(Overstaande hoek van bekende zijde)?

Dus:

AB = (Sin( C ) * AC) / Sin( B )
of
AB = (Sin( C ) * BC) / Sin( A )

AC = (Sin( B ) * AB) / Sin( C )
of
AC = (Sin( B ) * BC) / Sin( A )


BC = (Sin( A ) * AB) / Sin( C )
of
BC = (Sin( A ) * AC) / Sin( B )

CMG wijzigde dit bericht 07-11-2009 23:40 (24%)

Berichten: 55
Reg. datum: 02 november 2008

Het principe is eenvoudiger te onthouden als je het zo schrijft:

Sin(a) . Sin(b) .. Sin(c)
-------- = --------- = ---------
A .......... B ......... C

In woorden: de verhouding tussen de sinus van een hoek en de lengte van de overstaande zijde is altijd gelijk

Die puntjes dienen enkel om dat een reeks spaties blijkbaar weggelaten wordt, een kolom maken lukt niet echt...
Hierbij zijn de hoeken en zijden met dezelfde letter overstaande hoeken/zijden. Naargelang de gegevens die je hebt, kan je die invullen, de formule wat omvormen en zo 1 onbekende berekenen.

Mathieu_Hinder wijzigde dit bericht 07-11-2009 23:47 (53%)

 
Berichten: 375
Reg. datum: 15 februari 2002

quote:
Mathieu_Hinder schreef op zaterdag 07 november 2009 @ 23:41:
Het is eenvoudiger te onthouden als je het zo schrijft:

Sin(a) . Sin(b) .. Sin(c)
-------- = --------- = ---------
A .......... B ......... C

Die puntjes dienen enkel om dat een reeks spaties blijkbaar weggelaten wordt...
Hierbij zijn de hoeken en zijden met dezelfde letter overstaand. Naargelang de gegevens die je hebt, kan je invullen en 1 onbekende berekenen.
Dat is persoonlijk, overal staat het op die manier, alleen dan begrijp ik het dus niet, dat was de moeilijkheid ook hier. Mijn voorbeeld kan ik door een compiler heen gooien en die begrijpt wat ik bedoel ;) mijn hersenen werken ongeveer op de zelfde manier lijkt 't ;) ben iig heel blij dat ik dit deel van meetkunde nu begrijp :)
Berichten: 128
Reg. datum: 25 september 2006

Is het niet handiger als je een functie maakt voor naar Radialen te rekenen en terug? Dan krijg je:
Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
Public Function ToRadian(Degree as Doubleas Double

return Degree * math.pi / 2

End Function

Public Function ToDegree(Radian as Doubleas Double

Return Radian / math.pi * 2
End Function

offtopic:
Heb hem niet getest of die goed werkt, maar daar kom je snel achter
 
Berichten: 375
Reg. datum: 15 februari 2002

quote:
P-Storm schreef op zaterdag 07 november 2009 @ 23:51:
Is het niet handiger als je een functie maakt voor naar Radialen te rekenen en terug? Dan krijg je:
Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
Public Function ToRadian(Degree as Doubleas Double

return Degree * math.pi / 2

End Function

Public Function ToDegree(Radian as Doubleas Double

Return Radian / math.pi * 2
End Function

offtopic:
Heb hem niet getest of die goed werkt, maar daar kom je snel achter
Hehe, true. Dit was even quick en dirty testen, niet hoe de code er echt uit komt te zien.

Ik zal straks nog even aangepaste code laten zien om het resultaat in actie te laten zien (heb mijn oplossing al voor 0 -> 56 graden (door Y offset), moet nog even bedenken wat ik moet doen voor de X offset)

UPDATE

Aangepaste source: http://www.nkcss.nl/GDIPlusRotate-UPDATE.zip

Ik heb een paar dingen geprobeerd, maar kom er niet helemaal uit.

Wat ik moet weten: Vanaf linker boven hoek gemeten het aantal pixels omlaag tot het punt waarop je een horizontale lijn kunt trekken van 100 pixels binnen het vierkant van 112 pixels en hoeveel pixels naar links die lijn van 100 pixels breed begint ten opzichte van het startpunt. Volgens mij klinkt het erg vaag, ik zal kijken of ik morgen nog eens wat dingen kan gaan tekenen :) voor nu: welterusten.

CMG wijzigde dit bericht 08-11-2009 01:44 (30%)


Acties:


Door: Creepy
Moderator PRG/SEA
Tactical Espionage Splatterer
Berichten: 14.732
Reg. datum: 01 juni 2001

Ik ga toch dit topic (alsnog) sluiten. Dit is nu zo goed als uitgemondt in een bij-het-handje-hou-topic. Iets wat we hier liever niet zien. Het is erg lief en aardig dat mensen je hier nu zo helpen maar jij bent diegene die dingen zou moeten nakijken, debuggen etc en dat laat je hier nu door anderen doen. Ik krijg ook nog het gevoel dat het hier om een huiswerkachtig iets gaat en dan zou je dit soort dingen eerst met je docent moeten overleggen.

Creepy wijzigde dit bericht 08-11-2009 09:51 (19%)

Some people, when confronted with a problem, think "I know, I'll use regular expressions." Now they have two problems. — Jamie Zawinski

Pagina: 1 2 last


Dit topic is gesloten.


VNU Media logo Hosted by True

© 1998 - 2009 Tweakers.net - Alle rechten voorbehouden - Uw Privacy - Algemene Voorwaarden

Uitgever van: