見出し画像

🎟p5.jsでxeyes ぐるぐるめだまの動くやつ(エックスアイズ)

また読んでくれてありがとう。


今回はXeyesだ、めだまだよ

なぜか英語版の記事がないXeyes 生き物のように見えるしコードも短くてすむのでなかなかよい

一旦ひきのばします

まだ短くなる気がするが、おそらく片目の処理にするか両目の処理にするかなやんでコードがぶれている気がする。獲物を追いかけているように見えるのはAの処理で、oを追いかけて処理をsub->div->mult で円の中心点とaddするが細かいことを考えたことがない。

Vector.subの処理

ベクトルから x、y、z 成分を引く、あるベクトルから別のベクトルを引く、または独立した 2 つのベクトルを引くことができます。2つのベクトルを引くバージョンは静的メソッドでp5.Vectorを返し、その他はベクトルに対して直接作用します。さらに、このメソッドに配列として引数を与えることができます。より詳細な文脈はサンプルを参照してください。

https://p5js.org/reference/#/p5.Vector
https://editor.p5js.org/setapolo/sketches/R2OzGNFzw

わかるようでわからない、とりあえず次のdivにいってみよう

Vector.divの処理

ベクトルをスカラーで割る、ベクトルを x, y, z 引数で割る、または 2 つのベクトルの x, y, z 成分を互いに割り算することができます。ベクトルをスカラーで割る場合、ベクトルのx,y,z成分はすべてスカラーで割られます。ベクトルをベクトルで割る場合、元のベクトルのx、y、z成分を配当、引数のx、y、z成分を除数として扱います。(例えば、2つのベクトルa.x / b.x, a.y / b.y, a.z / b.z) このメソッドの静的バージョンは新しいp5.Vectorを作成し、非静的バージョンはベクトルに直接働きかけます。

https://p5js.org/reference/#/p5.Vector

これもよくわからない。


ゼロで除算になっちゃった

divの前にdist

2点間のユークリッド距離を計算します(点をベクトルオブジェクトと見なします)。2点間の距離を計算したい場合は, dist() を参照してください.

https://p5js.org/reference/#/p5.Vector

よくわからなくなってきたのでコードを整理する


tはタイマーの余韻で残ってるだけなので、とりあえず消す、目玉を左右書いているのをどう残すかだが、、、、


他の野望が出てきたのでapplyと配列にする


こうきた



お願い致します