为了好玩,我正在尝试设计一个网站,通过利用当前温度和物体撞击地面的时间,帮助准确测量悬崖或高层建筑的高度。在解释问题时,我将把问题分解成不同的部分。
物理:用户记录物体撞击地面的时间既是物体撞击地面所需的时间,也是物体听到声音所需的时间。用户。出于这个原因,我们需要记录外部温度以通过This Formula来校正声速。除此之外,还有一些相对简单的物理学,即重新排列运动方程和逻辑来解决其余问题。
问题:我在python,html和css方面有一些经验但在javascript中几乎没有。根据我的研究,我将不得不使用javascript来完成计算,这是该项目中最具挑战性的部分,也是我最不熟悉的部分。除了数学之外,我已将问题简化为5个主要计算,javascript需要按以下顺序“完成”:
1)使用“物理”部分中的公式
计算“Vsound”温度2)使用之前找到的'Vsound'解决this equation。这个'A'值是二次公式中的'A'项。
3)使所有输入的时间值为负。
4)解决quadratic equation但只解决该函数的正根。不需要否定。该等式的“A”值将是步骤(2)的求解值。 “B”值始终为1.“C”值将是步骤(3)中的求解值。
5)从步骤(4)中取出解决方案并将其插入this formula以解决悬崖的高度。
简单!
我认为在完成html或css组件时我不会有任何问题,更多的是“脚本”部分,我几乎不知道如何完成。
任何有关如何完成这些部分的帮助都会非常棒,非常感谢!
答案 0 :(得分:-1)
我做了这个小html女巫利用公式来计算时间:
<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css"></style>
</head>
<body>
<script type="text/javascript">
var D = document;
function calcVsound(){
//get the inputted value
var temp = D.getElementById('tempInput').value;
//make it numeric
var numericTemp = parseFloat(temp);
//calculate sound velocity
return getVsound(numericTemp);
}
function getVsound(temp){
//The constant value
var sp = 331;
//The division inside the root
var div = temp/273;
//The square root
var Droot = Math.sqrt(1+div);
//The result
return sp*Droot;
}
function gettingAvalue(){
//calculating the value of "A" Step "2"
var Vsound = calcVsound();
var A = 9.81/(2*Vsound);
return A;
}
function getInputTime(){
//get Time from the input
var time = D.getElementById('timeInput').value;
//make it numeric
var numericTime = parseFloat(time);
//see if it is negative
if(numericTime<0){
//return if negative
return numericTime;
}else{
//return negative value of time
return (numericTime*(-1));
}
}
function solveQuadratic(){
//The value of -b
var B = -1;
//The value of c
var C = getInputTime();
//The value of a
var A = gettingAvalue();
//Calculating b^2
var Epow = Math.pow(B,2);
//Calculating b^2 - 4ac
var InsideRoot = Epow - (4*A*C);
//Calculating squareroot of b^2 - 4ac
var Eroot = Math.sqrt(InsideRoot);
//Getting the two roots
var x_1 = (B+Eroot)/(2*A);
var x_2 = (B-Eroot)/(2*A);
//Getting the positive one
if(x_2>x_1){
return x_2;
}else{
return x_1;
}
}
function getHeight(){
//Solve the cuadratic formula
var quad = solveQuadratic();
var quad_pow = Math.pow(quad,2);
//use the formula to calculate height
var solution = (9.28*quad_pow)/2;
//Show it on screen
D.getElementById('solution').innerHTML = solution;
}
</script>
<div>
<span>Temperature:</span>
<input type="number" name="Temperature" id="tempInput">
</div>
<div>
<span>Time:</span>
<input type="number" name="Time" id="timeInput">
</div>
<div>
<button onclick="getHeight()">
CALCULATE
</button>
</div>
<div>
<p id="solution">
</p>
</div>
</body>
</html>
希望这有帮助