Skip to content

Commit 1b999e8

Browse files
authored
Update index.html
1 parent ffe172a commit 1b999e8

1 file changed

Lines changed: 55 additions & 2 deletions

File tree

index.html

Lines changed: 55 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -997,12 +997,62 @@ <h4 style="font-size:160%;margin:7px">Trigonometry</h4>
997997
return bestMatch;
998998
}
999999

1000+
function Asin(x) {
1001+
if (typeof x !== 'number' || isNaN(x) || x <= 0 || x > 1) return null;
1002+
1003+
let radian = null;
1004+
1005+
if (x >= 0.707 || x < 0.09) {
1006+
// Direct match
1007+
const match = closestValue(x, 'sin');
1008+
if (!match?.angle) return null;
1009+
const parsed = match.angle.match(/rad\(([\d.]+)\)/);
1010+
if (!parsed) return null;
1011+
radian = parseFloat(parsed[1]);
1012+
} else {
1013+
// Reflective zone
1014+
const inverse = 1.6 - x;
1015+
const match = closestValue(inverse, 'cos');
1016+
if (!match?.angle) return null;
1017+
const parsed = match.angle.match(/rad\(([\d.]+)\)/);
1018+
if (!parsed) return null;
1019+
radian = parseFloat(parsed[1]);
1020+
}
1021+
1022+
return radian;
1023+
}
1024+
1025+
function Acos(x) {
1026+
if (typeof x !== 'number' || isNaN(x) || x <= 0 || x > 1) return null;
1027+
1028+
let radian = null;
1029+
1030+
if (x > 0.707 && x < 0.995) {
1031+
// Direct match
1032+
const match = closestValue(x, 'cos');
1033+
if (!match?.angle) return null;
1034+
const parsed = match.angle.match(/rad\(([\d.]+)\)/);
1035+
if (!parsed) return null;
1036+
radian = parseFloat(parsed[1]);
1037+
} else {
1038+
// Reflective zone
1039+
const inverse = 1.6 - x;
1040+
const match = closestValue(inverse, 'sin');
1041+
if (!match?.angle) return null;
1042+
const parsed = match.angle.match(/rad\(([\d.]+)\)/);
1043+
if (!parsed) return null;
1044+
radian = parseFloat(parsed[1]);
1045+
}
1046+
1047+
return radian;
1048+
}
1049+
10001050
function Atan(x) {
10011051
if (typeof x !== 'number' || isNaN(x) || x <= 0) return null;
10021052

10031053
let radian = null;
10041054

1005-
if (x > 1 || x < 0.089) {
1055+
if (x > 1 || x < 0.09) {
10061056
// Direct match
10071057
const match = closestValue(x, 'tan');
10081058
if (!match?.angle) return null;
@@ -2451,12 +2501,15 @@ <h6 style="font-size:160%;margin:7px">Area of a circle</h6>
24512501
const s = sin(angle);
24522502
const c = cos(angle);
24532503
const t = tan(angle);
2504+
const as = Asin(angle);
2505+
const ac = Acos(angle);
24542506
const at = Atan(angle);
2455-
24562507
output.innerText += `✅ Testing angle: ${angle}\n\n`;
24572508
output.innerText += `• sin(${angle}) = ${s}\n`;
24582509
output.innerText += `• cos(${angle}) = ${c}\n`;
24592510
output.innerText += `• tan(${angle}) = ${t}\n`;
2511+
output.innerText += `• Asin(${angle}) = ${as}\n`;
2512+
output.innerText += `• Acos(${angle}) = ${ac}\n`;
24602513
output.innerText += `• Atan(${angle}) = ${at}\n`;
24612514

24622515

0 commit comments

Comments
 (0)