Mac上のMono F#からシリアルポートを使って、 Arduinoと通信する。
Macのシリアルポートから適当な周期で文字列を書き出して、
Arduinoはそれに合わせてLEDを点けたり消したりする。
ポート名とボーレートは、環境に合わせて変えること。
F#は、monoをbrewで普通にインストールしたら付いてきた。
fsharpc serial.fs && mono serial.exe
Mac上のMono F#からシリアルポートを使って、 Arduinoと通信する。
Macのシリアルポートから適当な周期で文字列を書き出して、
Arduinoはそれに合わせてLEDを点けたり消したりする。
ポート名とボーレートは、環境に合わせて変えること。
F#は、monoをbrewで普通にインストールしたら付いてきた。
fsharpc serial.fs && mono serial.exe
| import processing.core._ | |
| object Main extends App { | |
| PApplet.main("RawDepthApp") | |
| } |
| import processing.core._ | |
| import org.openkinect.freenect._ | |
| import org.openkinect.processing._ | |
| class DepthApp extends PApplet { | |
| var kinect: Kinect = null | |
| override def settings() { | |
| size(800, 600) | |
| } |
| import processing.core._ | |
| import processing.serial._ | |
| import cc.arduino._ | |
| class FirmataApp extends PApplet { | |
| var ard: Arduino = null | |
| override def settings() { | |
| size(300, 300) | |
| } |
| import processing.core._ | |
| class HelloApplet extends PApplet { | |
| override def settings() { | |
| size(600, 400) | |
| } | |
| override def draw() { | |
| background(30) | |
| textSize(32) |
| import akka.actor.{Actor, ActorSystem, Props} | |
| import akka.pattern.ask | |
| import akka.util.Timeout | |
| import scala.concurrent.duration._ | |
| import scala.util.Success | |
| import scala.concurrent.ExecutionContext.Implicits.global | |
| class DivideActor extends Actor { | |
| def receive = { | |
| case (i: Int, j: Int) if j > 0 => |
| import processing.core._ | |
| import processing.video._ | |
| class CamApp extends PApplet { | |
| var cam: Capture = null | |
| override def settings() { | |
| size(1280, 720) | |
| } | |
| override def setup() { |
ボールっぽいモデルを作って、P5.jsで動かしてみる。
多数のボールがあって、それぞれがバネ的な力や、速度を抑える方向の抵抗力を受けるようにした。
それだけだとユーザとのインタラクションがなくていまいちなので、
マウスのY座標(縦の位置、高さ)をバネの原点にした。
これで、マウスを縦に動かすときに、ボールが引っ張られて動く。
また、マウスを押さえている間、マウス左側にあるボールが
上へ持ち上げられる不思議な力もかけてみた。
ball.js内でBallオブジェクトを定義した。
| using System; | |
| using System.Linq; | |
| using System.Windows; | |
| using System.Windows.Controls; | |
| using System.Windows.Media; | |
| using System.Windows.Media.Imaging; | |
| using Microsoft.Kinect; | |
| public class KinectDepthWindow : Window | |
| { |
| open System | |
| open System.Windows | |
| open System.Windows.Controls | |
| open System.Windows.Media | |
| open System.Windows.Media.Imaging | |
| open Microsoft.Kinect | |
| type KinectDepthWindow(kinect: KinectSensor) as this = | |
| inherit Window() | |
| let mutable bitmap: WriteableBitmap = null |