回答編集履歴
1
別解追記
test
CHANGED
@@ -203,3 +203,51 @@
|
|
203
203
|
```
|
204
204
|
|
205
205
|
なんてやってやるとちょっと残像がつけられたりします。
|
206
|
+
|
207
|
+
|
208
|
+
|
209
|
+
---
|
210
|
+
|
211
|
+
別解というか。他の質問でsinを使って、なんて話が出ているので、変化の単位ベクトルに変化量を掛けて足し込んで伸び縮みをやってみました。
|
212
|
+
|
213
|
+
変更点だけ。
|
214
|
+
|
215
|
+
```Processing
|
216
|
+
|
217
|
+
final PVector unit=new PVector(1,-1);
|
218
|
+
|
219
|
+
final float multi = 100;
|
220
|
+
|
221
|
+
final float offset=0.5;
|
222
|
+
|
223
|
+
float pseudopod = 0;
|
224
|
+
|
225
|
+
float th = 0;
|
226
|
+
|
227
|
+
|
228
|
+
|
229
|
+
void draw() {
|
230
|
+
|
231
|
+
background(255);
|
232
|
+
|
233
|
+
th=(th+3.6)%360;
|
234
|
+
|
235
|
+
|
236
|
+
|
237
|
+
strokeWeight( 4 );
|
238
|
+
|
239
|
+
stroke( 0, 200, 0 );
|
240
|
+
|
241
|
+
fill( 0, 255, 0 );
|
242
|
+
|
243
|
+
|
244
|
+
|
245
|
+
beginShape();//アメーバの形
|
246
|
+
|
247
|
+
|
248
|
+
|
249
|
+
x = unit.x*multi*(sin(radians(th))+offset);
|
250
|
+
|
251
|
+
y = unit.y*multi*(sin(radians(th))+offset);
|
252
|
+
|
253
|
+
```
|