スポンサーサイト
投稿日時 : -------- --:--
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
-------- --:-- | スポンサー広告
空中停止、垂直離着陸も可能『トンボ型飛行機』:カメラも搭載
投稿日時 : 2008-01-03 11:30
空中停止、垂直離着陸も可能『トンボ型飛行機』:カメラも搭載 | WIRED VISION
 
これはかなりやばい。羽ばたく系の飛行物はつくれないもんだと思ってた。
WIRED VISION
DelFly IIは小型化され、強度が高まり、飛行時間が長くなったうえ、空中停止や垂直の離陸と着陸、さらに後ろに飛ぶことさえできる。天井や壁に沿ってぶつからずに飛ぶこともできる。カメラも搭載できるので、偵察機として有用だ」
 
次の段階は、翼幅10センチメートルの『DelFly Micro』(写真)で、既に開発中だ。

 
YouTube - DelFly II
 
 
実は既にトンボ型ラジコンが市販されててびびった。
== 株式会社シー・シー・ピー おもちゃ / CCP Co., Ltd. TOY ==
 
もちろんWIRED VISIONの記事のやつみたいに軍用で使われそうなのとは作りが違いますが。2008年1月現在、Amazonで定価8379円が4980円ととってもリーズナブル。ちょっと欲しいがかなりデカいしうるさそう。
Amazon.co.jp: R/C メカトンボ ブルー: ホビー
 
実際に飛行している映像は以下。
YouTube - Dragonfly robot filmed

 
■実際に購入した人のレビュー
[N] トンボ型ラジコン「FlyTech Dragonfly」レポート vol.1
[N] トンボ型ラジコン「FlyTech Dragonfly」レポート vol.2
[N] トンボ型ラジコン「FlyTech Dragonfly」レポート vol.3
 
■解剖写真
羽ばたき飛行ラジコンFlytech Dragonfly 解剖写真 - Engadget Japanese
 
スポンサーサイト
2008-01-03 11:30 | Thecnology | Comment(0) | Trackback(0)
[Linux] 複雑なリダイレクト
投稿日時 : 2008-01-03 08:49
リダイレクトは簡単だと思ってたら意外に奥が深かった。
 
UNIXの部屋 検索:リダイレクト (*BSD/Linux/Solaris)
 
前提条件
・標準入力は 0 番 
・標準出力は 1 番
・標準エラー出力は 2 番
以下はsh・bashの場合のみの説明。
 
標準出力と標準エラー出力をあわせてファイルにリダイレクトする場合、
$ command > output.log 2>&1
とするわけですが、これを
間違い
$ command 2>&1 > output.log
とすると、標準出力はoutput.logに出力されるが、標準エラー出力は画面に表示されてしまう。このあたりがどうも納得できなかったので調べてみると少し勘違いしていたことがわかった。
UNIXの部屋 検索:リダイレクト (*BSD/Linux/Solaris)
そもそも「2>&1」という書き方は「2 の出力先を 1 にマージする」というイメージで捉えている人が多いのではないだろうか。「2>&1」の本当の意味は「2 の出力先を、1 の出力先と同じものに設定する」である。
 
ということなので、冒頭の以下のコマンドを見てみる。
$ command > output.log 2>&1
初期状態の出力先は以下のようになっている。
標準出力    → 画面
標準エラー出力 → 画面
この状態からまず「> output.log」が処理され、
標準出力    → output.log
標準エラー出力 → 画面
のように1の標準出力のみがoutput.logに出力するように設定される。続いて、「2>&1」が処理され、「2の出力先が、1の出力先と同じものに設定」されるので
標準出力    → output.log
標準エラー出力 → output.log
となり、標準出力も標準エラー出力もoutput.logに出力されるようになる。
もしここで以下のように、
間違い
$ command 2>&1 > output.log
としたなら、先に「2>&1」が処理されてしまう。すると、
標準出力    → 画面
標準エラー出力 → 画面(変化なし:現在の標準出力は画面だから)
となる。この「2>&1」が処理された時点では、1の標準出力の出力先は画面なので、「2の出力先が、1の出力先と同じものに設定」されたとしても変化がない。この後に「> output.log」が処理され、最終的な出力先は
標準出力    → output.log
標準エラー出力 → 画面
のようになる。結果、output.logに出力されるのは標準出力のみで、標準エラー出力は画面に表示されることになってしまう。
 

■複雑なリダイレクトの例

以上のことが分かると以下のような一見複雑なリダイレクトも理解しやすくなる。
 
標準エラー出力のみをパイプに出力する
$ command 2>&1 >/dev/null | command2
「2>&1」で2を画面に出力し、「>/dev/null」で1がnullデバイスに捨てられ、残った2だけがパイプでcommand2に渡される。
 
標準出力と標準エラー出力を交換する
$ command 3>&1 1>&2 2>&3
1と2を入れ替える際に一時退避用のファイル記述子3に登場してもらう。「3>&1」で3を1と同じ設定にする。これは1の設定を3に一時的に退避させている。次に、「1>&2」で1を2と同じ設定にする。ここで1の設定が2に、つまり1が標準エラー出力になる。「2>&3」で2が3と同じ設定になる。3は一時退避していたもともとの1の設定なので、これで1と2が交換されたことになる。なんだか変数と同じ感覚で扱ってよさそうな雰囲気。
 
標準出力を捨て、標準エラー出力をページャで参照する
$ command 3>&1 >/dev/null 2>&3 | less
「3>&1」で、3を1と同じ設定の、画面を出力先にする。「>/dev/null」で、1はnullデバイスが出力先に設定される。「2>&3」で、2を3と同じ画面を出力先に設定する。結果、パイプでlessに渡されるのは標準エラー出力の2だけになる。
 
[参考]
UNIXの部屋 検索:リダイレクト (*BSD/Linux/Solaris)
 
2008-01-03 08:49 | Linux | Comment(0) | Trackback(0)
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。