Mac(Sierra)でのキーリマップ

今月、以下2台のMacのSierraでキーリマップを見直してちゃんとしました。

  • MBA(2014Early) - JISキー配列
  • MBP(2016Late) - JISキー配列
続きを読む

openFrameworksでドーム映像制作

[2017/05/18追記]

  • 3つ目の動画で使用している楽曲の使用許可をいただけたので、音ありに変更。
  • その他のスナップショットに追加。

今回は、ドーム状のスクリーンに投影する映像を作った話です。 ドーム映像の業界では、ドームマスターと言われている、円型にレンダリングされた形式の映像を投影しています。 (参考:ORIHALCON Project: 全天周映像(ドーム映像)の作り方)

私がやっていたのは2015年の頃で、openFrameworksを使ってドームマスター形式の映像を作ってました。 以前は、ドームマスター形式の映像はAfterEffectsのプラグインなどで制作されることも多かったみたいですが、 最近では、Unityなどを使って制作することもできるようです。
Unityによるインタラクティブドームコンテンツ作成 | 株式会社オリハルコンテクノロジーズ | ORIHALCON Technologies, Inc.

今やるなら、断然 Unity でやりたいですね!

続きを読む

retryするデコレータ

失敗してもretryするデコレータを書いてたら、頭の体操みたいなコードができました。 機能要件は、試行の最大回数と試行の時間間隔をデコレートするときに指定できるように…

それから、下記のコードはf文字列を使っているので python3.6+です。

from functools import wraps
from time import sleep, time

def retry(count=0, delay=0):
    def _retry(func):
        @wraps(func)
        def wrapper(*args, **kwargs):
            _delay = delay
            _time = time()
            for c in range(count):
                print(f'time: {time()-_time:.1f}')
                success = func(*args, **kwargs)
                if success or c == count-1:
                    break
                sleep(_delay)
                _delay *= delay
            return success
        return wrapper
    return _retry

try_count = 0
@retry(count=3, delay=1.5)
def unstable_func(threshold):
    global try_count
    try_count += 1
    print(f'try count: {try_count}')
    return True if try_count > threshold else False

if __name__ == '__main__':
    print(f'unstable_func is {"succeeded" if unstable_func(3) else "failed"}')
    print()
    print(f'unstable_func is {"succeeded" if unstable_func(3) else "failed"}')

実行結果は

time: 0.0
try count: 1
time: 1.5
try count: 2
time: 3.8
try count: 3
unstable_func is failed

time: 0.0
try count: 4
unstable_func is succeeded

実際に使うときは、ちゃんとしたライブラリを使いましょう!

株式会社はてなに入社しました

株式会社はてなに入社しました

株式会社はてなに入社しました - hitode909の日記

openFrameworksでプロジェクション

f:id:uitspitss:20170314020609j:plain

はじめに

2014年のクリスマス前に、openFrameworksを使って、プロジェクションをやりました。 今更ながら、記事にまとめます。

個人的には、コードも含めて載せたいところですが、 今までコードを載せるための作業をしようとして、公開ができていなかったので、 この記事では、コードは載せずに簡単な解説や製作に使用したaddon、参考にしたページなどを書きたいと思います。 2年ちょっと前に開発したもので、addonなどはもっと適したaddonが出ていることもあったりすると思いますので、 そのあたりは参考程度に読んでいただいた方がよいかもしれません。

続きを読む

ASI120MC-S + Raspberry Pi2 で星空定点撮影

allskyについて

アルデバラン食20170109

以前に書いた記事で載せた動画は、MBAoaCapture というソフトを使って撮影していました。 ASI120MC-Sのフレームレートは、100μsを切ることもあるので、ちょっとした長さの動画でも、すごいデータ量になるので、 ライブビューをしながらタイミングを見計らってシャッターを切っていくほうがデータ容量を圧迫しないで使える気がします。

ただ、この方法は流星群などの長時間の天文現象の撮影や、日常的な星空撮影には少し面倒に感じることも多いはずです。 そう思う人は他にもいるようで、githubに定点撮影用のプログラムがありましたので、それを使ってテスト撮影してみました。

続きを読む

node.js+ScratchX+Digisparkでプログラミング教室をやった

始めに

過去にも似たタイトルの記事を書いています。 過去記事はこの教室で使うプログラムの開発記事になっていました。 今回の記事が一連の開発の締めということになります。

f:id:uitspitss:20170312013219j:plain

続きを読む