2019年7月29日月曜日

フルサイズよりAPS-Cのほうが扱いやすいんじゃね?という説

新しいカメラを買おうと思って、ヨドバシの店頭で色々カメラを試している今日この頃。
今のところはフルサイズのEOS 6D Mark IIを買おうと思っているんですが、色々なカメラと比較したいなということで、9000Dやら80Dやらも触ってみたりしています。

それで思ったんですが、9000Dってなかなかの傑作機じゃないかなって。展示機種にはEF50mm F1.8 STMっていう単焦点レンズがついていたんですが、まあこいつがなかなかに寄れるわ、大きく撮れるわ、明るいわ、本体も小さくて使いやすいわ、それなりに連写もできるわ、と。不満点が存在しないくらい快適です。
9000Dを買おうと決心したわけではないし、現時点でも大幅に6D Mark IIを買う方向に気持ちは傾いています。ですが、APS-Cも捨てたもんじゃないなぁと。

APS-Cカメラの扱いやすい点はいくつかありますが、一番デカいは「寄れる」という点なんですよ。
別にフルサイズに比べて最短撮影距離が短くなるわけではないので、あまり正確な表現ではないです。ただ、フルサイズと比べて画角が狭くなる、つまり換算焦点距離が長くなるのは事実です。
これを踏まえると、50mmで最短撮影距離が40cmのレンズの場合、APS-Cのカメラでは、最短撮影距離はそのままでも換算焦点距離は80mmまで伸びます。
つまり、同じレンズを使うという条件のもとでは、あたかもAPS-Cカメラはフルサイズカメラよりも「寄れる」ように振る舞うことになります。
これってすごくデカいんです。どうしてかというと「中望遠~望遠」で「寄れる」レンズって実はあんまり無いんですよ。高いレンズでも80cmとかその辺までしか寄れなかったりします。その点、APS-Cの「換算焦点距離が伸びる」という特性を活かすことで、「フルサイズだと標準でまあまあ寄れるレンズ」を「中望遠でまあまあ寄れるレンズ」として活用できる。これって非常に面白いし便利なんですよね。
もちろん、その代償として「あんまりボケない」というデメリットも生まれてしまいますが...。
この「寄れる」というメリット、ブツ撮りだったりご飯を撮ったりするときにはすんごい便利なんです。マクロレンズを使うまでもないけど、標準レンズだとあんまり大きく撮れないという、フルサイズあるあるの困った現象をうまく回避できます。
さらに、フルサイズと比べてあまり被写体に近寄りすぎることなく大きく写せるというメリットによって、ピンボケや手ぶれを抑えて綺麗な写真が撮れたりします。

それから、ボケにくいという点は、表現力という観点からはすごく大きなデメリットになってしまいます。しかし、その裏返しとして「扱いやすい」というメリットも生まれます。
写真を芸術としてよりも、「物事の記録」という点で扱いたい人にとっては、不本意にボケすぎることの少ないAPS-Cカメラはすごく扱いやすいと思います。このメリットは使っていくうちに大いに実感することになるでしょう。

フルサイズとAPS-Cそれぞれのメリットとデメリットはなかなかうまく伝えられている様子を見かけません。やはり「フルサイズは高性能だよ~でも高いし重いよ~」「APS-Cは望遠に強いよ~」みたいな情報が主なので、それ以外の部分ってあんまり取り上げられないんですよね。
もちろんカメラをがっつりやっている人からすれば「なんだ今更かよ」という話だったりもするんですがね...。
ですが、わたし自身も実際にヨドバシで試してみるまで「なんだかんだ言って最強なのはやっぱりフルサイズだよなぁ」と信じ込んでたので、APS-Cとフルサイズを両方試してみて結構大きなショックを受けてしまいました...。

2019年7月15日月曜日

電卓の計算順序の話 - 「Siriは足し算より先に掛け算をする」のは当たり前なのか?

とあるYouTuberの方が「Siriは足し算からじゃなく掛け算から計算する、すごい」といった趣旨の発言をし、その動画がTwitter上で拡散されています。
「何を当たり前な事を今更言っているんだ」という批判も多いですが、電卓の計算順序について少し考え直してみましょう。

■四則計算の順序
小学校レベルの四則計算の考え方としては、「乗除算を先に行い、加減算を後に行う」という考え方をまずは覚えておけば良いでしょう。
中学数学以降では多項式という概念を使いますが、この場合は「一つ一つの項をまずは計算し、その後項どうしを足し合わせる」といった覚え方が簡単そうです。

括弧を使うと計算の優先順位を上げる事ができます。括弧でくくった範囲全体を一つの項としてみなすことができる、と説明すれば良いでしょうか。
括弧の使い方として、「角括弧、波括弧、丸括弧などを使い分ける」場合と、「すべて丸括弧で統一する」場合があります。中学や高校では前者で教えられると思いますが、波括弧は集合論で、角括弧は行列などで多用されるため、状況によっては丸括弧で統一するほうがわかりやすくなる事もあり得ます。
なお、括弧の種類によらず、より内側にある括弧から順に計算します。

■電卓における「標準入力」と「数式通り入力」
我々が普段から電卓と呼んでいる「アレ」は、標準電卓とか実務電卓と呼ばれています。
これらの電卓は一般的に、入力した順にしか式を処理できません。というか、「式」という概念がそもそもありません。
例えば、「2+3+4*5」という式を計算してみましょう。(注. 「*」は掛け算の記号)
普通に計算しようとすると、「4*5」を計算して20という答えを出し、次に「2+3+20」を計算します。答えは25です。
しかし、標準電卓でやると、そのままでは答えが合いません。45になってしまいます。

標準電卓の場合、内部的には「2+3=5, 5+4=9, 9*5=45」と計算しています。つまり、入力した順にしかどうしても計算できません。

この計算順序は「標準入力」とか「標準入力方式」などと呼ばれています。
この方式の場合、「式」という概念を排除する事で、熟練者はテキパキと式を打ち込み計算する事ができるメリットがあります。なぜかというと、キーを打つ回数が圧倒的に減るからです。

ただ、標準入力方式の場合は、長い式を打ち込んだりする事がすごく難しいというか、まず無理です。標準電卓ではこれは欠点にはなりにくいですが、関数電卓などでは長い式を計算する事が多々あるので結構大きな欠点になります。

関数電卓も標準入力方式が長らく採用されていましたが、「数式通り入力方式」というものが開発されました。
「数式」という概念を持っており、計算順序を意識して正しく計算できるようになりました。それに加え、括弧の概念が取り入れられているので、括弧を含む式を正しく入力して計算させる事ができます。

標準入力方式の関数電卓と、数式通り入力方式の関数電卓ではこのような違いがあります。
単純な式である「Sin30° + Cos60°」を計算してみます。角度単位は度数法に設定しておきましょう。
標準入力方式では、「30Sin+60Cos=」の順で打ち込みます。
入力し終わると、ディスプレイには「1」とだけ表示されているはず。
一方、数式通り入力方式では、「Sin30)+Cos60)=」と入力します。(開き括弧は自動で入りますのでこれで正しいです)
入力が終わると、上段には「Sin(30)+Cos(60)」、下段には「1」と表示されるはずです。

単純な式を計算するときは、標準入力方式のほうが早いです。上の式の場合、数式通り入力方式では10回キーを押さないといけないのに対し、標準入力方式では8回キーを押せば入力ができます。
ですが、複雑な式を入力しようとするとだんだん大変になってきて、いずれ限界が見えてきます。その点は数式通り入力方式の強みですね。

ちなみに余談ですが、現在では数式通り入力方式をさらに発展させた「数学自然表示方式」の電卓が広く普及しています。私はカシオのfx-JP700を3年近く使い続けていますが、4次以下の行列計算もできるのですごくオススメですよ。

■まとめ
話が非常に脱線してしまいましたが、まとめに入ります。

Siriの計算順序の話をすごく叩く人が多いようですが、結局は電卓の「計算順序」の話をしました通り、「標準入力方式か数式通り入力方式か」という違いの話になってきます。

数式通り入力方式は関数電卓くらいでしか見かけない非常にレアなものでしたし、関数電卓自体、工業系や工学系に進む人でない限り存在すら認知しないようなアイテムでした。
スマートフォンの普及とともに、電卓アプリに関数電卓機能が内包されるようになり、「関数電卓の存在は知らないけど機能はなんとなく使った事があるよ」という人も増えていることだと思います。

昔は電卓が数式通りに計算してくれないのが当たり前でしたが、いつの間にか「電卓が数式通りに計算するなんて当たり前じゃないか、何を言っているんだ」といった人が増えるんだろうなぁ、と思いつつこの騒動を眺めています。

ATmega328P-PUを最小構成で動かす

最近、空き時間にAVRマイコンで遊んでいるのですが、Arduinoボードのように周辺機器や回路を満載せず、最小構成で動かしたいと感じることがあります。 Arduinoボードには、USB-シリアル変換インターフェース、5Vおよび3.3V定電圧電源、水晶発振子やセラミック発振子、電源...