Subversion Repositories wimsdev

Rev

Rev 4158 | Rev 6362 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
3560 georgesk 1
!if $wims_read_parm!=slib_header
2
 !goto proc
3
!endif
4158 bpr 4
 
4351 bpr 5
slib_author=Georges, Khaznadar
3560 georgesk 6
slib_license=GPL
4158 bpr 7
 
3560 georgesk 8
slib_example= Angle :, Valeur trigonométrique :
9
!exit
10
 
11
:proc
12
!reset slib_aname, slib_vname, slib_code
13
slib_parm=!item 1 to 2 of $wims_read_parm
14
!distribute item $slib_parm into slib_aname, slib_vname
15
 
16
slib_code=<script type="text/javascript">\
17
  var a; /* angle en radian */\
18
  var v; /* valeur du sinus, cosinus ou tangente, sans unité */\
19
  function get_a(){\
20
    angle=document.getElementById("angle").value;\
21
    unite=document.getElementById("unite").value;\
22
    a=angle*unite;\
23
  }\
24
  function set_a(){\
25
    if (a=="undef"){\
26
      document.getElementById("angle").value="undef";\
27
    } else{\
28
      unite=document.getElementById("unite").value;\
29
      angle=a/unite;\
30
      document.getElementById("angle").value=angle;\
31
    }\
32
  }\
33
  function get_v(){\
34
    v=document.getElementById("trig-value").value;\
35
  }\
36
  function set_v(){\
37
    document.getElementById("trig-value").value=v;\
38
  }\
39
  function asin(){\
40
    get_v();\
41
    if (v<-1 || v >1){\
42
      a="undef";\
43
      set_a();\
44
    } else {\
45
      a=Math.asin(v);\
46
      set_a();\
47
    }\
48
  }\
49
  function sin(){\
50
    get_a();\
51
    v=Math.sin(a);\
52
    set_v();\
53
  }\
54
  function acos(){\
55
    get_v();\
56
    if (v<-1 || v >1){\
57
      a="undef";\
58
      set_a();\
59
    } else {\
60
      a=Math.acos(v);\
61
      set_a();\
62
    }\
63
  }\
64
  function cos(){\
65
    get_a();\
66
    v=Math.cos(a);\
67
    set_v();\
68
  }\
69
  function atan(){\
70
    get_v();\
71
    a=Math.atan(v);\
72
    set_a();\
73
  }\
74
  function tan(){\
75
    get_a();\
76
    v=Math.tan(a);\
77
    set_v();\
78
  }\
79
</script>\
80
<div id="calc-trigo" >\
81
<table style="padding:0.5em; border:3px ridge navy; background:lightcyan; -moz-border-radius: 1em;" >\
82
<tr>\
83
  <td colspan="6" style="text-align:center;" >\
84
    <b>Angle:</b>\
85
    <input id="angle" value="0" style="text-align:right; border:3px ridge navy; -moz-border-radius: 0.5em;" />&nbsp;\
86
    <select id="unite" style="text-align:right; border:3px ridge navy; -moz-border-radius: 0.5em;">\
87
      <option value="0.017453292519943295769">°&nbsp;</option>\
88
      <option value="1">rad&nbsp;</option>\
89
    </select >\
90
  </td>\
91
<tr>\
92
  <td><button onclick="sin(); return false;" style="border:2px outset navy; -moz-border-radius: 0.5em;" >&darr;sin</button></td>\
93
  <td><button onclick="asin(); return false;" style="border:2px outset navy; -moz-border-radius: 0.5em;" >&uarr;asin</button></td>\
94
  <td><button onclick="cos(); return false;" style="border:2px outset navy; -moz-border-radius: 0.5em;" >&darr;cos</button></td>\
95
  <td><button onclick="acos(); return false;" style="border:2px outset navy; -moz-border-radius: 0.5em;" >&uarr;acos</button></td>\
96
  <td><button onclick="tan(); return false;" style="border:2px outset navy; -moz-border-radius: 0.5em;" >&darr;tan</button></td>\
97
  <td><button onclick="atan(); return false;" style="border:2px outset navy; -moz-border-radius: 0.5em;" >&uarr;atan</button></td>\
98
</tr>\
99
<tr>\
100
  <td colspan="6" style="text-align:center;" >\
101
    <b>Value:</b> \
102
    <input id="trig-value"  value="0" style="text-align:right; border:3px ridge navy; -moz-border-radius: 0.5em;" />\
103
  </td>\
3561 bpr 104
</tr>\
3560 georgesk 105
</table>\
106
</div>
107
 
108
slib_code=!replace Angle: by $slib_aname in $slib_code
109
slib_code=!replace Value: by $slib_vname in $slib_code
110
 
111
slib_out=$slib_code