HP 39g hp 39g+ (39g & 40g)_mastering the hp 39g+_English_E_F2224-90010.pdf - Page 222

Example aplet #2, TRANSF.PLOT

Page 222 highlights

Example aplet #2 If you haven't already, read pages 194 which explain how to create a copy of the Parametric aplet to explore geometric transformations using matrices. We will now look at using programming to enhance this aplet by automating the process. Start by highlighting the Parametric aplet and pressing . Now the aplet under the new name 'Transformer'. Press SHIFT NOTE (not NOTEPAD) and enter some explanatory text into the aplet's Note view. You can use the text shown right. The next step is to create the 'helper' programs for the aplet, including the one containing the SETVIEWS command used to create a new VIEWS menu for the aplet. These programs are shown on the next page. When you have typed them all in then the program .TRANSF.SV to create the VIEWS menu. Programs for the aplet 'Transformer' are given below. .TRANSF.SV .TRANSF.S .TRANSF.PLOT This program sets up the VIEWS menu to call each of the other programs. It need only be run once at the creation of the aplet, but is attached via the final line so that it will be sent with all the others if the aplet is transmitted. The new user does not have to re-run it: it will never normally be run again. This program sets up the required axes using variables from the PLOT SETUP view. It then loads the equations and ensures they are ed and ready for use. Finally it loads the initial values into the matrices. This program changes the value of Xmin and then changes it back. In the original version the user had to press PLOT to force a re-draw. This technique fools the hp 39g+ into thinking that the PLOT view has changed and therefore forces a redraw without the need to press a key. It also re-multiplies the matrices in case the user has changed one by hand instead of going through the VIEWS menu. 222

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • 217
  • 218
  • 219
  • 220
  • 221
  • 222
  • 223
  • 224
  • 225
  • 226
  • 227
  • 228
  • 229
  • 230
  • 231
  • 232
  • 233
  • 234
  • 235
  • 236
  • 237
  • 238
  • 239
  • 240
  • 241
  • 242
  • 243
  • 244
  • 245
  • 246
  • 247
  • 248
  • 249
  • 250
  • 251
  • 252
  • 253
  • 254
  • 255
  • 256
  • 257
  • 258
  • 259
  • 260
  • 261
  • 262
  • 263
  • 264
  • 265
  • 266
  • 267
  • 268
  • 269
  • 270
  • 271
  • 272
  • 273
  • 274
  • 275
  • 276
  • 277
  • 278
  • 279
  • 280
  • 281
  • 282
  • 283
  • 284
  • 285
  • 286
  • 287
  • 288
  • 289
  • 290
  • 291
  • 292
  • 293
  • 294
  • 295
  • 296
  • 297
  • 298
  • 299
  • 300
  • 301
  • 302
  • 303
  • 304
  • 305
  • 306
  • 307
  • 308
  • 309
  • 310
  • 311
  • 312
  • 313
  • 314
  • 315
  • 316
  • 317
  • 318
  • 319
  • 320
  • 321
  • 322
  • 323
  • 324
  • 325
  • 326
  • 327
  • 328
  • 329
  • 330
  • 331

222
Example aplet #2
If you haven²t already, read pages 194 which explain how to create a copy of
the Parametric aplet to explore geometric transformations using matrices.
We will now look at using programming to enhance this aplet by automating
the process.
Start by highlighting the Parametric aplet and
pressing
.
Now
the aplet under
the new name ±Transformer².
Press
SHIFT
NOTE
(not
NOTEPAD
) and enter some
explanatory text into the aplet²s Note view.
You can use the text shown right.
The next step is to create the ±helper²
programs for the aplet, including the one
containing the
SETVIEWS
command used to
create a new
VIEWS
menu for the aplet.
These programs are shown on the next page.
When you have typed them all in then
the program .TRANSF.SV to create the
VIEWS
menu.
Programs for the aplet ±Transformer² are given below.
.TRANSF.SV
.TRANSF.S
.TRANSF.PLOT
This program sets up the
VIEWS
menu to call each of the other
programs.
It need only be run once
at the creation of the aplet, but is
attached via the final line so that it
will be sent with all the others if the
aplet is transmitted. The new user
does not have to re-run it: it will
never normally be run again.
This program sets up the required
axes using variables from
the
PLOT
SETUP
view. It then loads the
equations and ensures they are
ed and ready for use.
Finally it loads the initial values into
the matrices.
This program changes the value of
Xmin and then changes it back.
In
the original version the user had to
press
PLOT
to force a re-draw. This
technique fools the hp 39g+ into
thinking that
the
PLOT
view has
changed and therefore forces a re-
draw without the need to press a
key.
It also re-multiplies the
matrices in case the user has
changed one by hand instead of
going through the
VIEWS
menu.