まゆたまガジェット開発逆引き辞典

電子工作やプログラミングのHowtoを逆引き形式で掲載しています。作りたいモノを決めて学んでいくスタイル。プログラマではないので、コードの汚さはお許しを。参照していないものに関しては、コピペ改変まったく問いません

Processingで四角形を2つくっつけて、複数ランダムに描く

タイルに色を塗ろうと思ったのですが、配色がメンドくてプログラムに任せた第二弾。 今度は四角形タイルです。書き換えればパズルもいけそうですね。quadを2つくっつけて四角形にしています。例によってマウスクリックでランダムに形が生成されます。 参考に…

Processingで円グラフを描く

半円の向きをランダムにしてくっつけて、1つの円にしようと思っていろいろやってたら、円グラフを描くやり方が公式で解説されていた PieChart \ Examples \ Processing.org のでそちらを参考にしました。こんな感じです。半円の角度と色がマウスボタンを押す…

Processingでクレヨンスクラッチもどきをつくる

先日テレビでクレヨンスクラッチをやっていたので、processingで実装してみました。 実際のクレヨンスクラッチは、1.適当に色つきクレヨンで塗る 2.その上から黒のクレヨンで全体をぬりつぶす 3.クギなどでひっかくという手順ですが、 Processingでは、0.「…

Processingで円が重ならないようにランダムに描く

Processingで円が重ならないようにランダムに描きます。 2点間の距離を出す「dist」を使って、2つの円の半径の合計が2点間の距離より小さくなればOKです。 つまり、cとpの2点間の距離 > cの半径+pの半径の場合に描画されます。 processing本家の掲示板にお世…

Processingで図形の色を特定の色の中からランダムに変える

今回はメモ程度。 例えば、赤・緑・青・黄色の中から1色ランダムに選びます。 条件分岐のswitchと配列を使います。 マウスクリックで色を変更します。 //色ランダム int colrd; void setup() { size(600, 600); background(255); smooth(); noLoop(); } void…

Processingでランダムに記号を描く2

形と色がランダムに変わるようにしました。 ストライプに関してはforで書いていたのですが、色がうまいこといかなかったので、ひとまずは力技の汚いコードです。 //グリッドのサイズ int gridSize = 50; //ランダムの値 int rd1; //色ランダム int colrd; //…

Pressingで水玉模様を描く

水玉とチェック柄をまとめてみました。書き方は同じで、rect/ellipseを変えるだけです。水玉模様 //水玉ひとつのサイズ int rSize = 60; int rnum = 600 / rSize; void setup() { size(600, 600); background(255); smooth(); noLoop(); noStroke(); } void …

Processingでランダムに記号を描く

マウスをクリックすると4つの図形と非表示がランダムに切り替わります。 ellipseModeやrectModeを調整するのがちと大変かもですが、さほど難しくありません。 forの使い方をお勉強するのにいいかもしれません。 //グリッドのサイズ int gridSize = 60; //ラ…

Processingでハコをランダムに複数描く2

前回は色は固定で表示/非表示の切り替えをランダムに行っていましたが、今回は色の切り替えと表示/非表示がランダムに切り替わるようにしました。 色はfill()の色だけでなく、チェック柄も使えます。 模様を色として使う場合、ハコのそれぞれの面の形にマス…

Processingでチェック柄を描く

ハコのテクスチャにするつもりで、Processingで赤と黒のチェック柄を描きました。 条件分岐をもうちょいスマートに書きたいところ。 int rSize = 60; int rnum = 600 / rSize; void setup() { size(600,600); background(255); noLoop(); noStroke(); } void…

Processingでハコをランダムに複数描く

前回のハコを応用して、ハコの面がランダムであったりなかったりなモノを作ってみました。 メモリ的に「描画しない」という方法がちと分からなかったので、noFillとnoStrokeで強引にやってしまいました。 コードを整えてないので、かなり汚いです。 箱シリー…

Processingで特定の個数をランダムな位置に描く

Processingでほとんど使わなかった機能のことがすっかり頭から抜けていて、しばらく格闘してしまったのでメモ。円や四角などの図形を特定の個数ぶんだけ、ランダムな位置に描きます。 noLoop();の存在をすっかり忘れていた・・・マウスボタンを押すと再描画…

Macで初めてのPython!

所用でPythonに触れる必要があったので、インストールから実行までメモめも。■Pythonのインストール 1.こちらからDownloadリンクをクリックして、ダウンロードする www.python.org 2..pkgをダブルクリックして、インストールする(Nextを押していけばOK)■ディ…

マイナスから始める機械学習入門5 Node-REDのノードについて

Node-REDのデフォルトノードについて Node-REDのデフォルトのノードを書き出してみました。私はDB系の処理はあまり行わないので、それらの正確性は保証できかねます。すみません・・・ デフォルトのノード以外のものは、こちら Library - Node-RED を参照す…

マイナスから始める機械学習入門4 Node-REDを使って簡易Botをつくる

Node-REDとWatsonを連携させる際にBotを作りたいので、ひとまずNode-REDで簡単なBotを作りたいと思います。 私のTwitterタイムラインに「ズンドコ」が流れてると、私のアカウント宛に「きよし」と返してくれるものです。 Node-REDで「ズンドコきよし」 ログ…

マイナスから始める機械学習入門3 Node-REDで遊ぶ

Node-REDとは? Node-REDとは、IBMが提供している、ブロックを繋ぐことでコードをあまり書かずにプログラミングができるものです。 Bluemixの機能の一部ですね。node.jsで動いているそうです。コードを書く場合はJavaScriptで記述します。注意点として、 右に…

マイナスから始める機械学習入門2 Bluemixで遊ぶ

WatsonとBluemixとは? ガチでコードを書き始める前に、IBMのWatsonで感覚を掴んでみたいと思います。 Watsonとは、専門家の思考パターンを学習させて意思決定に役立てるものです。 人の脳をコードで再現するAI(人工知能)とは異なるため「人工知能」ではない…

マイナスから始める機械学習入門1 Pythonを使えるようにする

あるプロジェクトで必要にかられて機械学習に手を出すことになりましたので、メモ代わりに。【対象】 ProcessingやoFでコードを書いたことはあるが、ライブラリを自分で作ったことはない 機械学習なにそれおいしいの? 日本人だから英語わからんし 微積?ベク…

wiki系テーマ「WP Knowledge Base Theme」のカスタマイズについて

wordpressでwiki風のデザインテーマである「WP Knowledge Base Theme」を使っていてハマったので、使い方メモです。 そのまま新規投稿したり固定ページを作ったりしても、デモページのような見た目にはなりません。 以下の手順が必要になります。 固定ページ…

近接センサを使う

iPhoneの前カメラ付近にある近接センサに手や顔などを近づけるとアクションが起こるものです。 どうやら近接センサが物体を検知しているときは、デフォルトで画面が真っ暗になるようです。 しかも相当手を近づけないと反応しないので、距離を測ることができ…

配列を検索する

配列にフィルタをかけたい場合は、こうなります。 let array = ["愛知", "北海道", "東京"] //北という文字が該当する場合 let arPredicate = NSPredicate(format: "self contains[c] '北'") //その要素を抜き出しなさい let arArray = (array as NSArray).f…

ランダムなタイミングで何かする・ランダムな間隔で何かする

ランダムなタイミングで何かすることと、ランダムな間隔で何かするというコードを書いてみました。 ランダムな間隔で何かする、のほうはわりと力技で、他に良い方法がある気がします。まずランダムなタイミングで何かする。例えば、ボタンを押してからランダ…

しゃべらせつつ口パクアニメーション

Siriにしゃべらせつつ口パクアニメーションを同期させるのを試してみました。 とはいっても、母音に合わせてアニメーションの口を変える・・・などということはしていません(汗本来はまばたきは目が開いている画像・半目の画像・閉じてる画像の3枚が良いので…

OpenCVを使ってリアルタイムに顔認識

やはりリアルタイムに認識するのは重いですね。そりゃそうですよね、iPhoneだもの。1.いつものようにプロジェクトファイルを作って、いったんXCodeを終了する 2.ターミナルを開き、以下を行う [sudo] gem install cocoapodsと入力してリターンキーを押す pod…

OpenCVを使う

Swift+iOSでOpenCVを使ってみます。 最初はcocoapodsをインストールしていたのですが、どうにもリンクエラーになってしまって opencv2.frameworkを追加する以下のような方法でやることにしました。1.こちらにアクセスし、 新しいバージョン(2015年6月の時点…

追記あり;Bluetoothでデータ送受信

★ func peripheral(peripheral: CBPeripheral!, didWriteValueForCharacteristic characteristic: CBCharacteristic!, error: NSError!) ...と @IBAction func writeBtnTapped(sender: UIButton)...の項目を追加して、セントラル側からペリフェラル側へ デー…

Google検索を使ってTwitter検索してヒット数を表示

以前Objective-C用に書いたモノのSwift移植です。辞書と配列は大変だった・・・ TwitterSearchAPIはヒット数まで出してくれないっぽいので、強引にGoogle検索に突っ込んでます。 println(responseData)とやると検索結果すべてのデータが取れるので、そこから…

スクリーンセーバー・スライドショーもどき:テキストのフェードイン/アウト

以前Objective-c用に書いたもの(テキストアニメーション部分のみ)をSwift用に移植します。 テキストが一定時間ごとにフェードイン/アウトして、これもなんちゃってスクリーンセーバーです。スライドショーかな、むしろ。テキストを絵に変換してあげてもいけ…

Swift目次を作成しました

Swiftも目次を作成しました。ほぼ逆引きですね。随時追加していきます。・タップした座標を獲得し、特定の範囲内かどうか検出する http://d.hatena.ne.jp/prince9/20150517/1431817999・スクリーンセーバー的なものを作る http://d.hatena.ne.jp/prince9/201…

スクリーンセーバー的なものを作る

しばらくプログラミングから離れていたので、これもまた地味に時間かかった・・・ あまりよくない書き方をしているような気がするので、もし訂正箇所があればコメント等でお願いします。NSTimerがもっと正確な時間で作動して欲しいという場合は、 ・var time…