作为程序员,没有合适的工具,就得手搓一个,PC端,移动端均可适用。废话不多说,直接上代码。
HTML:
<div class="calculator"><label for="angle">输入角度(度):</label> <input id="angle" step="0.01" type="number" placeholder="输入角度"> <label for="formula">选择公式:</label><select id="formula"><option value="sin_half">sin(θ/2) = ±√((1 - cos(θ)) / 2)</option><option value="cos_half">cos(θ/2) = ±√((1 + cos(θ)) / 2)</option><option value="tan_half">tan(θ/2) = ±√((1 - cos(θ)) / (1 + cos(θ)))</option></select><button onclick="calculateHalfAngle()">计算</button><div id="result" class="result">结果将显示在这里</div></div>
JS:
function calculateHalfAngle() {
const angle = parseFloat(document.getElementById('angle').value);
const formula = document.getElementById('formula').value;
if (isNaN(angle)) {
document.getElementById('result').textContent = "请输入有效的角度值。";
return;
}
// 将角度转换为弧度
const radians = angle * (Math.PI / 180);
const cosTheta = Math.cos(radians);
let result;
switch (formula) {
case 'sin_half':
result = Math.sqrt((1 - cosTheta) / 2);
document.getElementById('result').textContent = `sin(${angle}°/2) 的结果是:${result.toFixed(4)}`;
break;
case 'cos_half':
result = Math.sqrt((1 + cosTheta) / 2);
document.getElementById('result').textContent = `cos(${angle}°/2) 的结果是:${result.toFixed(4)}`;
break;
case 'tan_half':
result = Math.sqrt((1 - cosTheta) / (1 + cosTheta));
document.getElementById('result').textContent = `tan(${angle}°/2) 的结果是:${result.toFixed(4)}`;
break;
default:
document.getElementById('result').textContent = "请选择有效的公式。";
break;
}
}
CSS:
.calculator {
width: 100%;
background-color: #333;
color: white;
padding: 20px;
border-radius: 10px;
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
}
label {
display: block;
margin-bottom: 10px;
font-size: 16px;
}
input, select {
width: 100%!important;
padding: 10px!important;
margin-bottom: 20px;
color: #000000;
border-radius: 5px;
border: 1px solid #555;
font-size: 16px!important;
background-color: #ffffff!important;
}
button {
width: 100%;
padding: 10px;
background-color: #007bff;
color: white;
border: none;
border-radius: 5px;
cursor: pointer;
font-size: 16px;
}
button:hover {
background-color: orange;
}
.result {
font-size: 18px;
margin-top: 20px;
text-align: center;
}
option {
background-color: #ffffff;
}
p {
font-size: 18px;
margin-top: 5px!important;
}