ただ建築が好きな走るエンジニア、

日系某メーカーを辞めて外資系に転職。資格、建築デザイン、転職と来て今はひたすらす走ってます。2019別大2:49:13。

横浜ランドマークプラザにて

2014-09-28 02:07:33 | 日記
今日は小6の長女がミニバス合宿で留守なので
小3の長男のリクエストで横浜ランドマークの
とあるところに出掛けました。

よく分からないけど、そこで買いたいものが
あるとのこと。

ランドマーク地下の駐車場に車を滑り込ませ
転勤を経てすっかり忘れていた周辺の配置を
思い出しつつ何とか現地到着。

そこはランドマークプラザ4階の
某アニメキャラクターショップでした。

長男は明らかにマニュアル笑顔?の
お兄さん、お姉さんには目もくれず目的の
ブツのところまで一直線(苦笑い)。

そしてブツを手にしたところで暫し放心?

したように見えた彼は直ぐに気を取り直し
確保したブツと数ヵ月で貯めたお小遣いと
ともにレジへ。

問題はそこで起きました。

ブツの値段は消費税込みで1080円。
彼は一生懸命細かい小銭をかき集めて
レジのお兄さんにそれを渡そうと
します。

しかし、お兄さん (この人もすごく不自然な
マニュアル笑顔、甘い声)はいきなり手元から
何か取り出し、「今日は特別限定で16**円
以上お買い物すると、この××EXカードも
付いてくるよ」。

長男は予想外の反応に一瞬フリーズ。
次の瞬間はそのカードが貰えると勘違いして
徐に頷く…

(余計なこと言うなよ。小銭集めるだけで
精一杯の子どもに。)

(いや違うんだって。それはただで貰えるん
じゃないよ。)

お兄さんは畳み掛けるように
「それじゃあ、あと○○を2つかな。」

長男はそこで漸く意味を理解し、
要らない意思表示。

でもお兄さん、
「今日だけ限定なのに本当にいいのかな」。

(いいも悪いも彼はそんなお金持ってません)

少し悲しくなってしまった顔で再度頷く彼。

何とか無事に?ミッション終了しました。

バイトだらけ、マニュアル通り、
子どもの小さな勇気と夢を砕かないで欲しい

と思ったのは親だけで、

長男は意外とさっぱり、
「こういうところは良くないね」と。

その後は、これも長男の希望で、
中華街で夕食を。









安くて美味しい、いいお店でした。
Comments (2)

自転車通勤

2014-09-22 20:20:14 | 日記


休日の合間なので久々に自転車通勤です。
すっかり秋ですね。
彼岸花にたわわな稲穂。
それに朝晩は半袖だと寒いです。



ちょっと遠回りしていたら伊勢原に入ってました。
針路修正しようと思ったらこんな細いところを走ることに。
行きは17km/1時間でした。

やっぱり今日は有給休暇取って4連休の人が多かったです。
午後4時過ぎにはほとんど人が居なくなってしまったので
私もお暇を。



通勤なのか、サイクリングなのか、
一生懸命働いている人ごめんなさい。
今日はやっぱりサイクリング日和でした。



せっかくこんな明るい時間なら海まで。
相模川河川敷を走り、湘南銀河大橋で茅ヶ崎方面へ。



ようやく湘南大橋です。ここまで14km/50分。



ついつい海を見ながらのんびりしてしまいました。



あと6km走り大磯到着です。
帰りは計20km/90分でした。

そのうちしっかり働くようにします^^>
Comment

ISSその後

2014-09-22 00:31:25 | 日記


14分後にISSが上空を通過かな。
Comment

近所はどこまで?

2014-09-21 22:49:24 | 日記


今日は長女と大船に出掛けました。
朝早くから電車で出掛けるのは
何だかわくわくします。

大磯から大船は東海道線で5駅、
約20分ちょっとです。

ここだけ鎌倉市。
ここを過ぎると横浜市。

だから何となくここまでが近所。
因みに西は小田原までが同じ感覚。

長女の模試が終わるのを待つ間、
いい景色を眺めながらそんなことを
考えてました。




Comment

瞬間英作文

2014-09-19 21:29:06 | 資格
訳あって英語の勉強を始めました。

何を目指して?

今まで数多くの教材に手を出し、
もう何も要らないだろうと思いつつ、

これ。



リスニングとリーディングは
TOEICでかじってるけど
スピーキングは即応力ゼロなので。

中1レベルからのリベンジです。

どこを目指すんだっけ?
Comment

一休み

2014-09-18 00:06:46 | 日記
今日は午前中、人間ドックでした。
多くの人々に混じって効率的に検査が
進んでいく様を見ていると自分も何だか
無機質なものに思えてきます。

視力が少し落ちました。
スマホのせいかな。

聴力も最初のトライで高音域が
反応出来てなかったみたいで
リトライ。何とかパスです。

今回は胃カメラを選択しました。
眠くなる注射をしてくれるところなので
気付いたら終わってました。

いずれにせよ、
何事もなければ良いのですが…
(結構弱気(^-^;)

実は製図試験終わって
少し燃え尽き症候群です。

英語とロボットをやると決めてたんですが、
少し休んでからと言うことで。
Comment

二級建築士製図試験振り返り

2014-09-14 20:58:49 | 資格
試験会場の専修大学、生田キャンパスから
大磯の自宅まで2時間以上。

これって京都造形芸大、外苑キャンパスより
時間掛かってる。

首都圏だと距離=時間じゃないんですね。
疲れました。

あり得ないミスをした割に頑張ったかなと
思いつつ帰途に就きましたが、
次第に「もっとこう出来たのに」という
思いが頭をよぎる。

これまでは時間内で描くことに追われ、
その質にまで意識が回っていなかったことに
気付く。

そう気付くようになったのは進歩だけど
試験前に気付かないとね。

そして今回は何とかこれで許しを乞う。


これは配置。スロープの勾配1/12は本当?


1階平面、解答案。祖母室と専用便所が狭い。今年はこの祖母が主人公なのに…


どうせならこうしておけば良かったプラン。
結局その場で気付けなかった。


2階平面。

Comments (4)

二級建築士製図試験終了

2014-09-14 16:10:51 | 資格


とにかく終わりました。

伏図を書く場所間違えました。
伏図ほとんど描き上がったところで気付いて
心臓が飛び出るくらいびっくり。

速攻で正しい場所に描き直しましたが
手の震えが暫く止まりませんでした。

でも深呼吸して続行。

終了30分前には何とか描き終わりました。
(それはそれですごいけど…)

あとは12月4日の結果発表まで待つだけ。
これから帰ります。

Comment

御守り

2014-09-14 07:21:18 | 資格


そう言えば、先日長女がプレゼントして
くれたものが。

定規やテンプレートなど
ちょうど収まりました?

今日はこれでいきます。
Comment

製図板の枕

2014-09-13 23:56:12 | 資格


明日に備えて作りました。
使えるかな?
Comment

本番直前

2014-09-13 03:30:15 | 資格


いよいよ明日(日曜日)本番です。
最後の通し練習、4時間20分。
書くたびに早くなるのは実感します。
あとはトテツモナイ勘違いなどせぬように。

早く終わって自由になりたい。

Comment

バッテリ交換

2014-09-10 21:44:50 | 日記

数日前の話です。車がいきなり動かなくなりました。

そういえば2年前にもこんなことがありました。

http://blog.goo.ne.jp/picard_1970/e/466da5411361e89f089e895781efcd7d

イグニッションを回しても微かな電子音だけ。ほとんどだんまり。

ちなみにこの車は新車購入してから4年と8か月。

そして今回のバッテリは新車時から数えて4つ目。

しかし、前回交換からは2年と2か月(ちょうど保証期限切れです)。

どうせディーラーに頼むと高いから今回は自分で交換することにしました。

(普通に頼むと3万円くらい取られたはず...)

自宅の車庫で良かったです。

もう純正こだわりないので、迷わず国産バッテリ(Panasonic 66-25H)を購入。

15,120円。

この車はバッテリ交換も大変でした。

まずバッテリ上のカバーを外すと何やら複雑な電極が...

バッテリはマイナスから外すんだよね。どこから...

何となくマイナスらしきところを外す。

バッテリをどかすには手前のエアフィルタを外さないといけない。

何とか1つ1つ外していって最後の関門がこのネジ。


どう見ても普通のレンチは入りません。

仕方なく近くのローヤルホームセンターまでソケットレンチとエクステンションバーを買いに。

もちろん自転車で往復です。

約4,700円。


何とかPanasonic乗りました。

期待してるぞ。

最初とは逆順にもとに戻す。

でも、あれっ!プラス(+)の蓋が閉まらない。

国産車ではこうはならないんだろうなぁ~と思いつつ、ボンネットを閉じました。

数分後、無事にエンジンが掛かりました。

バッテリ新しくなると何だか調子もよくなるみたいです。

おぉ、スムーズだ。

 

 

Comment

地球儀上でISS(国際宇宙ステーション)の位置を表示するプログラム(その6)

2014-09-09 00:04:31 | 電気

地球儀上でISS(国際宇宙ステーション)の位置を表示するプログラム(その6)


        public Bitmap sphere(int[] xll, int[] yl, double[] hsa, int iff)//平面→球面投影
        {
            Bitmap canvas1 = new Bitmap(bmp3);
            Bitmap canvas2 = new Bitmap(h, h);
            int xt, yt, kk;
            double sx, sy, ll;
            int rl = 4;
            Graphics g = Graphics.FromImage(canvas2);
            Color c;
            Pen p = new Pen(Color.FromArgb(128, Color.Red), 1);
            kk = (int)((double)keido / 360 * w);
            for (int i = 0; i < h - 1; i++)
            {
                for (int j = 0; j < h - 1; j++)
                {
                    if (x[j, i] >= 0 && x[j, i] <= h)
                    {
                        xt = x[j, i] + kk;
                        if (xt >= w)
                            xt -= w;
                        c = canvas1.GetPixel(xt, y[i]);
                    }
                    else
                    {
                        c = Color.Black;
                    }
                    int p2x = (int)(h2 + ((j - h2) * expandSize));
                    int p2y = (int)(h2 + ((i - h2) * expandSize));
                    canvas2.SetPixel(p2x, p2y, c);
                }
            }
            for (int i = 0; i < iff + 1; i++)//軌道描画
            {
                sy = ((double)yl[i] - h2) / (double)h * Math.PI;
                yt = (int)(h2 * (Math.Sin(sy) * expandSize * hsa[i] + 1));
                ll = h * Math.Cos(sy);
                if (((0 < kk && kk < w2) && (kk < xll[i] && xll[i] < kk + w2)) ||
                ((w2 <= kk) && (kk < xll[i] || xll[i] < kk - w2)))
                {
                    double xtl = xll[i] - kk;
                    sx = (xtl - h2) / (double)h * Math.PI;
                    xt = (int)(ll / 2 * Math.Sin(sx) * expandSize * hsa[i] + h2);
                    if (i == iff)
                    {
                        p = new Pen(Color.FromArgb(255, Color.AntiqueWhite), 2);
                        rl = 6;
                    }
                    g.DrawEllipse(p, xt - rl / 2, yt - rl / 2, rl, rl);
                }
            }
            g.Dispose();
            return canvas2;
        }
        //地球を回すマウスステータス
        private void pictureBox9_MouseDown_1(object sender, MouseEventArgs e)
        {
            mb2 = true;
        }
        private void pictureBox9_MouseUp_1(object sender, MouseEventArgs e)
        {
            mb = false;
            mb2 = false;
        }
        //Formの移動
        private void Form1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
        {
            if ((e.Button & MouseButtons.Left) == MouseButtons.Left)
            {
                mMousePoint = new Point(e.X, e.Y);
            }
        }
        private void Form1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
        {
            if ((e.Button & MouseButtons.Left) == MouseButtons.Left)
            {
                this.Left += e.X - mMousePoint.X;
                this.Top += e.Y - mMousePoint.Y;
            }
        }
        //FormをTop固定
        private void checkBox1_CheckedChanged(object sender, EventArgs e)
        {
            if (this.TopMost == false)
                this.TopMost = true;
            else
                this.TopMost = false;
        }
        //終了
        private void button1_Click(object sender, EventArgs e)
        {
            this.Close();
        }
    }
}


1記事あたり20000文字制限があるなんて知らなかった。

ブログってこういうソース記録には向いてないのかな。

自分でサーバーを起こした方がいいのかも知れない。

 

 

Comment

地球儀上でISS(国際宇宙ステーション)の位置を表示するプログラム(その5)

2014-09-08 23:59:51 | 電気

地球儀上でISS(国際宇宙ステーション)の位置を表示するプログラム(その5)


        public double tjdCalc(Dtime a)                  //Tjdの計算
        {
            int jm = a.Month;
            int jy = a.Year;
            if (a.Month < 3)
            {
                jy = a.Year - 1;
                jm += 12;
            }
            double jd = (int)(365.25 * jy) + (int)(jy / 400) - (int)(jy / 100)
                + (int)(30.59 * (jm - 2)) + a.Day + 1721088.5
                + (double)a.Hour / 24 + (double)a.Minute / 1440 + (double)a.Second / 86400;
            double tjd = jd - 2440000.5;
            return tjd;
        }
        private void orbital_sphere()                   //平面地図に軌道を表示する
        {
            keido = keido - 1;
            xl = mx;
            if (mb2 == true)
            {
                mx = System.Windows.Forms.Cursor.Position.X;
                if (mb == false)
                {
                    xl = mx;
                    mb = true;
                }
            }
            int dx = xl - mx;
            if (Math.Abs(dx) > 360)
                dx = 0;
            keido = keido + dx;
            if (keido >= 360)
                keido -= 360;
            if (keido < 0)
                keido += 360;
            int rkeido = keido - 90;
            if (rkeido > 180)
                rkeido -= 360;
            string rkeidoDirection = "E";
            if (rkeido < 0)
            {
                rkeidoDirection = "W";
                rkeido *= -1;
            }
            this.label2.Text = rkeido.ToString() + rkeidoDirection;

            DateTime pDateJ = DateTime.Now;             //現地日時表示
            this.label1.Text = pDateJ.ToString();
            
            DateTime crnt1 = DateTime.UtcNow;           //現在日時をTJDへ
            Dtime crnt2;
            crnt2.Year = crnt1.Year;
            crnt2.Month = crnt1.Month;
            crnt2.Day = crnt1.Day;
            crnt2.Hour = crnt1.Hour;
            crnt2.Minute = crnt1.Minute;
            crnt2.Second = crnt1.Second;
            double tjdCurrent = tjdCalc(crnt2);
            
            Bitmap canvas = new Bitmap(bmp3);           //軌道計算
            Graphics g = Graphics.FromImage(canvas);
            Pen p = new Pen(Color.FromArgb(128, Color.Red), 1);
            Font fnt = new Font("MS UI Gothic"9);
            int iff = 120;
            int[] xll = new int[iff + 1];
            int[] yl = new int[iff + 1];
            double[] hsa = new double[iff + 1];
            for (int i = 0; i < iff + 1; i++)
            {
                                                        //グリニッジ平均恒星時計算
                double tg = 24 * (0.671262 + 1.0027379094 * (tjdCurrent + (double)(iff - i) / 60 / 24));
                tg = tg % 24;
                double tl = tg + keido / 15;
                if (tl > 24)
                    tl -= 24;
                                                        //真近点離角計算
                double fai = ((tjdCurrent + (double)(iff - i) / 60 / 24 - t1.tjdep)
                    * t1.mm * 2 * Math.PI + t1.mk / 180 * Math.PI) % (Math.PI * 2);
                double eec = fai + t1.ec * Math.Sin(fai);
                double ek, de;
                do
                {
                    ek = fai + t1.ec * Math.Sin(eec);
                    de = Math.Abs(eec - ek);
                    eec = ek;
                }
                while (de > 0.000000000001);
                double tanvk = Math.Sqrt(1 - t1.ec * t1.ec) * Math.Sin(ek) / (Math.Cos(ek) - t1.ec);
                double vk = Math.Atan(tanvk);
                double vkj = Math.Cos(ek) - t1.ec;
                if (vkj < 0)
                    vk = vk + Math.PI;
                                                        //軌道位置計算
                double tt = 24 * 3600 / t1.mm;          //公転周期
                double ar = (6.67384E-11 * 5.972E+24 * tt * tt / 4 / Math.PI / Math.PI);
                ar = Math.Pow(ar, (double)1 / (double)3);       //軌道長半径
                double rk = ar * (1 - t1.ec * Math.Cos(ek));
                double xk = rk * Math.Cos(vk);
                double yk = rk * Math.Sin(vk);
                                                        //地心赤道直交座標変換
                double xs = xk * t1.sx1 - yk * t1.sx2;
                double ys = xk * t1.sy1 - yk * t1.sy2;
                double zs = xk * t1.sz1 + yk * t1.sz2;
                                                        //G系地心直交座標変換
                tg = tg / 24 * 2 * Math.PI;
                double xg = xs * Math.Cos(tg) + ys * Math.Sin(tg);
                double yg = ys * Math.Cos(tg) - xs * Math.Sin(tg);
                double zg = zs;
                                                        //G系地心直交座標から経度・緯度及び楕円体高変換
                double skeido = Math.Atan(yg / xg);
                if (xg < 0)
                    skeido = skeido + Math.PI;
                string LongitudeDirection = "E";
                double skeidox = skeido;
                if (skeido > Math.PI)
                {
                    skeido = 2 * Math.PI - skeido;
                    skeidox = -skeido;
                    LongitudeDirection = "W";
                }
                if (skeido < 0)
                {
                    skeidox = skeido;
                    skeido *= -1;
                    LongitudeDirection = "W";
                }
                double pg = Math.Sqrt(xg * xg + yg * yg);
                double sido0 = Math.Atan(zg / pg);
                double ds, sido, n;
                double ag = 6377397.155;
                double e2 = 0.006674372230614;
                do
                {
                    n = ag / Math.Sqrt(1 - e2 * e2 * Math.Sin(sido0) * Math.Sin(sido0));
                    sido = Math.Atan(zg / (pg - e2 * e2 * n * Math.Cos(sido0)));
                    ds = sido - sido0;
                    sido0 = sido;
                }
                while (ds > 0.000000000001);
                string LatitudeDirection = "N";
                double sidoy = sido;
                if (sido < 0)
                {
                    LatitudeDirection = "S";
                    sido *= -1;
                }
                double hs = pg / Math.Cos(sido);
                skeido = skeido / Math.PI * 180;
                sido = sido / Math.PI * 180;
                                                        //表示する
                xll[i] = (int)((double)canvas.Width / 2 * (1 + skeidox / Math.PI));
                yl[i] = (int)((double)canvas.Height / 2 * (1 - 2 * sidoy / Math.PI));
                hsa[i] = hs / n;
                hs -= n;
                hs /= 1000;
                int rl = 4;
                if (i == iff)
                {
                    p = new Pen(Color.FromArgb(255, Color.AntiqueWhite), 2);
                    rl = 6;
                    int cxl = xll[i];
                    int cyl = yl[i];
                    if (cxl > h + h - 180)
                        cxl = h + h - 180;
                    g.DrawString("LAT=" + sido.ToString("###") + LatitudeDirection
                        + ",LON=" + skeido.ToString("###") + LongitudeDirection
                        + ",ALT=" + hs.ToString("###KM"), fnt, Brushes.Coral, cxl, cyl + 5);
                }
                g.DrawEllipse(p, xll[i] - rl / 2, yl[i] - rl / 2, rl, rl);
            }
            fnt.Dispose();
            g.Dispose();
            this.pictureBox7.Image = canvas;
            Bitmap sphereBmp = new Bitmap(h, h);
            sphereBmp = sphere(xll, yl, hsa, iff);
            this.pictureBox9.Image = sphereBmp;
        }


次の記事へ続く。


Comment

地球儀上でISS(国際宇宙ステーション)の位置を表示するプログラム(その4)

2014-09-08 23:57:16 | 電気

地球儀上でISS(国際宇宙ステーション)の位置を表示するプログラム(その4)


        public void marble()                            //昼夜混合画像変換
        {
            //
            //
            //System.Diagnostics.Stopwatch sw = new System.Diagnostics.Stopwatch();
            //sw.Start();
            //
            //
            DateTime pDate = DateTime.Now;              //現在日時と季節判定
            double sDay = pDate.DayOfYear;
            double pSeason = (sDay / 365.25 - 0.72) * 2 * Math.PI;
            if (pSeason < 0)
                pSeason = pSeason + 2 * Math.PI;
            double aSeason = Math.Tan((90 - 23.4 * Math.Sin(pSeason)) / 180 * Math.PI);
            int sHur = pDate.Hour;
            int pUTC = 9;
            if (sHur < pUTC)
                sHur = sHur - pUTC;
            else
                sHur = sHur + (24 - pUTC);
            double sTime = (double)(sHur * 3600 + pDate.Minute * 60 + pDate.Second) / 24 / 3600 * 360;

            Bitmap canvas3 = new Bitmap(w, h);          //画像セット
            
            int[] yDay = new int[w - 1];                //明暗境界線計算
            for (int j = 0; j < w - 1; j++)
            {
                double yDayD = Math.Atan(aSeason * Math.Cos(((double)j
                    / (double)w * 360 + sTime - 180) / 180 * Math.PI))
                    / Math.PI * h + h2;
                yDay[j] = (int)yDayD;
            }
            Color c, c1, c2;                            //昼夜計算
            byte cR, cG, cB, cA;
            int jkk, ikk;
            int[,] DorN = new int[w, h];
            int Dsum;
            int Eve = w / 48;
            int Eve2 = (Eve + 1) * (Eve + 1);
            for (int j = 0; j < w - 1; j++)
            {
                for (int i = 0; i < h - 1; i++)
                {
                    if (pSeason < Math.PI)
                    {
                        if (i > yDay[j])
                        {
                            DorN[j, i] = 1;
                        }
                        else
                        {
                            DorN[j, i] = 0;
                        }
                    }
                    else
                    {
                        if (i > yDay[j])
                        {
                            DorN[j, i] = 0;
                        }
                        else
                        {
                            DorN[j, i] = 1;
                        }
                    }
                }
            }
            for (int j = 0; j < w - 1; j++)             //グラデーション生成
            {
                for (int i = 0; i < h - 1; i++)
                {
                    Dsum = 0;
                    for (int jk = 0; jk < Eve; jk++)
                    {
                        for (int ik = 0; ik < Eve; ik++)
                        {
                            jkk = j + jk + jk + jk + jk - Eve - Eve;
                            if (jkk < 0)
                                jkk += w;
                            else if (jkk > w - 1)
                                jkk -= w;
                            ikk = i + ik + ik + ik + ik - Eve - Eve;
                            if (ikk < 0)
                            {
                                ikk = -ikk;
                                jkk += w2;
                            }
                            else if (ikk > h - 1)
                            {
                                ikk = 2 * h - 2 - ikk;
                                jkk += w2;
                            }
                            if (jkk > w - 1)
                            {
                                jkk -= w;
                            }
                            Dsum += DorN[jkk, ikk];
                        }
                    }
                    c1 = bmp1.GetPixel(j, i);
                    c2 = bmp2.GetPixel(j, i);
                    double a2 = (double)Dsum / Eve2;
                    double a1 = 1 - a2;
                    cR = (byte)((double)c2.R * a1 + (double)c1.R * a2);
                    cG = (byte)((double)c2.G * a1 + (double)c1.G * a2);
                    cB = (byte)((double)c2.B * a1 + (double)c1.B * a2);
                    cA = (byte)((double)c2.A * a1 + (double)c1.A * a2);
                    c = Color.FromArgb(cA, cR, cG, cB);
                    bmp3.SetPixel(j, i, c);
                }
            }
            //
            //
            //sw.Stop();
            //MessageBox.Show(sw.Elapsed.ToString());
            //
            //
        }


次の記事へ続く。


Comment