2.2 Applying a force – The Nature of Code on Vimeo で Processing を勉強しよう14

ARVE Error: id and provider shortcodes attributes are mandatory for old shortcodes. It is recommended to switch to new shortcodes that need only url

テキスト
http://natureofcode.com/book/chapter-2-forces/#chapter02_section2

サンプルコード
https://github.com/shiffman/The-Nature-of-Code-Examples/tree/master/Processing/chp2_forces/NOC_2_1_forces
https://github.com/shiffman/The-Nature-of-Code-Examples/tree/master/Processing/chp2_forces/NOC_2_2_forces_many

今回重要なポイントは force を PVector に反映させるところです。サンプルでは force に wind や gravity を加えていますが love や fear を加えたっていいそうです。ちょっとした力で世界は変わるんです。

Continue reading “2.2 Applying a force – The Nature of Code on Vimeo で Processing を勉強しよう14”

2.1 What is a Force? – The Nature of Code on Vimeo で Processing を勉強しよう13

ARVE Error: id and provider shortcodes attributes are mandatory for old shortcodes. It is recommended to switch to new shortcodes that need only url

テキスト
http://natureofcode.com/book/chapter-2-forces/

F = M *A (Force equals mass times acceleration.)

上記はニュートンの運動の第2法則 ですが、Processing でのシミュレーションは我々が作り出す世界なので、もし M が全て1の世界であると仮定すると A = F でいいんじゃないか?とも考えられるのでこれでやってみようよ(M も後で考慮するけど)ということを仰ってます。

次からまた実際にコードを書いていきます。

1.6 Vectors: Acceleration towards mouse – The Nature of Code on Vimeo で Processing を勉強しよう12

ARVE Error: id and provider shortcodes attributes are mandatory for old shortcodes. It is recommended to switch to new shortcodes that need only url

テキスト
http://natureofcode.com/book/chapter-1-vectors/#chapter01_section10

サンプルコード
https://github.com/shiffman/The-Nature-of-Code-Examples/tree/master/Processing/chp1_vectors/NOC_1_10_motion101_acceleration

現在の位置からマウスの位置へのベクトルを使って、acceleration をコントロールしています。

Continue reading “1.6 Vectors: Acceleration towards mouse – The Nature of Code on Vimeo で Processing を勉強しよう12”

1.5 Vectors: Acceleration – The Nature of Code on Vimeo で Processing を勉強しよう11

ARVE Error: id and provider shortcodes attributes are mandatory for old shortcodes. It is recommended to switch to new shortcodes that need only url

テキスト
http://natureofcode.com/book/chapter-1-vectors/

サンプルコード
https://github.com/shiffman/The-Nature-of-Code-Examples/tree/master/Processing/chp1_vectors/NOC_1_7_motion101
https://github.com/shiffman/The-Nature-of-Code-Examples/tree/master/Processing/chp1_vectors/NOC_1_8_motion101_acceleration
https://github.com/shiffman/The-Nature-of-Code-Examples/tree/master/Processing/chp1_vectors/NOC_1_9_motion101_acceleration

x、y 座標を動かすのでは無く、velocity、acceleration の PVector インスタンスの値を変化させ、ベクトルを足し算することで動きをつけてみます。limit() を使って変化の範囲を限定しています。

Continue reading “1.5 Vectors: Acceleration – The Nature of Code on Vimeo で Processing を勉強しよう11”

1.4 Vector Math II – The Nature of Code on Vimeo で Processing を勉強しよう10

ARVE Error: id and provider shortcodes attributes are mandatory for old shortcodes. It is recommended to switch to new shortcodes that need only url

テキスト
http://natureofcode.com/book/chapter-1-vectors/

サンプルコード
https://github.com/shiffman/The-Nature-of-Code-Examples/tree/master/Processing/chp1_vectors/NOC_1_5_vector_magnitude
https://github.com/shiffman/The-Nature-of-Code-Examples/tree/master/Processing/chp1_vectors/NOC_1_6_vector_normalize

PVector の基本的なメソッドから mag と normalize を紹介されてます。

Continue reading “1.4 Vector Math II – The Nature of Code on Vimeo で Processing を勉強しよう10”

1.3 Vector Math – The Nature of Code on Vimeo で Processing を勉強しよう9

ARVE Error: id and provider shortcodes attributes are mandatory for old shortcodes. It is recommended to switch to new shortcodes that need only url

テキスト
http://natureofcode.com/book/chapter-1-vectors/

サンプルコード
https://github.com/shiffman/The-Nature-of-Code-Examples/tree/master/Processing/chp1_vectors/NOC_1_3_vector_subtraction
https://github.com/shiffman/The-Nature-of-Code-Examples/tree/master/Processing/chp1_vectors/NOC_1_4_vector_multiplication

PVector の基本的なメソッドから add と mult を紹介されてます。

Continue reading “1.3 Vector Math – The Nature of Code on Vimeo で Processing を勉強しよう9”

1.2 PVector class – The Nature of Code on Vimeo で Processing を勉強しよう8

ARVE Error: id and provider shortcodes attributes are mandatory for old shortcodes. It is recommended to switch to new shortcodes that need only url

テキスト
http://natureofcode.com/book/chapter-1-vectors/

サンプルコード
https://github.com/shiffman/The-Nature-of-Code-Examples/tree/master/Processing/chp1_vectors/NOC_1_1_bouncingball_novectors
https://github.com/shiffman/The-Nature-of-Code-Examples/tree/master/Processing/chp1_vectors/NOC_1_2_bouncingball_vectors

今回は PVector のシンタックスのお話です。実際に x、y 指定を PVector 指定に置き換えていきます。

Continue reading “1.2 PVector class – The Nature of Code on Vimeo で Processing を勉強しよう8”

1.1 Vectors – The Nature of Code on Vimeo で Processing を勉強しよう7

ARVE Error: id and provider shortcodes attributes are mandatory for old shortcodes. It is recommended to switch to new shortcodes that need only url

テキスト
http://natureofcode.com/book/chapter-1-vectors/

今回から本題である Vector のお話に入ります。まずは簡単な説明から。Vector は以下の2つで構成されています。

1.magnitude length or size 長さや大きさ。
2.direction 角度で表される。

Continue reading “1.1 Vectors – The Nature of Code on Vimeo で Processing を勉強しよう7”

Intro5 Perlin Noise – The Nature of Code on Vimeo で Processing を勉強しよう6

ARVE Error: id and provider shortcodes attributes are mandatory for old shortcodes. It is recommended to switch to new shortcodes that need only url

テキスト
http://natureofcode.com/book/introduction/#intro_section6

サンプルコード
https://github.com/shiffman/The-Nature-of-Code-Examples/tree/master/Processing/introduction/NOC_I_5_NoiseWalk
https://github.com/shiffman/The-Nature-of-Code-Examples/tree/master/Processing/introduction/Exercise_I_10_NoiseLandscape

今回がイントロの最後。Perlin Noise はランダムでありながらよりオーガニックなスムーズモーションを作れるもので、元々は3Dのテクスチャのために作られたとのことです。Generative な作品を作ろうとすると避けては通れない道ではないでしょうか。

Continue reading “Intro5 Perlin Noise – The Nature of Code on Vimeo で Processing を勉強しよう6”

Intro4 Custom Distribution – The Nature of Code on Vimeo で Processing を勉強しよう5

ARVE Error: id and provider shortcodes attributes are mandatory for old shortcodes. It is recommended to switch to new shortcodes that need only url

テキスト
http://natureofcode.com/book/introduction/#intro_section5

サンプルコード
https://github.com/shiffman/The-Nature-of-Code-Examples/tree/master/Processing/introduction/MonteCarloDistribution

カスタム分布を作ってみます。サンプルでは大きい数字に数が集まるように調整されています。r1 と r2 をrandom(1); から生成し、r1 の 2乗と r2 を比較して r2 が大きい場合 r1 を返すということをしています。その r1 を x 座標としてピクセルが積もっていきます。

Continue reading “Intro4 Custom Distribution – The Nature of Code on Vimeo で Processing を勉強しよう5”