Epson FX-185 User Manual - Page 199

D=SQRR^2+C^2, IF INTD+.5=20 THEN AR, C=1, Divide and conquer

Page 199 highlights

drastic measures. One such measure would be to let each bit of the numbers stored in the array cells represent one graphics dot. This would increase the storage ability but tremendously complicate the programming. For symmetric designs such as the circle, you can use a different measure. Take advantage of the symmetry to increase your output four-fold without increasing the size of the array one iota. How? By using the array to plot one-fourth of the circle in memory, then modifying the array three times to generate the remaining three parts (Figure 13-6). Figure 13-7. Divide and conquer Try this out with the current program. Here are the changes you need to make to your current program in order to plot the lower-right corner : 30 D=SQR(R^2+C^2) 40 IF INT(D+.5)=20 THEN A(R,C)=1 130 LPRINT CHR$(27)"*"CHR$(5)CHR$(N)CHR$(0); By moving the center of the circle from (11,11) to (0,0) and increasing the radius from 10 to 20, you enlarge the figure. 182

  • 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

drastic measures. One such measure would be to let each bit of the
numbers stored in the array cells represent one graphics dot. This
would increase the storage ability but tremendously complicate the
programming.
For symmetric designs such as the circle, you can use a different
measure. Take advantage of the symmetry to increase your output
four-fold without increasing the size of the array one iota. How? By
using the array to plot one-fourth of the circle in memory, then modi-
fying the array three times to generate the remaining three parts (Fig-
ure 13-6).
Figure 13-7. Divide and conquer
Try this out with the current program. Here are the changes you
need to make to your current program in order to plot the lower-right
corner :
30
D=SQR(R^2+C^2)
40
IF INT(D+.5)=20 THEN A(R,C)=1
130
LPRINT CHR$(27)"*"CHR$(5)CHR$(N)CHR$(0);
By moving the center of the circle from
(11,11)
to (0,0) and increasing
the radius from
10
to
20,
you enlarge the figure.
182