Van graden naar h-m-s

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

UnlivingSava

UnlivingSava

18/06/2006 13:16:00
Quote Anchor link
Ik weet niet of het mogelijk is in php maar met een goede rekenmachine lukt het :p

we hebben een hoek in graden, bvb 180,45932°
nu wil ik dit omzetten naar uren minuten seconden
het aantal uur wordt bekomen door de hoek te delen door 15. Maar nu wil ik nog het aantal minuten en seconden...

wie weet raad...
 
PHP hulp

PHP hulp

04/12/2024 08:54:59
 
PurpleMadness -

PurpleMadness -

18/06/2006 13:21:00
Quote Anchor link
Ik had wel iets andersom gemaakt maar niet voor secondes, maar ben niet thuis dus heb het niet..
 
Abiboe -

abiboe -

18/06/2006 13:31:00
Quote Anchor link
even rekenen, voor uren moet je niet delen door 15 maar door 30, 360/12=30, 180/30 is 6 uur, logisch want 180 is de helft van 360 en 6 is de helft van 12

voor minuten en seconden met je de hoek door 360/60 = 6 delen.
180 graden komt dus overeen met 30 minuten.
 
UnlivingSava

UnlivingSava

18/06/2006 13:34:00
Quote Anchor link
euh in mijn geval dien ik wel te delen door 15 aangezien het om helecoordinaten gaat ;) anders kom ik verkeerde waarde uit ;)

ik zal de rest eens toepassen op de code ;)
alvast dank ;)
 
UnlivingSava

UnlivingSava

18/06/2006 13:53:00
Quote Anchor link
ik zit nu met het probleem dat de negatioeve waarden nu ook negatief tonen bij de minuten en seconden, iemand een idee hoe ik dat best oplos?
-7h -10m -29.97s
 
Arend a

Arend a

18/06/2006 14:07:00
Quote Anchor link
Een complete cirkel is 360 graden, en elke graad bestaat weer uit 60 minuten, en 60 seconden, uren bestaan volgens mij niet in het gradenstelsel, ik weet niet zo goed waar je het daar over hebt.

In principe bestaat in dit stelsel een complete cirkel uit 360 graden, elke graad weer uit 60 minuten en elke minuut uit 60 seconden.

Achter de comma heb je 0,45932 graden staan.

0,45932 graden dit moet je vermenigvuldigen met 60 om het te converteren naar minuten (om met tijd te vergelijken, er staat: 0,45932 uur) dus daar wil je van maken:

0,45932 * 60 = 27,5592

dat is 180° 27'

In programmeertaal doe je dus:
$tijdmnuten -= int($tijdminuten);

Achter de comma staat dan 0,5592
Dat vermenigvuldig je weer met 60 om aan seconden te komen:

0,5592*60 = 33,552

Wat je zoekt is dus een hoek van 180°27'33"

Om dit in php te doen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?
// Uitkomst: $hoek° $minuten' $seconden"

$hoek = 180.45932;
// invoer;

$graden = int($hoek);
// 180,5793758943 levert 180 graden op.

$minuten = $hoek - int($hoek);
// Alles achter de comma gaan we verder mee rekenen

$minuten *= 60;
// en dat vermenigvuldigen we met 60;

$seconden =  $minuten - $int(minuten);
// wat er vervolgens weer achter de komma staat worden seconden

$minuten = int($minuten);
// en we gooien wat er in $minuten achter de komma staat weg.

$seconden *= 60;
// seconden vermenigvuldigen we met 60

$seconden = int($seconden);
// en achter de komma is niet relevant.
?>
 
UnlivingSava

UnlivingSava

18/06/2006 14:17:00
Quote Anchor link
Ik zal een voorbeeld geven ;)
RA = 26.6580_deg = 26.6580/15 h = 1.77720 h = 1h 46m 37.9s
de graden is in rechthoekige equatoriale coordinaten dus niet het normale gradenstelsel ;)

inmiddels is het me gelukt, bedankt allen voor de hulp!
 
Arend a

Arend a

18/06/2006 15:44:00
Quote Anchor link
Kan je de oplossing nog even posten? Is handig voor iemand die dit in de toekomst zoekt.
 
UnlivingSava

UnlivingSava

18/06/2006 15:58:00
Quote Anchor link
zeker, hieronder de code ;)

$RA_uur = $RA/15; // omzetten naar uren
$RA_min = abs(($RA_uur - ceil($RA_uur)) * 60);
$RA_sec = abs(($RA_min - ceil($RA_min)) * 60);
$RAhms = "".ceil($RA_uur)."h ".ceil($RA_min)."m ".round($RA_sec,2)."s";

ceil als het getal lager is dan nul, floor voor als het hoger is dan nul, de abs is er om de - weg te krijgen
 
Jason de Ridder

Jason de Ridder

18/06/2006 17:14:00
Quote Anchor link
niet als de zoekmachine niet werkt :)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.