[PHP] Sin() geeft verkeerde output?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb een driehoek waarin zijde a 10 is zijde b 10 is en zijde 14 dus ongeveer 14 is.
De hoek van a en b is 90 graden.

Vervolgens maak ik zijde c 2 lang inplaats van 14.
De volgende stap is de nieuwe driehoek te berekenen die start vanuit hoek B en waarvan ik weet dat zijde c 2 lang is en de hoek van a en b wederom 90 graden is

Ik bereken B met de volgende functie.

$B = rad2deg( asin(10/14) ); en B is dan ongeveer 45 graden

Goed nu wil ik zijde a en b berkenen.

Ik gebruik deze functie:

rad2deg( sin($B) *2 ); om zijde b te berekenen.

Maar echter geeft deze een verkeerde uitkomst. de uitkomst zou ongeveer 1.4 moeten zijn maar ik krijg iets geheel anders.

Wanneer ik de rad2deg functie weg haalen dus normale radialen gebruik en ook de *2 weghaal krijg ik het correcte antwoord: 0.85

functie voor dat: sin($B);

wanneer ik nu rad2deg(sin($B)); doe zou ik dus ongeveer 0.7 moeten krijgen maar ik krijg 48 als antwoord.

Iemand een idee hoe ik dit probleem met rad2deg en sin kan oplossen?

Acties:
  • 0 Henk 'm!

  • AaroN
  • Registratie: Februari 2001
  • Laatst online: 16-08-2023

AaroN

JayGTeam (213177)

je moet ook sin(deg2rad($B))*2 doen :P

waarbij deg2rad dus de inverse is van rad2deg.

Overigens heel simpel van graden radialen maken en vice versa:
360 graden = 2*Pie radialen.

dus 90 graden is bijvoorbeeld .5 in radialen.

[ Voor 74% gewijzigd door AaroN op 20-10-2004 14:51 ]

JayGTeam (213177)


Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

(jarig!)
Een gelijkbenige driehoek waarvan de hoek 90 graden is, heeft altijd 1-1- √ 2 als verhouding voor de zijden. Dus als je die 14 naar 2 verkleint hoef je helemaal de oude waarde niet te gebruiken voor de berekening.

Als je het in het algemene geval wilt, dan hoef je nog steeds niet moeilijk te doen met hoeken. Want het ding blijft gelijkvormig, maar je schaalt hem. Dus hoef je alleen de zijden maar dezelfde schalingsfactor te geven, oftewel 10 * 2/14

[ Voor 1% gewijzigd door ACM op 20-10-2004 19:50 . Reden: Verhouding is inderdaad 2x zo groot :) ]


Acties:
  • 0 Henk 'm!

  • windancer
  • Registratie: Maart 2000
  • Laatst online: 08-09 09:16
De verhouding is zelfs 1 : 1 : √2
ACM schreef op 20 oktober 2004 @ 15:04:
Een gelijkbenige driehoek waarvan de hoek 90 graden is, heeft altijd 1-1-½ √ 2 als verhouding voor de zijden. Dus als je die 14 naar 2 verkleint hoef je helemaal de oude waarde niet te gebruiken voor de berekening.

Als je het in het algemene geval wilt, dan hoef je nog steeds niet moeilijk te doen met hoeken. Want het ding blijft gelijkvormig, maar je schaalt hem. Dus hoef je alleen de zijden maar dezelfde schalingsfactor te geven, oftewel 10 * 2/14