@@ -997,25 +997,28 @@ <h4 style="font-size:160%;margin:7px">Trigonometry</h4>
997997 return bestMatch ;
998998}
999999
1000+
10001001function Asin ( x ) {
10011002 if ( typeof x !== 'number' || isNaN ( x ) || x < 0 || x > 1 ) return null ;
10021003
10031004 let radian = null ;
10041005
10051006 if ( x > 0.706 ) {
1006- // Direct match
1007+ // Direct match via sine
10071008 const match = closestValue ( x , 'sin' ) ;
10081009 if ( ! match ?. angle ) return null ;
10091010 const parsed = match . angle . match ( / r a d \( ( [ \d . ] + ) \) / ) ;
10101011 if ( ! parsed ) return null ;
10111012 radian = parseFloat ( parsed [ 1 ] ) ;
10121013 } else {
1013- // Reflective zone
1014+ // Reflective match via cosine
10141015 const match = closestValue ( x , 'cos' ) ;
10151016 if ( ! match ?. angle ) return null ;
10161017 const parsed = match . angle . match ( / r a d \( ( [ \d . ] + ) \) / ) ;
10171018 if ( ! parsed ) return null ;
1018- radian = parseFloat ( parsed [ 1 ] ) ; }
1019+ const angle = parseFloat ( parsed [ 1 ] ) ;
1020+ radian = parseFloat ( ( 1.6 - angle ) . toFixed ( 3 ) ) ;
1021+ }
10191022
10201023 return radian ;
10211024}
@@ -1026,19 +1029,21 @@ <h4 style="font-size:160%;margin:7px">Trigonometry</h4>
10261029 let radian = null ;
10271030
10281031 if ( x < 0.708 ) {
1029- // Direct match
1032+ // Direct match via cosine
10301033 const match = closestValue ( x , 'cos' ) ;
10311034 if ( ! match ?. angle ) return null ;
10321035 const parsed = match . angle . match ( / r a d \( ( [ \d . ] + ) \) / ) ;
10331036 if ( ! parsed ) return null ;
10341037 radian = parseFloat ( parsed [ 1 ] ) ;
10351038 } else {
1036- // Reflective zone
1039+ // Reflective match via sine
10371040 const match = closestValue ( x , 'sin' ) ;
10381041 if ( ! match ?. angle ) return null ;
10391042 const parsed = match . angle . match ( / r a d \( ( [ \d . ] + ) \) / ) ;
10401043 if ( ! parsed ) return null ;
1041- radian = parseFloat ( parsed [ 1 ] ) ; }
1044+ const angle = parseFloat ( parsed [ 1 ] ) ;
1045+ radian = parseFloat ( ( 1.6 - angle ) . toFixed ( 3 ) ) ;
1046+ }
10421047
10431048 return radian ;
10441049}
0 commit comments