Tjah, jeg blev meget i tvivl om, hvilken formel, der skulle bruges, så efter at have fået nogle meget gale resultater, kastede jeg mig over sinus-relationer, da de gav det rigtige resultat (Hvis jeg vel at mærke har forstået det rigtigt, at den vinkel, du ønsker at finde, er vinklen mellem den store baseflade og keglens sider !-)
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"
http://www.w3.org/TR/html4/loose.dtd"><html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
html,body{height:100%;margin:0px;border:0px;padding:0px;font-family:tahoma,verdana,arial,sans-serif;font-size:small;}
</style>
<script language="javascript" type="text/javascript">
function beregnVinkel(elm){
//vinkel=pi dividér med 3 gange h gange (R i anden plus r i anden plus R gange r)
var f = elm.form, e = f.elements;
for(i=0;e.length>i;i++){
if(e[i].type == "text" && isNaN(e[i].value)){
alert("Du skal angive talværdier i alle tre felter !-)");
e[i].focus();
return false;
}
}
var R = parseFloat(f.diaStor.value)/2;
var r = parseFloat(f.diaLille.value)/2;
var diffR = R-r;
var h = parseFloat(f.hojde.value);
var vSinus = h/(Math.sqrt(diffR*diffR + h*h));
alert(h/Math.sqrt(diffR*diffR + h*h));
var vRad = Math.asin(vSinus);
document.getElementById('rad').firstChild.nodeValue = vRad;
var vGrad = 180 * vRad / Math.PI;
document.getElementById('grader').firstChild.nodeValue = vGrad;
}
</script>
<title>Beregn vinkel i keglestub</title>
</head>
<body>
<br>
<form id="minForm" name="minForm" style="width:280px;">
<fieldset style="padding:10px;"><legend>Keglestubbens dimensioner</legend>
Stor diameter: <input id="minInput" name="diaStor" type="text" value="Stor diameter" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;" size="20">
<br>
Lille diameter: <input id="minInput" name="diaLille" type="text" value="Lille diameter" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;" size="20">
<br>
Højde: <input id="minInput" name="hojde" type="text" value="Højde" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;" size="20">
<br>
</fieldset>
<button onclick="return beregnVinkel(this);">Beregn vinkel</button><br><br>
</form>
Vinklen er:<br>
<span id="rad">0</span> radianer<br>
<span id="grader">0</span>°
</body>
</html>