Todos os Tons

天気のよい時は海や山に出かけて美しい景色を捜し求め、天気の悪い日は家に篭って作曲活動をしています。両方の成果をひとつの作品にできればと音楽付映像をこつこつと作っています。

サイト内の写真の使用ならびに無断転用を禁じます。


テーマ:

詩的な題名にした割にはテクニカルな内容です。


先日書いたこのネタの続き…というか本編。まだJust Ideaの段階で実地検証はこれからですが。

 

最近、行った先々で景色の撮影をする時に+αの情報も同時に記録しており、例えば先日撮影に行ったこの場所
こんな夢見がちな風景なのですが、

 


 

そんな中冷静を取り戻して同時にスマホの測量アプリを使ってこんなデータを残しておく。

 

 

これ何をしているかというと、その場所の空の開口部に方角と仰角をオーバーラップさせて周囲を漏れなく撮影しているのです。
これを大まかにざっと繋ぎ合わせるとこんな感じになって、その場所の空の開いている箇所が定量的に把握できる。

 

 

開口部を大まかに上から描いてみると。

 

 

そしてこの情報とその場所の緯度経度が分かれば、先日のここで行った計算を駆使してこの場所に日の当たる(もしくは月の射す)時間帯を机上計算できる(はず)。
これをしておくと、その場所に通年通わなくても(それはそれで楽しいのだが…)一度行っておけばそこの光の具合がある程度予測できる(はず)。

 

そもそもこんなことをやりだしたのは以下のような理由です。

 

例えば開けた山の稜線などある程度オープンな場所だったらカシミールとかを使えば光の方向の予想をつけるのは簡単なのだが、渓谷などの奥まった場所では周囲の地形や樹木など様々な要因があって光の予測が難しくなかなか思い通りの絵にならなくて悔しい思いをすること数知れず。


これをなんとか効率よく解決できないか検討した一案がこれ。

とりわけ氷瀑などは光が当たる美しい時間というのはとても短いわけで…

 

先ほどの開口部をきちんと図にしてみるとこんな感じ。

 

 

円周方向が方角で北が0度、放射線方向が仰角。つまり円内が地平線以上の半球になる。

これを見ていると氷瀑のできるこの場所から見える空の範囲はすこぶる狭いことが改めて確認できる。

 

次に前回書いた天体計算ライブラリを用いて太陽の軌跡を加えてみる。(氷瀑なので冬季だけでもよいのだが、とりあえず)2017年の元旦から大晦日まで一年分を10日おきに24時間プロット。 色はシアン(1月)からイエロー(12月)までのグラデーション。数字は時をあらわす。

 

 

別途、一年を細かく10分おきに計算して棒グラフにしてみる。青が太陽が地平線以上にいる時間でそのうち赤が開口部に太陽が顔を出す時間帯になります。

 

 

こうしてみると、この場所は朝の気温の低い時間帯の3時間弱程度しか陽が射さないことが分かり、立派な氷瀑ができるのも納得できる。

 

ついでに月の場合でもやってみる。太陽が地平線以上の時と月の暗い期間は排除しています。

 

 

こちらはちょっと分かりにくいので、氷瀑の期待できる1~3月を拡大してみる。

 

ここに月光が射すのは太陽光よりも更にチャンスが少ないことがわかります。

 

計算や手順が合っているかどうかいささか心許ないが…この情報を各所持っておけば効率よく撮影プランを練る事ができる(かも)。
 

AD
いいね!した人  |  コメント(0)  |  リブログ(0)
最近の画像つき記事  もっと見る >>

テーマ:

しばらく堪能できていなかった美しい冬の風景を楽しむべく福島まで。


このところの福島遠征は只見方面ばかりだったので、久しぶりに裏磐梯方面に。

 

今回の主目的は西大嶺から西吾妻山に至るスノーモンスター達の鑑賞です。

 

(非常に苦手なのだが時間節約のため)大勢のスキー客に混じってゴンドラ&リフトで最上部へ。
そこから先は立ち入り禁止ゲートを越えて急登を上がっていく。

 


この時点では雲が多くて天候イマイチ。

最近知名度が上がったためか入山者も多く、トレースは明瞭。

 

 

高度が上がると展望が開け、よりモンスターに近くなる。

 

 

西大嶺山頂近く。ようやく完璧なモンスター達と対面。

蔵王の人たちと比べると若干小ぶりだが。

風がきつくなる。

 

 

GPSがあるので平気だが、時折ホワイトアウトで5m先が見えなくなる。

 

 

諦めずしばし待つとようやく晴れ間が。非日常な風景が周囲を取り囲む。

 

 

 

西吾妻山を臨む。

 

 

本当は西吾妻山へ至る稜線で幕営したかったのだが、前回書いたこれが直前に起こったのと、夜には10m以上の強風予想だったため安全を見て今回はここで日帰りとしました。


そのあたりはまたの機会に。
 

AD
いいね!した人  |  コメント(2)  |  リブログ(0)

テーマ:

ご安心を。人の話ではありません。

 

長年幕営で愛用していたプロモンテのテント。


最近では破れや雨漏りなどを繕いつつ騙し々々使っていたのだが、ついに本体支柱が金属疲労で破損、さすがに買い換えた方がよいと判断、引退となりました。
 

 

思い返してみると、コイツの初使用が自身のyoutube初作(今見ると稚拙この上ないが…)を撮影した時の北アルプス・涸沢なので、7年ほど酷使したことになります。
 

 

このテントの周りで繰り広げられた思い出は数知れず。


屋久島の山中で豪雨と強風に祟られて水を一晩中かき出したり、寒波の八ヶ岳で一晩中寒さで眠れなかったり、氷瀑の下で崩落にビビりながら寝たり、暴風の稜線で飛ばされないようにずっと大の字になっていたり、クマに周りをうろつかれたり、西表で天の川の光とホタル幼虫の光に挟まれて寝たり、夏の伊豆七島や沖縄で蚊や猛暑で眠れなかったり、紅葉や残雪の北アルプスで絶景に囲まれたり、数多くの名前もない場所でのビバーク等々

 

このテントのお陰で数多くの記憶に残る写真や映像を撮ることができました。
 

 

ということで破損部分に応急処置をして、福島にあるお気に入りの某キャンプ場で最後の幕営を。
折からの強風で再破損が心配だったが、なんとか持ちこたえてくれた。
 

 

長い間居住空間と命を守ってくれて、数多くの忘れられない風景を見せてくれてありがとう。
 

AD
いいね!した人  |  コメント(0)  |  リブログ(0)

テーマ:

しばらく続いていた多忙な日々も収束してきて、ぼちぼち諸々の活動を再開しようかと思っています。

 

今回手始めのネタは多忙中に時間を盗んでいろいろ仕込んでいたもののひとつで、自身の備忘録を兼ねています。
一部未解決で、通りがっかった方でこのあたり詳しい人がおられれば是非教えてください。

 

まずは至極当然な前提から。

撮影にとって最も重要な要素は何か?


言うまでもなくそれは「光」であって、特に自然界での撮影だとその源は太陽であり、あるいは場合によって月になる。


というわけで、太陽や月の方向というのは屋外で撮影する限りは常に注意を払わなければならない…当然ですが。

 

というわけで、そのあたりを机上でも定量的に検討できるよう天文学の素人でも計算できるようなライブラリを以前から物色しておりました。

 

本格的なものだと、その筋のデファクト(らしい)SOFAとか

 

http://www.iausofa.org/

 

NASAご謹製のやつとか

 

https://naif.jpl.nasa.gov/naif/index.html

 

しかしながらこのあたり、どう見ても素人が手軽に使うには敷居が高すぎる。

そこで目をつけたのが以下の2つのライブラリ。

 

PyEphem

 

libnova

 

前者はPython系、後者はC++系でこのあたりだと素人でもなんとか扱えそう。
ただし使いこなすには最低限の天文学の基礎知識は必須だが、以下が日本語記述かつ必要十分。

 

https://www.astroarts.co.jp/alacarte/kiso/index-j.shtml

 

ということで双方のライブラリを用いて「その日・その時・その場所」の太陽・月の地平座標及び月の満ち欠けを計算するスニペットを作ってみました。

 

まずはPyEphemから。実行にはPyEphemライブラリが必要。


# sun_moon.py

import ephem
import datetime
import sys
from math import radians as rad,degrees as deg  
from pytz import timezone

args = sys.argv

if len(args) < 9:
	print("Usage: sun_moon.py year mon date hour min sec longitude latitude")
	sys.exit()
	
# arg to parameter
year=int(args[1])
month=int(args[2])
day=int(args[3])
hour=int(args[4])
min=int(args[5])
sec=int(args[6])
longitude = float(args[7])
latitude = float(args[8])

# UTC conversion
jst = datetime.datetime(year, month, day, hour, min, sec)
local_tz = timezone('Asia/Tokyo')
jst = local_tz.localize(jst)
print("JST ",jst)
utc = jst.astimezone(timezone('UTC'))
print("UTC ",utc)

ephem_tm = ephem.Date(utc)
print ("Ephem Time ", ephem_tm)

gatech = ephem.Observer()
gatech.lon = rad(longitude)
gatech.lat = rad(latitude)
gatech.date = utc

sun = ephem.Sun()
moon = ephem.Moon()
sun.compute(gatech)
moon.compute(gatech)

print("Solar AZ: %s ALT: %s" % (deg(sun.az),deg(sun.alt)))
print("Lunar AZ: %s ALT: %s" % (deg(moon.az),deg(moon.alt)))

nnm = ephem.next_new_moon(gatech.date)
pnm = ephem.previous_new_moon(gatech.date)

lunation=(gatech.date-pnm)/(nnm-pnm)  
print("Lunar lunation: ",lunation)


起動方法は

 

python sun_moon.py year month date hour min sec 経度 緯度

 

次にlibnovaバージョン。コンパイル・実行にはlibnovaライブラリが必要。

// sun_moon.cpp

#include <iostream>
#include <string>
#include <string.h>

#include <libnova/utility.h>
#include <libnova/julian_day.h>
#include <libnova/angular_separation.h>
#include <libnova/lunar.h>
#include <libnova/solar.h>
#include <libnova/transform.h>

// S:0 W:90 N:180 E:270 -> N:0 E:90 S:180 W:270
double ConvAz(double pAZorg) {
    double ret = pAZorg - 180.; 
    return ((ret > 0.) ? ret : ret + 360.);
}

int main(int argc,char *argv[]) {
    if(argc < 9) {
        std::cout << "sun_moon year mon date hour min sec longitude latitude" << std::endl;
        return -1;
    }

    // arg conversion
    std::string s_year(argv[1]);
    std::string s_mon (argv[2]);
    std::string s_day (argv[3]);
    std::string s_hour(argv[4]);
    std::string s_min (argv[5]);
    std::string s_sec (argv[6]);
    std::string s_lon (argv[7]);
    std::string s_lat (argv[8]);
    
    // Get Julian day
    time_t time_of_the_day;
    struct tm ptm;
    double jd; 
    
    memset(&ptm, 0, sizeof(struct tm));
    ptm.tm_year = std::stoi(s_year) - 1900;
    ptm.tm_mon  = std::stoi(s_mon) - 1;
    ptm.tm_mday = std::stoi(s_day);
    ptm.tm_hour = std::stoi(s_hour);
    ptm.tm_min  = std::stoi(s_min);
    ptm.tm_sec  = std::stoi(s_sec);
    time_of_the_day = mktime(&ptm);
    
    std::cout << "Local time " << (ptm.tm_year+1900) << "/" << (ptm.tm_mon + 1) << "/" << ptm.tm_mday << 
        " " << ptm.tm_hour << ":" << ptm.tm_min << ":" << ptm.tm_sec << std::endl;
    jd = ln_get_julian_from_timet(&time_of_the_day);
    
    std::cout.setf(std::ios::fixed);    
    std::cout << "Julian day  " << jd << std::endl;

    // Get equ position of sun and moon.
    struct ln_equ_posn lunar_equ, solar_equ;
    ln_get_solar_equ_coords(jd, &solar_equ);
    ln_get_lunar_equ_coords(jd, &lunar_equ);
    
    ln_lnlat_posn observer;
    ln_hrz_posn position;
    
    observer.lng = std::stof(s_lon);
    observer.lat = std::stof(s_lat);
    
    // Get Horizontal coord
    ln_get_hrz_from_equ(&solar_equ, &observer,jd,&position);
    std::cout << "Solar AZ:" << ConvAz(position.az) << " ALT:" << position.alt << std::endl;

    ln_get_hrz_from_equ(&lunar_equ, &observer,jd,&position);
    std::cout << "Lunar AZ:" << ConvAz(position.az) << " ALT:" << position.alt << std::endl;
    
    // Get Lunar Phase
    double phase = ln_get_lunar_phase(jd);
    std::cout << "Lunar phase " << phase << std::endl;

    return 0;
}


コンパイル後、実行は

 

sun_moon.exe year month date hour min sec 経度 緯度

 

さて、これらの実地検証を…
 

こんなときに役に立つのが対象の方角と仰角を写せるスマホ用の測量アプリ。
自分はAndroid用のSurveyCompassというのが精度がよいので使ってますが、荒川土手で太陽を撮ったのがこんな感じ。

 

 

撮ったのが2017/2/4 15:27なので東京の緯度・経度と共に両者を起動してみる。AZ=Azimuth(方位角) ALT=Altitude(高度)


# PyEphem

>python sun_moon.py  2017 2 4 15 27 0 139 35
JST  2017-02-04 15:27:00+09:00
UTC  2017-02-04 06:27:00+00:00
Ephem Time  2017/2/4 06:27:00
Solar AZ: 233.3656526924783 ALT: 18.823892069528423
Lunar AZ: 116.80623420416293 ALT: 49.93173592735221
Lunar lunation:  0.2452435712394331



// libnova

>./sun_moon.exe 2017 2 4 15 27 0 139 35
Local time 2017/2/4 15:27:0
Julian day  2457788.768750
Solar AZ:233.488559 ALT:18.575095
Lunar AZ:117.142069 ALT:50.684293
Lunar phase 88.705032


若干の誤差はあるが、まあいい感じです。

 

ほぼ同じ時間に撮った月がこんな感じ。

 

 

何故か月の場合は経度方向に10度以上も誤差が…この時間に限らず常に同じくらいのズレが継続して出ます。原因はまだ分かってません。


何か勘違いをしているのか…通りがっかった方でこのあたり詳しい人がおられれば是非教えてください。

 

ちなみに、月の満ち欠けの値ですが、PyEphemは0~1の間を遷移、0と1が新月、0.5が満月となります。


libnovaは0~180を遷移、0が満月、180が新月となります。
こちらは正しい値が出るようです。
 

いいね!した人  |  コメント(0)  |  リブログ(0)

テーマ:

多忙により更新が瀕死状態となっておりますが、もう少しで通常運転に戻ってぼちぼち活動を再開できそう(な予感)。

 

で、本題。

 

このままでは美しい白い風景を見ないまま季節が終わってしまいそうな危惧を感じて、無理やり時間を作って足腰のリハビリがてら雪上歩きをしてきました。


まだ気力・体力とも万全ではないので、日帰りであまりハード過ぎない場所をリストアップ。
その中で鑑賞期限も残り少ないだろうと氷瀑の鑑賞のため奥日光へ。


バリエーションコースながら最近人気が出ているらしい外山沢・庵滝を目指す。

 

この時期、例年であれば圧雪路のはずの奥日光の道路は雪もなく、スタッドレスも必要ないほど。


スノーシューを背負ってツボ足で森の中を歩く。久しぶりの感覚が戻ってきて心地よい。

 

 

カメラマンの聖地・小田代原を通りがかりに。白昼だとあまり凄味がないが。

 

 

バリエーションコースへ入りスノーシューを履いて外山沢を遡行。これだけでも十分楽しい。

 

 

出発より二時間半ほど。見えてきた。

 

 

滝は岩を挟んで左右に分かれて落ちている。崩落したとしても他所の氷瀑より危険性が少なそう。

 

 

周囲には氷のオブジェがわんさか。

 

 

ここの白眉の場所、中の空間に入ってみる。神秘的な蒼の光に包まれる。

 

 

話に聞くところによると、支流にも幾つか氷瀑があるらしく、時間の余裕もあるのでトレースのない支流に突っ込んでみる…が、しばらく行くと膝上ラッセル状態に。いつもなら無理やり進むのだが、今回は気力が足りずにここで退散。

 

 

願わくば残雪のあるうちに通常運転に戻りたいところです。

 

いいね!した人  |  コメント(0)  |  リブログ(0)

AD

Ameba人気のブログ

Amebaトピックス

      ランキング

      • 総合
      • 新登場
      • 急上昇
      • トレンド

      ブログをはじめる

      たくさんの芸能人・有名人が
      書いているAmebaブログを
      無料で簡単にはじめることができます。

      公式トップブロガーへ応募

      多くの方にご紹介したいブログを
      執筆する方を「公式トップブロガー」
      として認定しております。

      芸能人・有名人ブログを開設

      Amebaブログでは、芸能人・有名人ブログを
      ご希望される著名人の方/事務所様を
      随時募集しております。