hirax.net::inside out

最新記事(inside out)へ  |   年と月を指定して記事を読む(クリック!)

2018年6月 を読む << 2018年7月 を読む >> 2018年8月 を読む

2018-07-17[n年前へ]

80グラムなトイドローン、Ryze Tello 撮影動画からの3次元再構成 

 重量わずか80グラムなトイドローン 、 Ryze Tello を使ってみました。飛ばしてみたとこっろ、Amazonなどのレビューを眺めて持っていた印象よりも、静止画も動画象も良かったので、Ryze Tello 搭載のカメラ動画象からのSLAMとかやってみたくなります。…さらには、Ryze Tello は制御用のSDKも公式・非公式ともども各種情報が公開されているので、撮影画像からのエトセトラだけでなくて、とにかく色んなことをやってみたくなります。

 …というわけで、まずは撮影動画から3Dシーンを再構成してみました。風が吹く中のファーストフライトからの処理画像の割には悪くない感じかな?と思います。

 …ちなみに、これはRyze Tello よりもっと小さなマイクロドローンで撮影された「オンナノコズ:"Onnanocos" × Micro Drone」から、教室教壇ラストシーンを3D再構成してみた結果です。とても小さなドローンでも、リアルな風景を描き出すことができることが不思議で魅力的に感じます。

Ryze Tello 撮影動画からの3次元再構成Ryze Tello 撮影動画からの3次元再構成Ryze Tello 撮影動画からの3次元再構成






2018-07-16[n年前へ]

スマホを分光カメラにしてみよう! 

 100円ショップで買ったスマホケースに入れたiPhoneを毎日持ち歩いています。そのスマホケースとiPhoneの間には、回折格子や偏光フィルタ…といったいくつかの光学フィルタを入れてあります。いつか何処かで役に立つかも…と思いつつ、普段はそんなフィルタで何の役に立たない写真を撮っています。

 たとえば、回折格子を背面カメラに貼り付けて、「分光の目」で町を眺めつつ歩いていると、光る側の「色んな輝線」が気になったり、眺める側の「自分のLMSの各3錐体の個数比とか波長特性」とか気になったり…そんな新鮮な世界が見えてきます。

 普段見慣れた色使いの「セブンイレブン」の赤・緑・橙色だって、分光的に波長分解して眺めてみると意外に新鮮なもの。…ただひとつの難点は「スマホを観つつの町歩き」は危険極まりない…というところでしょうか。

スマホを分光カメラにしてみよう!スマホを分光カメラにしてみよう!スマホを分光カメラにしてみよう!スマホを分光カメラにしてみよう!






2018-07-15[n年前へ]

スマホを使ったプログラミングで 3 次元顕微鏡を作ってみよう! 

 7月18日発売の「Software Design 8月号」に「スマホを使ったプログラミングで 3 次元顕微鏡を作ってみよう!」という記事を書きました。記事の内容は、200円くらいで買うことができるAlliexpressのスマホ顕微鏡ユニットを使い、ほんの少しのプログラミングをして、立体形状と色を計測できる便利ツールを自作してみよう!というものです。

 …今の時代に誰もが手にする「スマホ」というコンピュータは、計算性能も高くさまざまな搭載センサも搭載し、昔の「マイコン・パソコン」世代からしてみると、「これでプログラミングしないともったいない!」と強く感じてしまう今日この頃です。

スマホを使ったプログラミングで 3 次元顕微鏡を作ってみよう!スマホを使ったプログラミングで 3 次元顕微鏡を作ってみよう!






2018-07-08[n年前へ]

Maker Faire Hong Kong 2018 x 造大世界(PLOLYU DESIGN ANUAL SHOW 2018 

 今週末は、香港理工大学に、Maker Faire Hong Kong 2018 x 造大世界(PLOLYU DESIGN ANUAL SHOW 2018)を見に行ってきた。Maker Faire HongKong 2018は「こどもが主役」という感じで面白かったし、”PLOLYU DESIGN ANUAL SHOW 2018”は、この世界やこれからの生活はどうあるべきか?を考えるデザイン提案に満ちていて、その試行錯誤の展示が素晴らしく良かった。こういう工学デザイン系大学の学生展示は本当に面白い。

Maker Faire Hong Kong 2018 x 造大世界(PLOLYU DESIGN ANUAL SHOW 2018






2018-07-03[n年前へ]

深層学習で「体が入れ替わってる!?」妄想カメラを作る! 

 発売中の「Software Design 2018年7月号」に、4p記事を書いています。題して『深層学習で「体が入れ替わってる!?」妄想カメラを作る!』です。深層学習とか機械学習といった仕事に役立つトピックというわけではなく、いわゆるひとつの「妄想カメラアプリの作り方」です。つまり、アレ。写真機=カメラというものは、現実の姿を写すのではなくて、「撮影者が写したい=あると良いな…と願った姿を写すべきだ!」という気持ちで作ったあのソフト作成方法です。つまり、"as it it is"ではなく"as it should be"な姿を描き出す妄想的な光画装置です。

 Vimファンのあなたに…じゃやなかった、プログラミングを始めようとしている中2男子なら、この記事を読んでみるのも面白いと思います。(今、気付いたけれど、そんな年齢層の読者がいない感じの雑誌だったかも)

深層学習で「体が入れ替わってる!?」妄想カメラを作る!深層学習で「体が入れ替わってる!?」妄想カメラを作る!深層学習で「体が入れ替わってる!?」妄想カメラを作る!






2018-06-27[n年前へ]

人類が月面上で日常を過ごす時代…それは「あのイタズラが成功する日」かもしれない? 

 その辺の人(@create_clock) さんのtweetが面白かった。

マンガとかで教室の引き戸に黒板消しを挟んで開けると頭の上に!みたいな描写があるけど、実際にやったことのない人の描写だなと思う。黒板消しの落ちるタイミングが早すぎて頭には当たらない。

10:08 PM - 25 Jun 2018
 …確かに、実際にやった過去を振り返ると、黒板消しの落ちるタイミングは早すぎて、誰の頭にも当たらなかった。

 計算をしてみるとこうなる。教室の入り口の高さは、約2メートル。そこに黒板消しを挟み、ターゲットを待ち構える。ターゲットがドアを開け、身長1.7メートルのターゲットの頭の高さに黒板消しが落ちるまでの時間は、わずか4分の1秒の0.25秒。…そんな短時間に、教室のドアを開け、ドアの真下を通過するのは確かに無理に違いない。

 もしも、もうひとつの世界があったとしたらどうだろう?…「教室の引き戸に黒板消しを挟んで開けると頭の上に当たる」…そんなもう一つの世界線、もっと別の場所があったとしたならば、そこは一体どんな場所なんだろうか。

 たとえば、教室のドアを開け、ドアの真下に移動するまで、1.5秒掛かるものとしてみる。…もしも、その世界が地球と同じような惑星・密度の場所だとしたら、その惑星の半径は約1900キロメートルという計算になる。そういう星の上で生まれたのなら、「教室の引き戸に黒板消しを挟んで開けると頭の上に落ちる」イタズラができることになる。

 もしも、その星の密度が地球と違ったらどうだろう?地表での黒板消しが「頭の高さまで落下する時間」が0.25秒だとして、「教室のドアを開け、ドアの真下に移動するまでの自然な時間、1.5秒」は、ちょうどその6倍に近い。…すると、たとえば、主人公が暮らす世界線がもしも(地球表面比で重力が1/6の)月面上だったとしたら、計算が合うことになる。つまり、教室のドアを開けてから、身長1.7メートルの主人公の頭に黒板消しがあたるまでの時間が、ちょうど1.5秒後…という計算になる。

 そうか!そうだったんだ!…ぼくらが昔から眺めたあの景色、「教室の引き戸に黒板消しを挟んで開けると頭の上に落ちる」は決して過去の懐かしい「三丁目の夕日」的な昭和の懐かし風景ではなく、あれは人類が月面上で日常を過ごす遙か未来の日常風景を蜃気楼のように眺めていたに違いない!と気がついた。

 そんな発券をしてEureka(エウレカ)!とアルキメデスのように叫び、その瞬間に夢から覚めた。…重力が1/6の世界で、「教室のドアを開けてからわずか1.5秒でドアの真下に移動することは難しい」かもしれない。「教室の引き戸に黒板消しを挟んで開けると頭の上に当たる」…そんなもう一つの世界線は、一体どんな宇宙にあるんだろうか。

2018-06-17[n年前へ]

「逆上がり」を「自然にできる」ための物理学的メソッド 

 胸ほどの高さにある鉄棒をつかみ、地面を蹴って鉄棒の上に回り込むのが「逆上がり」。慣れると簡単にできますが、一番最初は、なかなか回れず「運動なんかキライだ!」と感じてしまったりするものです。

 よく「学校で勉強することなんて日常生活ではほぼ役に立たない」と言われたりしますが、たとえば「自然がどのような振る舞いを示すかを可能な限り簡易に説明する」のが、たとえば、物理だったりします。…というわけで、今日は、「逆上がり」を「自然にできる」ための物理学的メソッドを考えてみることにします。

 まず、回転の運動方程式を思い浮かべれば(右図)、逆上がりを成功させるためには、まずはシンプルに地面を蹴る瞬間に回転のイキオイを最大化したくなります。

 運動量のモーメント(角運動量)が、大雑把には、回転原点(ここでは単純のために鉄棒位置としておきましょう)と蹴り上げる足が持つ運動量の外積であること、つまり、その大きさが「鉄棒から足先」と「足の運動量」からなる平行四辺形の面積を考えると、それを最大化するために必要なことは「足を蹴り上げる方向は鉛直上方向ではなくて、平行四辺形が直角形となる「斜め上」であることがわかります。つまり、必要なことは「上に高く飛ぶ」ではなく「足を前上方に蹴り上げる」ことだということになります。

 もちろん、蹴り上げる際の「足の運動量」を最大化することも重要でしょう。ということは、たとえばサッカーでボールを蹴る「利き足」を「前上方向に蹴り上げられる側の足」にするということも効果的なはずです。つまり、サッカーでボールを蹴り上げるのと同じ動きで、利き足を上に蹴り上げて、その回転を行う運動モーメントを逆上がりの原動力とするわけです。

 あるいは、それを言い換えれば、まずは「鉄棒の下に、非利き足で踏み込んだ上で、利き足を斜め前方上に蹴り上げる」というルーチーンが、自然に逆上がりを成功させるための動きとなるわけです。

 大人の男性なら蹴り上げる時の足の速度は秒速15メートル(時速55キロメートル)程度です。この速度で人の体を単純化して計算してみると、上記の蹴り方をすれば、確かに逆上がりが成功する結果となります。

 ちなみに、サッカー選手なら足を蹴り上げる速度は時速100キロメートルを越えたりします。 サッカーのワールドカップが開催されている今日この頃、サッカー選手の「逆上がり」を見てみたくなります。

「逆上がり」を「自然にできる」ための物理学的メソッド「逆上がり」を「自然にできる」ための物理学的メソッド






2018-06-14[n年前へ]

エンジニアが陥りがちな失敗プレゼンの原因と対策とは? 

 エンジニア向け転職サイトのエンジニアtype上で、「が陥りがちな失敗プレゼンの原因と対策とは? 今すぐ押さえておきたい“伝わるプレゼン”の極意」が公開されました。著者お勧めの1冊と関する記事なので、1人でも多く買ってくれる人が現れることを願っています。

2018-05-26[n年前へ]

オレの周りのすべての世界,スマホで3Dデータにしてやろう! 

 今週発売された「Software Design 2018年6月号」に、4p記事を書きました。あまりに普通過ぎる内容であるような気もしていますが、題して「オレの周りのすべての世界,スマホで3Dデータにしてやろう!」です。…つまり、平成最後の年を迎えた今日この頃、誰もがやってる普通の作業の話です。具体的には、スマホ撮影画像からColmapを使って3次元復元をする手順解説です。

オレの周りのすべての世界,スマホで3Dデータにしてやろう! 






2018-05-20[n年前へ]

韓国 大邱(テグ)の電気街と工具街に行ってみる。 

 韓国 大邱(テグ)は、サムスングループが生まれた街だ。その大邱にある、電気街と工具街に行ってみた。まず電気街は、大邱駅や地下鉄 中央路駅のすぐ近くに位置する校洞電子街。韓国地図コネストの表記なら、その名もズバリ、電気照明通りとコンピューター通りで囲まれた地区だ。建物の作りなど、昭和末期の秋葉原に似ていて、そこにICOMなどの広告とともに無線機などが並んでいると、とても懐かしさを感じる。もしも、映画などで昔の秋葉原を再現したいのであれば、この地で「看板だけ入れ替えれば」それっぽい風景になりそうだ。…もちろん、昔の秋葉原に通った人であれば、各店の名前も、その場所や位置関係も、(体のどこかに刻まれた記憶すべてを)正確に再現しないと気が済まないだろうが。

 また、工具街というのは、大邱駅から達城公園に向かって走る、大邱産業工具通りだ。工具通りには、さまざまな機械部品や機械製品が並んでいて、世界の「秋葉原」とは言えないかもしれないが、とにかく「道具好き」にはたまらない一角であることは間違いない。

 さらに、この大邱産業工具横丁の近くには、オートバイ通りやミシン通りもある。さまざまな工業産業製品を扱う、それぞれの「通り」があるのではないか?と感じさせられる。バイク通りは、バイクにさして興味がない私でも面白かったくらいなので、バイクマニアには堪らないはずだ。そして、ミシン通りは、遙か古い時代のミシンから…現代の高機能ミシンまで、さまざまな機械が並んでいて、もはや「ミシン博物館」である。

 ちなみに、この近くには「サムスン発祥の地」もある。行き損なったことが残念だ。…世界に愛すべき「秋葉原」はたくさんにあるようだ(CC 石川さん)。今回は、韓国語を真面目に勉強したくなった。

韓国 大邱(テグ)の電気街と工具街に行ってみる。韓国 大邱(テグ)の電気街と工具街に行ってみる。韓国 大邱(テグ)の電気街と工具街に行ってみる。韓国 大邱(テグ)の電気街と工具街に行ってみる。






2018-05-10[n年前へ]

「ペットボトルの内部空気圧を変えて調音する楽器」を100円で作ってみよう! 

 高く澄んだ音を出すハンドパン(ハングドラム)。それをコーラのペットボトルで作ってみよう!という製作記事を読みました。ただのペットボトルという「見た目」、けれど「そこから出る音のあまりの美しさ」…その違いが、想像を超えて素晴らしかったので、自分でもやってみることにしました。

 音を奏でる原理は、ペットボトル内の空洞共鳴音の周波数を、空気圧力を上げることで空洞内の(共鳴周波数に比例する)音速を上げて共鳴音を高くする(あるいはその逆をする)という具合に見えます。

 そこで、まずはダイソーに行き「加圧式霧吹き(ペットボトル用)」消費税入れて108円を買ってみます(上図)。そして、シュコシュコシュコシュコ…とペットボトルに空気を封入し、内部気圧を上げてみます。そして、内部空気圧を変えながら、ペットボトルを叩いて共鳴周波数を確認してみたのが下の動画です。…空気圧が変わると、見事に共鳴周波数が変わっていくことがわかります。あまりに楽しいので、このセットを20本くらい買い・作り、ペットボトル楽器を作ってみたくなりました。…というわけで、その結果は週末にでも撮影してみることにします。

「ペットボトルの内部空気圧を変えて調音する楽器」を100円で作ってみよう!






2018-04-28[n年前へ]

草間彌生デザインの「水玉模様のモジモジ君ウェア」で人体の表面形状を推定してみよう! 

 数ヶ月前に買ったつもりのZOZOスーツ、服に取り付けられたセンサ群とスマホの間でさまざまなデータが交換され、自分の体を知ることができるという「面白さ」に惹かれて…はや数ヶ月、「大幅な性能向上」したものが届くという連絡内容を見ると、、そこには「コレジャナイ感が、超大盛りラーメン店のようにテンコ盛りされた、草間彌生デザインの「水玉模様のモジモジ君ウェア」でした。マーカー付けた衣服を使って(スマホによる)画像計測による採寸を行うデザインに変わっていた…というわけです。

 ネットには、新バージョンのZOZOスーツ試着写真もtwitterにはアップロードされ始めています。そこで、そんなマーカ模様が付けられた服を着用した画像からの人体形状推定をしてみることにしました。「ネットにアップされた画像から」というわけで、多視点撮影からの3次元推定を行うZOZOスーツ正式バージョンとは違い、一枚画像からの体表面形状の推定です。

 書いてみたのは、下に貼り付けたような、十数行ばかりのPython/Jupyterコードです。OpenCV でテクスチャ検出をして、その(円形マーカーの)大きさや形状の歪みを使って、模様部分の体の表面形状情報を推定する…というわけです。Pythonコードを実行した結果は、たとえば下の4 図のようになります。向かって左から、元画像・高さ(凹凸)画像・向き(180度の反対側を区別できない)画像・法線画像です。この処理例は、水玉模様の水着画像で処理を行ったものですが、新型ZOZOスーツ画像でも同様のことが行えます。

 この画像を見れば、水着の模様を介して胸やお腹の3次元形状が見えてくることがわかります。全身に模様が付けられたZOZOスーツを着用した自撮り写真がアップされたら…色んな体形状を可視化できそうです。

import numpy as np
import cv2
from matplotlib import pyplot as plt
from math import sin, cos

img = cv2.imread('zozo_polka202.jpg',2)
cimg = cv2.cvtColor(
    cv2.imread('zozo_polka202.jpg'),
    cv2.COLOR_RGB2BGR)
img = cv2.adaptiveThreshold(img, 128, 
    cv2.ADAPTIVE_THRESH_MEAN_C, 
    cv2.THRESH_BINARY_INV, 15, 5)
img, contours, hierarchy = cv2.findContours(
  img, cv2.RETR_LIST, cv2.CHAIN_APPROX_NONE)
if len(contours) > 0:    
    for i, contour in enumerate(contours):
        if (contour.shape)[0]>4:
            ellipse = cv2.fitEllipse(contour)
            aMax = max(ellipse[1][0],ellipse[1][1])
            aDiff = abs(ellipse[1][0]-ellipse[1][1])
            if aMax < 20 and aMax > 11 and aDiff < 12:
                xc = sin(ellipse[2]*np.pi/180)*255
                yc = cos(ellipse[2]*np.pi/180)*255
                cx=int(ellipse[0][0])
                cy=int(ellipse[0][1])
                cv2.ellipse(cimg,ellipse,
                            (xc,yc,255-xc),-1)
                #cv2.circle(cimg, (cx, cy), int((aMax-11)*2.0), 
                            (xc,yc,255-xc), -1, -1)
                #cv2.ellipse(cimg,ellipse,(int((aMax-11)*50.0),
                           int((aMax-11)*50.0),int((aMax-11)*50.0)),-1)
                #cv2.ellipse(cimg,ellipse,(int((aMax-11)*50.0),
                             yc+xc,int((aMax-11)*50.0)),-1)

plt.imshow(np.array(cimg))

草間彌生デザインの「水玉模様のモジモジ君ウェア」で人体の表面形状を推定してみよう!草間彌生デザインの「水玉模様のモジモジ君ウェア」で人体の表面形状を推定してみよう!草間彌生デザインの「水玉模様のモジモジ君ウェア」で人体の表面形状を推定してみよう!草間彌生デザインの「水玉模様のモジモジ君ウェア」で人体の表面形状を推定してみよう!






2018-04-26[n年前へ]

販促中!論理的にプレゼンする技術<改訂版> 聴き手の記憶に残る話し方の極意  

諸事情色々で、「力一杯の販促(宣伝活動)中」です。以前書いた本の改訂版が出ました。 論理的にプレゼンする技術<改訂版> 聴き手の記憶に残る話し方の極意 (サイエンス・アイ新書) です。
 内容もより良くバージョンアップされていますし、電子書籍が良い方向けのKindle版ももちろんあります。お勧めの一冊?です…というわけで、一冊買って、近くの方に広めて頂ければ幸いです。

2018-04-22[n年前へ]

Python(Pythonista)でiOSカメラを自由自在に使ってみる 

 iPhone/iPadなどの機器のカメラは、焦点位置や露光時間や感度など、わりと細かく制御することができます。そうした撮影処理を使って、露光時間を変えた撮影を何枚もして画像(ハイダイナミックレンジ:HDR)合成をしたり、焦点位置を変えた撮影から焦点合成(フォーカススタッキング)を行ったりすると、意外に楽しいものです。とはいえ、そんなコード遊びをするのに、毎回Objective-C(やC++)でコーディングするのは少し面倒です。

 というわけで、今日はiOSで動くPython ( Pythonista ) で、iOSのカメラをマニュアル撮影的に使うコードを書いてみました。それが下に貼り付けたPythonコード例です。この例では、焦点制御を無効化した上で、最近接位置から無限遠までのレンズ位置を0.0〜1.0の任意位置に制御しつ、撮影を行うことができます。

 「開発用マシンでコードを書いてビルドした上で、スマホに転送して動かす」というような手間を掛けずとも、スマホ上で比較的短いコードを書いて、それをスマホ上で瞬時に動かして「自分だけの特殊撮影マシン」を仕立てて遊ぶことができるのは面白いものです。…今回貼り付けた撮影処理部分は全くPythonっぽくないコードですが、ひとたび「ライブラリ化」してしまえば、こんなコードを見る必要もなく、やりたいことだけをPythonから気楽に実行することができるようになります。…となれば、色々遊んでみたくなる人も多いのではないでしょうか。

# coding: utf-8

from objc_util import *
import time

AVCaptureSession = ObjCClass('AVCaptureSession')
AVCaptureDevice = ObjCClass('AVCaptureDevice')
AVCaptureDeviceInput = ObjCClass('AVCaptureDeviceInput')
AVCapturePhotoOutput = ObjCClass('AVCapturePhotoOutput')

def manualCapture(device, output, focusDistance, fileName):

    def captureOutput_didFinishProcessingPhotoSampleBuffer_
previewPhotoSampleBuffer_resolvedSettings_bracketSettings_error_(
             _self, _cmd, _output, _photoBuffer, _previewBuffer,
                    _resolveSettings, bracketSettings, _error ):
        photoBuffer = ObjCInstance(_photoBuffer)
        jpegPhotoData = ObjCClass('AVCapturePhotoOutput'
        ).JPEGPhotoDataRepresentationForJPEGSampleBuffer_
previewPhotoSampleBuffer_(
                             photoBuffer, _previewBuffer)
        jpegPhotoData.writeToFile_atomically_(fileName, True )

    # delegate
    CameraManualPhotoCaptureDelegate = create_objc_class(
                            'CameraManualPhotoCaptureDelegate',
        methods=[
        captureOutput_didFinishProcessingPhotoSampleBuffer_
previewPhotoSampleBuffer_resolvedSettings_bracketSettings_error_ ],
        protocols=[ 'AVCapturePhotoCaptureDelegate' ])

    device.lockForConfiguration_(None)
    device.setFocusModeLockedWithLensPosition_completionHandler_(
                                            focusDistance, None)
    device.unlockForConfiguration()
    
    time.sleep(1)
    delegate = CameraManualPhotoCaptureDelegate.new()
    settings = ObjCClass('AVCapturePhotoSettings'
         ).photoSettings()
    settings.AVCaptureFocusMode = 0
    output.capturePhotoWithSettings_delegate_(
                                    settings, delegate )
    time.sleep(1)
    delegate.release()

@on_main_thread
def main():
        session = AVCaptureSession.alloc().init()
        device =
AVCaptureDevice.defaultDeviceWithMediaType_('vide')
        _input =
AVCaptureDeviceInput.deviceInputWithDevice_error_(
    device, None)
        if _input:
            session.addInput_(_input)
        else:
            return

        session.startRunning()
        output = AVCapturePhotoOutput.alloc().init()
        session.addOutput_(output)        
        time.sleep(1)
        manualCapture(device, output, 0.0, 'sample.jpg')
        time.sleep(1)
        session.stopRunning()
        session.release()
        output.release()

if __name__ == '__main__':
    main()

Python(Pythonista)でiOSカメラを自由自在に使ってみる






2018-04-12[n年前へ]

チェンマイのタイ旧正月のソンクラーン(水掛け祭り) 

 チェンマイでタイ旧正月ソンクラーン(水掛け祭り)を、地上数メートルの上空から撮ってみました。氏改善方向を撮影することができるRicohのデジカメ Theta Sが出たときは「レンズを向けなかった方向すべてを撮影できて面白い」と思ったけれど、ドローン映像のような「カメラを置きたいと思った場所に、カメラを置けること」はそれを遙かに超える感動があった。来年今頃のカメラは、みんなそうなっているのかもしれない。

 ずっと昔、京都の写真スタジオでバイトをしに行っていた時、「カメラマンは良い風景を予測して、その場所にいるようにすること、そんな場が生まれるように動くこと」と習った。もしかしたら、これからのカメラはデバイスを進化させる今のSONYみたいな方向と、カメラマンの可能性を高める視点自由度や何かしらの可能性を高めるまた別の方向が必要とされているのかもしれない。

2018-03-30[n年前へ]

「十年前に書いた本の改訂版」が出ます 

 4月中旬に、十年前に書いた本の改訂版が出ます。改訂作業の一部として、PowerPoint 2007だった使い方例をPower Point 2016に変えるための作業、つまり10年間のソフト変化を踏まえた作業をしました。それどころか、書き直し作業を行った本文中には、「PowerPoint 2003とPowerPoint 2007の違い」なんていう言葉も書かれていて、何だかずいぶん時間が経ったものだ…と感じさせられました。…とりあえず、売れてくれると少し嬉しいです

「十年前に書いた本の改訂版」が出ます






2018-03-28[n年前へ]

「スマホを捨てて、空へ飛ぼう」 

 昔は感光フィルムが入ったカメラを持ち歩き、それからずっと後の頃にはデジカメを持ち歩くようになった。自分が眺めた場所を切り取り形にすることが楽しかった。

 一昨年前くらい前は、自分がいる場所から見える周囲全てを動画撮影できる360°カメラ使っていた。自分が眺めた景色、あるいは、自分が(眺めることができたはずの)眺めなかった全周囲を撮影するカメラは、とても面白かった。…けれど、2018年の今、(Insta 360 Oneは使ってみたいけれど)全天周カメラは、もうほとんど使っていない。

 2018年の春、この瞬間は、玩具ドローンカメラを使った撮影が楽しい。誰でも簡単に使えるGPS制御付きのドローンでも、Amazonで一万少しで買うことができる。そして、そんなドローンカメラを使うと、自分がいる場所の近く…けれど行けなかった場所からの風景を眺めることができる。…空も飛べるし、水面の上を滑るように移動することもできる。

 「書を捨てよ、町へ出よう」ではないけれど、手元に持つスマホから見える景色を遙か離れて、自分が行けなかった場所からの世界を眺めたりするのは、とても楽しい。スマホ(の役割を担うようなデバイス)が空を飛ぶことができるようになるまでは、スマホを捨てて、空へ飛んでみたい。

「居る場所を離れて、居ない場所へ出よう」「居る場所を離れて、居ない場所へ出よう」






2018-03-11[n年前へ]

「耳飾りの少女」の時代の「イヤリング(ピアス)の穴」の開け方のナゾ 

 フェルメール「真珠の耳飾りの少女(かつては、青いターバンの少女と呼ばれていた絵画)」が …実は「耳飾りは真珠じゃない」というのは、わりと知られた話です。それは丸い真珠ではなくて、ティアドロップ型の人工材料を使った、当時流行の、耳飾りだという話です。

 この絵画に関する修復経緯の解説本"Vermeer in het licht"を読み直していると、1904年当時の写真(右上冒頭の写真にある左上部分)では、耳飾りが球形ではなくティアドロップ型であることが明らかに見てとれます。耳飾りの輪郭も、反射光を描いたハイライトも、耳から垂れた「水滴」のような形状をしています。

 そこで、現在の画像データでも、たとえば一般に公開されていて誰でも眺めることができる(比較的低品質な)画像データでも、そのさまを眺めることができるかどうか確認してみました。…すると、普通に公開されている「低解像度で階調数が少ない画像」でも、「少女」の耳飾りは球形ではなくてティアドロップ形であることがわかります(画像をクリックして眺めてみて下さい)。1904年当時の姿ほどわかりやすくはありませんが、それでも耳飾りの上部が上へと伸びていることが見てとれます。

 そして、それだけはなくて、耳から飾りが薄い繊維かなにかでぶらさがっているようすも見えてきます。少女の耳たぶには穴が開いていて、どうやら、そこに耳飾りがかけられているようです。

 16世紀から17世紀にかけて、耳に穴を空けるピアス式のイヤリングが流行ったといいます。一体どんな風に穴を開けたのか、どんな耳飾りをしていたのか、当初の本題(少女の耳飾りはどんなものか)から離れて調べて見たくなります。

「耳飾りの少女」の時代の「イヤリング(ピアス)の穴」の開け方のナゾ「耳飾りの少女」の時代の「イヤリング(ピアス)の穴」の開け方のナゾ「耳飾りの少女」の時代の「イヤリング(ピアス)の穴」の開け方のナゾ






2018-03-08[n年前へ]

海沿いの陸地にそそり立つ、ピラミッドのような大古墳 

 大阪の中百舌鳥近くに行く途中、仁徳天皇陵の一周散歩をしてみる。…すると、天皇陵周りの一周散歩に徒歩で約一時間かかり、その大きさに驚いた。もうひとつ驚いたことが、外堀がパナマ運河みたいに段々が着いていたこと。つまり、不思議に驚かされたことが、仁徳天皇陵の周りにある一番外側の外堀は標高が同じじゃない!ということ。

 試しに、国土地理院マップで眺めると、一周をする間の最高・最低値で5mくらいの標高差があった。古墳本体を囲う堀は一体化した大きな湖のようで、重力的には等ポテンシャル面を成しているけれど、外堀は同じ標高でない作りになっている。

 そこで、仁徳天皇陵の「外堀段差」を周囲の地形と一緒に眺めてみる。すると、古墳は、かつての海沿いの傾斜地上に作られていて、その古墳周りに外堀を作ろうとすると、(古墳中央の)水平面とその周囲に段差が作らざるをえない作りになっている。

 他の古墳を眺めてみても、まるで水の流れに沿って建つ神社のように、海沿いや川沿いに建っている。…昔の古墳は、海沿いにそそり立つピラミッドのような存在だったのだろうか。

海沿いにそそり立つピラミッドのような大古墳海沿いにそそり立つピラミッドのような大古墳海沿いにそそり立つピラミッドのような大古墳海沿いにそそり立つピラミッドのような大古墳海沿いにそそり立つピラミッドのような大古墳海沿いの陸地にそそり立つ、ピラミッドのような大古墳






2018-03-03[n年前へ]

1万円ドローンHubsan H216A X4 DESIRE Proで空撮3D生成をしてみよう! 

 中国通販サイトで一万円ほどで買うことができる Hubsan ドローン H216A X4 DESIRE Pro(Amazon ジャパン)を買ったので、初めてのドローン体験をしつつ動画撮影を行い、撮影した動画から3次元復元を行ってみました。

 Hubsan H216A X4 DESIRE Pro は、(リモコンユニットをBluetooth経由で接続した)スマートホンから制御する1万円ドローンヘリで、GPSや各種センサあるいはスマートホンとの通信を踏まえた、(右に貼り付けた画面のように設定する)自動経路飛行や操縦者の追跡飛行などができます。
 しかし、そうした機能を使いこなす前に、まずは手動操縦を行いつつドローンから撮影を行って、写真測量(Photogrametry)による3D復元をしてみます。

 試しに激安ドローンからの3次元復元を行って結果が、下の動画です。
 100パーセントの初心者が初めて動かすドローンの撮影動画から得られたものとしては、そして何よりドローン初操縦の素人が撮影したものから作った結果としては、それほど悪くありません。…というわけで、激安空撮キットを持ち歩き、これから色々な空撮3Dスキャンをしてみようと思います。


1万円ドローンHubsan H216A X4 DESIRE Proで空撮3D生成をしてみよう!1万円ドローンHubsan H216A X4 DESIRE Proで空撮3D生成をしてみよう!1万円ドローンHubsan H216A X4 DESIRE Proで空撮3D生成をしてみよう!1万円ドローンHubsan H216A X4 DESIRE Proで空撮3D生成をしてみよう!1万円ドローンHubsan H216A X4 DESIRE Proで空撮3D生成をしてみよう!1万円ドローンHubsan H216A X4 DESIRE Proで空撮3D生成をしてみよう!






2018-01-09[n年前へ]

大阪大学 2017年度前期日程「物理」を「面白い物理エッセイ」として読んでみる 

 大阪大学 2017年度前期日程「物理」で、出題ミスがあったというニュースを見た。その問題文と想定正解、 さらには、その「解説」を読みました。その問題文を眺めた結果、この「問題」が「とても勉強になる「物理現象の解説エッセイ」のようで、とても面白かったので、少し感想を書いてみることにします。「ニュース」として扱われた内容としてはともかく、…少なくとも私にとっては、とても興味深い「問題」でした。

 問題内容は、壁から離れて(壁から垂直に走る直線上に)位置する音叉とマイクを登場人物として、その1次元的世界での「音波」を扱うものです。

 ネットで、(右に画像として貼り付けた)問題文の一部を抜き出したもの読んだ時、最初に想像したのは「十分に小さく点音源として扱える音叉」という文言が「全ての原因ではなかったか?」という想像です。すぐに、この想像は間違っているということがわかるのですが、「音叉」を「限りなくシンプルな振動体(面)」として考えてしまったことで、1次元として扱われる世界上の「音叉の前後」で「同じ向きの空気変位が生じる」と考えるか、それとも「音叉の前後で同じ空気密度の振動が生じる」かで、(前者なら)当初の「正答」が導かれるし、(後者なら)追加された「答え」が生まれし…というものです。
 「音叉=振動する物体の象徴」として単純に捉え、(いくつかの考えたくないことを省略するために&考えたい現象を単純・抽象化して光を当てるために)世界を1次元として取り扱おうとするならば、「(限りなく大きさ影響を無視できる)点音源の音叉」は「1次元上の振動点=3次元上の振動面」として取り扱い(考え)たくなり、そのような3次元空間内に配置された振動面の前後では、「同じ向きの空気変位が生じる」ことから、当初の正解が導かれたのではないだろうか?という予想が、一番最初に頭に浮かんだ想像でした。…しかし、そんな想像は間違っていることがすぐわかりました。

 なぜかというと、関係する出題文全文を読んでみると、「音叉という物体」の振動を、どのように扱うかについて、そしてまた変位と粗密の関係について、出題者は問題の冒頭から(常識とは言えない内容については)詳しく丁寧に解説し、テスト対象とならない単純な事項についてもやはり丁寧に確認を行っているからです。(それに対して、この解説などは問題文の一部しか読んでいない雑な説明であるように感じられます)
 つまり、2本に先が分かれた音叉が振動する時に生じる振動モード、その基本となるモードが生み出す「空気の動き」は、音叉が左右対称になる方向から見た時に、「(右に貼り付けたGIF動画のように)音叉に対して左右対称の疎密波が作り出される(変位としては逆方向の空気の動きが生成される)」ということ、あるいは、1次元世界でなくてたとえ3次元世界でも「音叉の振動は点音源として取り扱うことができる(方向によって点音源から発せられる粗密の位相は異なるけれど、1次元近似なら完全な点音源として取り扱うことができる)「ということを、問題文の前半できちんと「解説・確認」しているからです。(この「この記述があるのに問4で間違えたのが解せないんだよね。という言葉に100%同意する具合です。ただし、こうした知識を持ち、丁寧に順を追った解説まで行う出題者が壁の”反射”を取り違えるような取り扱いをするとは全く感じられません。定義の取り違えではなく、単純な忙しさなどからくるケアレスミスなら理解できるのですが・・・)
 それに対して、出題者が壁を「境界条件」どのような境界条件で取り扱うかを間違えたということは、個人的には可能性は低いことだと感じます(後で書くように、音叉の振動現象に対して、問題文の前段であれだけ丁寧に解説をされた出題者が、「固定壁」という言葉の意味を世間がどうとるかを考えなかったという田口先生の解釈は無理があるように思います。また、波動方程式として、普通に境界条件を設定して解くことができる一般的な問題であるとも思います)

 ちなみに、「手元からUの字型に中心に支持部が伸びた音叉の形」や「そのような形の音叉がこのような振動を行う」ことは、(振動吸収体である)手に持った音叉が単振動を持続して行うための必然であることは、少し考えれば想像が付きます。その形は、出したい振動モードを持続されるとともに、不要な振動モードを(音叉を掴む)手が迅速に行うための実に素晴らしい設計結果です。何が言いたいかというと・・・この物理問題は、そんな音叉にまつわる「物理現象」を溢れるくらいの十二分に知っている先生が、物理現象というものの面白さを踏まえて書いた内容であることは、間違いないように思われます。

 今回の「いわゆるひとつの出題ミスとその後の対応」に関しては、何かの「ケアレスミスや伝達ミスが重なって」生まれたものではないか?と想像します。つまりは、この「きっといろいろ考えて問題を作ったんだけど、一周回って悪問になっただけだと思います」という感想に近いのですが、「一周回って悪問になった」のではなくて、何か単純なケアレスミスが「(答えが違っている)悪問」を生み出してしまい、そしてまた何かの伝達ミスが「その後の対応」を生み出してしまったのではないか?と感じました。

大阪大学  2017年度前期日程「物理」を「面白い物理エッセイ」として読んでみる