日常の進捗

書くし、描くし、足掻くし

openFrameworksからProcessingに書き換えてみる

#openframeworks #programming https://t.co/FwzXyKQ3aK pic.twitter.com/aZjDZge6yU— junkiyoshi (@junkiyoshi) August 17, 2017 TwitterでTLに流れてきたもので、気になった。これはopenFrameworksというProcessingの思想から影響を受けて開発されたクリエ…

ソーホース8 進捗とThingiverse

脚補強用のパーツとか一式整理した。ブラケットのパーツだけ、ひとまずThingiverseに仮公開した。ThingiverseはMakerbotが運営する3Dデータのアップロードサイト。おもに3Dプリンタでの出力用にユーザーがアップロードしたデータを無償でダウンロードできる…

Mod:Coding Challenge #4: Purple Rain in Processing

パラメータにY方向の重力以外にも、X方向の風を追加した。あと矢印にしたら逆に雨ではなくなった。マウスで重力と風を制御出来る。 int num = 500; Drop[] drops = new Drop[num]; void setup() { size(960, 540); colorMode(HSB, 360, 100, 100, 100); for …

ソーホース7 ver.0.3の進捗と鋸引き用治具

出力 takawo shunsukeさん(@takawo)がシェアした投稿 - 2017 8月 15 5:45午後 PDT 組立と荷重テスト takawo shunsukeさん(@takawo)がシェアした投稿 - 2017 8月 15 5:29午後 PDT 量産(x4) takawo shunsukeさん(@takawo)がシェアした投稿 - 2017 8月 16 6:4…

Mod:Coding Challenge #3: The Snake Game

スネークゲーム。チュートリアルではを矢印キーで動かすものだったが、操作するの面倒だったので、が自動で餌を追従するようにプログラムを書き換えた。気分を変えようとp5.jsで書いてみた。 var snake; var scl = 10; var food; function setup() { createC…

Mod:Coding Challenge #2: Menger Sponge Fractal

コードを写しながら解説を聴く感じ。x,y,zで-1から1の範囲で繰り返して、それを元に座標計算をする流れは新鮮だった。内容としては完成したものを自分なりの書き方に書き換えた他、座標ごとに個別で回転や世代のループ、視点移動させるなどしている。 ArrayL…

ソーホース6 考え方を🐸

寝室に3Dプリンタがあって、ここのところ大抵寝る前に稼働させている。睡眠時間に干渉しない出力時間にしてるつもりでも、起きたときにプリンタが動いているため、結果としてソーホースの接合部分のことを寝起きで考えることになる。それがうまくいっていな…

Mod:Coding Challenge #1: Starfield in Processing

Daniel Shiffmanはクリエイティブコーディングのバイブル「Nature of Code」の著者として知られている。それ以外にも、Processing/p5.jsのチュートリアル動画をYoutubeに多数公開している。その量たるや膨大で、どれも観ていてわかりやすく面白い。学生にと…

ソーホース5 組み立て

パーツを組み立ててみる。いい感じな気がするが、一方でプロダクトは細部まで凝らされているんだなと畏敬の念しか湧いてこない状況でもある。クランプの接合部がやはりキツくて、組み立ての手順を最適化しないとパーツ(ボルトとナット類)が取り付けづらい…

三角形を円周上に配置する

はじめは、特に何も考えないでプログラムした。円周状に何か並べたいなと思ったので三角形を配置した。三角形の頂点が伸び縮みしたらどうだろうと考えた。次に半径の異なる円を複数描画して敷き詰めようとしてみた。円ごとに頂点の伸び縮みする周期をずらし…

ブレッドボードのケース

オープンキャンパスで動作させてる看板が多分倒れたらしく、その際にArduinoのUSBのコネクタ部分が壊れたようだった。電子回路の雨天対策もそろそろ必要と思っていたので、その導入がてらブレッドボードのケースをモデリングしてみることにした。 酔っ払いな…

ソーホース4 加工手順を変えてみる

ここのところソーホースの組み立てパーツのモデリングを毎日時間を見つけてやっていて、色々工夫するのは楽しいのだけど痒いところに手が届かない部分がある。パラメトリックデザインとか勉強するとしたらもう少し先なんだけど、現状やれるモデリングスキル…

花火

花火を観に行けてないので打ち上げた。いつもそうだけど、今回は特に勢いで書いた感じになった。 マウスをクリックした位置で花火が爆発する。 ArrayList<Mover> movers = new ArrayList<Mover>(); void setup() { fullScreen(); colorMode(HSB, 360, 100, 100); backgroun</mover></mover>…

ソーホース3

出力したものを組み立ててみた。 が、剛性が出ない。2.5mm x 2という感じでクランプのパーツ同士の接合部分を工夫したのが裏目に出た感じだったので戻す。 あと、天板と重なる2x2と脚のビス打ちが1箇所だと固定できなくて脚がくるくる回転する。これは当たり…

フロッキング3D

今日は前に描いた2Dのフロッキングのコードを3Dにしようと思った。が、途中で3Dの角度計算が必要になるのに気づいて爆死した。それっぽく動いてるけど、Z軸方向でのフロッキングは機能してないと思う。今度調べる。 Processingの機能のうちで限定的な部分を…

ソーホース2

www.tinkercad.com 前回で問題があった部分を修正した。ひとまず1セット(2脚)分を3Dプリンタで出力している。ベース(底部パーツ)が9時間、クランプ部分が19時間だったと思う。ベースは夜中に出力が完了したので現在はクランプを出力中。 これまで、3Dプ…

ソーホース 1

モデリングしてみた。パーツ同士を組み合わせた時、干渉する部分のクリアランスが時間内に解決できなかったのでひとまずここまで。 検討事項 ビス打ちする穴の位置 ボルト+ナットの固定方法 重ねあわせの方法をもう少しスマートに

昨日は口頭発表の原稿提出日だった。なんとか出せた。 昨日は一日雨で塵が落ちたので、今日は空気が澄んでいた。 int grid = 20; float[][] points; PGraphics pg; // setup関数 : 初回1度だけ実行される void setup() { size(960, 540); // ウィンドウサイ…

ソーホース0 3Dプリンタと生活

プリンタが自宅に来て、空き時間にちょこちょことモデリングと出力をやっている。前期忙しくて研究室の整備をやってなかったことが悔しかったので、なんとかいい感じに使えるように空間を考えたりしている。 これがザザっと描いた現状の空間(真ん中)と、新…

無題

昨日に引き続いて色々やったのけど個別にまとめている時間がない。後日整理する。 int num = 100; ArrayList<Box> boxes = new ArrayList<Box>(); // setup関数 : 初回1度だけ実行される void setup() { size(960, 540); // ウィンドウサイズを960px,540pxに colorMode</box></box>…

クラスをつかったボールのアニメーションの発展(重力・摩擦・3D)

昨日の続き。 takawo.hatenablog.com 重力 int num = 100; Ball[] balls = new Ball[num]; void setup() { size(960, 540); colorMode(HSB, 360, 100, 100); for (int i = 0; i < num; i = i+1) { balls[i] = new Ball(); } background(0, 0, 0); } void dra…

洗濯機の上蓋開閉感知パーツを3Dプリンタで出力する

5月くらいだろうか、洗濯機の上蓋についている、フック状の開閉感知用パーツがいつの間にか壊れていた。今の洗濯機は蓋が開いた状態だと巻き込み防止のため、動作しない仕様になっている。というわけで蓋が閉まっても閉まったことを感知しないので困っていた…

Illustratorでサボテンを描く

このチュートリアルを参考にIllustratorでサボテンを描いた。図形をペンツールでベジェ曲線を使って描くのではなくて、単純な図形(楕円形ツールや長方形ツール)をうまく使ってアンカーポイントの位置を移動させたりしながら形を作っていく過程は、絵が描け…

変数、配列、クラスをつかったボールのアニメーション

配列やクラスについて勉強して欲しい気持ちで勢いで書いた。 変数を使ったボールのアニメーション float x; //ボールのx座標 float y; //ボールのx座標 float xSpeed; //ボールのx方向の速度 float ySpeed; //ボールのy方向の速度 color c; //ボールの色 flo…

3Dプリンタの移設とアイコンマグネット

自分の3Dプリンタを家に移設して、昨日のアイコンマグネットの続きを出力している。家にプリンタがあると不思議な感じがするけど、水場が近いや出力中に寝れるなど、これまでにない利便を感じる。 アイコンマグネットの制作手順は以下。 Illustratorでファイ…

今やってる3Dのモデリングで活かせるかもと思い、Illustratorのチュートリアルを朝からやった。アピアランスで効果を作っていって、作成した一式の効果を保存、いつでも別のオブジェクトに適応出来るのがグラフィックスタイルという機能。初めて使った。 チ…

ノイズと円

今日は軽め。終端の0度と360度のつなぎ目の部分がうまく行かなかった。 int m = 60; float step = 360 / m; // setup関数 : 初回1度だけ実行される void setup() { fullScreen(); // ウィンドウサイズを960px,540pxに colorMode(HSB, 360, 100, 100, 100); /…

アナログのスケッチ

コピックや色鉛筆の使い方を少し覚えてきた感じがする。

回遊

久しぶりにそこそこ長く書いた。とはいえ、コードの殆どはProcessing公式のフロッキングのサンプルをベースにしてる。 Flocking \ Examples \ Processing.org マウス:増える キーボード:方向のランダム化 Flock flock; int num =150; // setup関数 : 初回1…

Tinkercad Circuitsで電子回路のシミュレート

Tinkercadで作ったLEDとボタンのスケッチ。 www.tinkercad.com const int led0 = 13; const int led1 = 12; const int led2 = 11; const int button0 = 10; const int button1 = 9; const int button2 = 8; int val0 = 0; int val1 = 0; int val2 = 0; void …

まっすぐな線が引けない

まるで人生のようだ。 float offset = 100; float step = (width - offset * 2)/10; size(960, 540); // ウィンドウサイズを960px,540pxに colorMode(HSB, 360, 100, 100); // HSBでの色指定にする translate(width*1/4, 0); int t = 1; int n = 0; strokeCa…

波っぽい円弧

float step = 40; // setup関数 : 初回1度だけ実行される void setup() { size(960, 540); // ウィンドウサイズを960px,540pxに colorMode(HSB, 360, 100, 100, 100); // HSBでの色指定にする } // draw関数 : setup関数実行後繰り返し実行される void draw(…

現在の描画力

実紙に実ペンで実線を引くと実に揺れる。現実と理想 size(960, 720); colorMode(HSB, 360, 100, 100); background(0, 0, 100); strokeCap(PROJECT); int i = 0; translate(0,height/16/2); for (float y = 0; y < height; y += height/16) { float x = map(i…

ステッピングモータの制御

ステッピングモータの制御をユニポーラドライバMP4401でやった。これまでだとなんとなくEasyDriver使いがちなんだけど、とりあえず簡単に回せた。回転速度が遅い?うまく指定ステップ数で1回転しないのは電圧のせいなのか? サーボモータもそうだけど、回転…

イメージと形

なかなか頭のなかにある動きのとおりに形が作れず、時間切れ。 OpenProcessingで選べるレンダラのモードでWEBGLがあるけど、色空間の指定がイメージしているものと違うので今度調べる。 float s = 250; float step = s / 2.5; // setup関数 : 初回1度だけ実…

Tinkercad CircuitsでArduinoを回路を動かす

123D Circuitの後継、Tinkercad Circuitsで一昨日組んだ回路をシミュレート動かしてみた。簡単だったしパーツも複雑じゃないので、組みやすかった。 電子パーツ類を職場に移してしまったので、自宅で手元にないときに作業するのに便利かもしれない。僕みたい…

風景とプログラミング

波の動き、涼しげに。 float step = 30; float offset = 30; // setup関数 : 初回1度だけ実行される void setup() { size(960, 540); // ウィンドウサイズを960px,540pxに colorMode(HSB, 360, 100, 100); // HSBでの色指定にする } // draw関数 : setup関数…

コード見ないで模写

OpenProcessingでこのスケッチを見て、模写してみたくなったのでコード見ないで書いてみた。それほどうまく真似れていないけどタイムアップ。コード見ないで模写は絵画のデッサンに似ている感じがする。 www.openprocessing.org フロッキング(群体シミュレ…

2軸サーボモーターの制御

買って放置していた「SG90 Servo SG90サーボ用ミニ2軸 オリジナル FPV 特殊なナイロン PTZ(NOサーボ) カメラマウント A838」を組み立てがてらサーボの制御をしてみた。 https://www.amazon.co.jp/gp/product/B00FHRVGN6/www.amazon.co.jp 回路図 組み立て …

スチレンボード角カバー出力

テスト出力したら若干寸法違ったので微調整して個数分出力🐸

15分モデリング

なんか朝起きて思いつかなかったので、15分、フリーでモデリングしてみることにした。オブジェクトの複製と繰り返し(Ctrl+D)を使って、Illustratorでパターンを作るテクニックの3D版をやってみた。動画は2倍速。次回からは操作音切りたい。

noiseとrandom

noiseとrandomは三角関数と同様手癖で書くProcessingでは、非常に便利な道具。 noise:与える引数(時間)に応じて、0-1揺れる連続的な数値を生成してくれる random:与える引数を最小最大の範囲にして、不連続的な数値を生成してくれる 動きがある部分に使…

AxiDrawでマルチカラーで出力する用のデータ作成方法

ペンプロッタAxiDrawはなんでもペン先に持たせられるので、他のデジタルファブリケーション機器(3Dプリンタやレーザーカッター)とは違う使い方と可能性が考えられると思う。握らせるのは必ずしもペンである必要もない。竹串持たせて肉を柔らかくするとかは…

新しいAndroid

www.motorola.co.jp Moto G5+がNexus5Xの代わりに届いた。端末にSIM指して設定したら普通に使えているし、サクサク動いて快適だ。とりあえずシステムアップデートやらアカウントのバックアップなどを行うことにする。

Tinkercadで無印良品のキャスターの脚を作る

lohaco.jp これの脚のうち1つが引っ越しで折れて紛失しているのでモデリングしてみた。実際に脚に使っているのはゴミ箱だし、掃除の時以外にそんなに動かす予定もないので、フック船長の義足みたいにキャスターじゃなくても自立すればOKとする。合目的性。 …

コンピュータクラブと個性の掛け算の話

4月の下旬から課外活動のような形で、水野さんと共同でコンピュータクラブという部活のようなものを始めた。当初は倍くらいいたような気がするけど、現状は活発なメンバーが4年生が4人、1年生が3人という構成。やってきた活動を振り返ってまとめるのはまた今…

プログラミングの手癖を超える

float r = 500; void setup() { size(500, 500, P3D); colorMode(HSB, 360, 100, 100, 100); } void draw() { background(0, 0, 0); translate(width/2, height/2, -500); rotateY(frameCount*0.01); rotateZ(PI/8); for (float angle = 0+frameCount; angle …

BlinkM MaxMの制御

BlinkM自体は数年前に購入したものが数個、パーツの箱の中に転がっていたので復習がてら触ってみることにしたのが先週末のことだったんだけど、MaxMは触ったことがなかった気がする。スマホがぶち壊れたので、カメラがなくて記録がない。 MinMは小さくて全体…

Tinkercadでスチレンボードの角カバーをモデリング

オープンキャンパスで制作したサイン誘導パネルの角が痛まないようなカバーを作る。モデリングはTinkercad多分10分くらい。作業平面を指定して、オブジェクトをそこにドロップしたり(選択してdキー)、操作するオブジェクトにフォーカス(選択してfキー)は…

三角関数とスケッチの感覚

今日の朝活Processing、思いつかないと手癖で三角関数を使ってコードを書いてしまう。イメージした動きや形状と少し違うものが画面に描画されて、それを見ながら少しずつ形にしていく感じを面白く思うのかもしれない。 float r = 250; void setup(){ size(50…