CSS3のanimationでボールの放物線運動

させてみた。

というのもトスジャグリングのシュミレータみたいなのを製作したいときに放物線の描画は必須だし試しにやってみようと思って。

HTML5canvasとかの方が正確な放物線を描けると思うけれど、
CSS3にもanimationという機能があるということなので実装してみた。

完成形がこちら。
http://onib.ninpou.jp/created/

ソースコードがこちら。

#ball {
    -webkit-animation: translate1 2s linear infinite alternate;
    background: red;
    height: 50px;
    width: 50px;
    position: absolute;
    top: 400px;
    left: 20px;      
    -webkit-border-radius: 25px;
    -moz-border-radius: 25px;
}

@-webkit-keyframes translate1{/* キーフレームの設定*/
    0% {-webkit-transform: translate(0px, 0px) scale(1.2, 0.8);}
    5% {-webkit-transform: translate(25px, -68px);} 
    10% {-webkit-transform: translate(51px, -130px);}
    15% {-webkit-transform: translate(76px, -184px);}
    20% {-webkit-transform: translate(102px, -230px);}
    25% {-webkit-transform: translate(128px, -270px);}
    30% {-webkit-transform: translate(153px, -302px);}
    35% {-webkit-transform: translate(178px, -328px);}
    40% {-webkit-transform: translate(204px, -346px);}
    45% {-webkit-transform: translate(229px, -356px);}
    50% {-webkit-transform: translate(255px, -360px);}
    55% {-webkit-transform: translate(280px, -356px);}
    60% {-webkit-transform: translate(305px, -346px);}
    65% {-webkit-transform: translate(331px, -328px);}
    70% {-webkit-transform: translate(356px, -302px);}
    75% {-webkit-transform: translate(382px, -270px);}
    80% {-webkit-transform: translate(407px, -230px);}
    85% {-webkit-transform: translate(433px, -184px);}
    90% {-webkit-transform: translate(458px, -130px);}
    95% {-webkit-transform: translate(484px, -68px);}
    100% {-webkit-transform: translate(509px, 0px) scale(1.2, 0.8);} 

放物線を20個の直線に分割したら、わりと放物線に見えた。
どのパートでどの直線を描けばいいかを指定しないといけず、その計算にはPythonで実装した下のプログラムを使った。
力学の知識を使ったのは超久々な気がする。

from math import *
v = 90.0
g = 10.0
sin = 2.0*sqrt(2.0)/3.0
cos = 1.0/3.0
t0 = 2*v*sin/g

for par in [x*5 for x in range(0,21)]:
	x = v*cos*t0*par/100.0
	y = v*sin*t0*par/100.0-(1.0/2.0)*g*pow(t0,2.0)*pow(par,2.0)/10000.0
	print par, x, y, t0*par/100.0

縦長の放物線になるように, 初期速度vの角度 \thetaは以下のように設定。
\displaystyle sin \theta = \frac{2\sqrt{2}}{3}
\displaystyle cos \theta = \frac{1}{3}

速度の大きさはなんとなく |v|= 90, 重力加速度はg = 10.0に指定してみた。

初期速度のパラメータ(角度、大きさ)をいじれば違う形の放物線になりますが、今回はこんな感じで。

CentOS上でtar.xz形式のファイルを解凍する

今ローカル開発環境の構築中で、CentOS 6.5にPythonを導入したりしています。

Python 2.7.8をwgetして, tar.xz形式のファイルをtarで展開しようとしたんだけれど

[vagrant@localhost ~]$ tar -Jxvf Python-2.7.8.tar.xz
tar (child): xz: Cannot exec: No such file or directory
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error is not recoverable: exiting now

とエラーが。
xzがインストールされていないらしい。

[vagrant@localhost ~]$ sudo yum -y install xz

なので上みたいにyumを使ってxzをインストールしたら、無事解凍できました。

めでたしめでたし。

英語で用いられるラテン文字

今現在最も解読者人口が多い文字である、ラテン文字(ローマ字)についてふと調べたくなったので調べてみました。

大学では主に文字列処理に関連した内容の研究をしているので、自然言語で用いられる文字体系について考えさせられることがしばしばあり、平仮名・片仮名・漢字・ローマ字・アラビア数字が混用される日本語の文字の種類数の多さに驚かされます。

ラテン文字は、アルファベットの一つ。
アルファベットという名前は、ギリシア文字の"α"と"β"からきているそうですが、これはギリシア人がそう呼んでいたわけではないそうです。(ちなみにギリシア人はギリシア文字のことを「フェニキア文字」と呼んでいた。)
アルファベットの定義は、ギリシア文字やラテン文字キリル文字といった「表音文字の一種で、伝統的な一定の配列順序を持った文字体系」です。
ここで注意が必要なのは、「ラテン文字 = アルファベット」ではなく、「ラテン文字 ⊂ アルファベット」ということです。

ラテン文字は大きく分けて「基本字」「追加字」の二種類がありますが、このエントリは「基本字」についてのみ触れようかと思います。
英語では、ラテン語の全ての基本字のみを使用します。

基本字

ラテン文字の基本字は次の26種です。
[]内には英語での読み方を記しています。

1 2 3 4 5 6 7 8 9
A B C D E F G H I J
a b c d e f g h i j
[eɪ] [biː] [siː] [diː] [iː] [ɛf] [dʒiː] [eɪtʃ] [aɪ] [dʒeɪ]


11 12 13 14 15 16 17 18 19 20
K L M N O P Q R S T
k l m n o p q r s t
[keɪ] [ɛl] [ɛm] [ɛn] [oʊ] [piː] [kjuː] [ɑː],[ɑɹ] [ɛs] [tiː]


21 22 23 24 25 26
U V W X Y Z
u v w x y z
[juː] [viː] [ˈdʌbljuː] [ɛks] [waɪ] [zɛd](英), [ziː](米)

これだけの限られた文字種であらゆる物事を表現可能な英語は、その文字の種類数により多種多様な表現が可能となる日本語と対照的な存在です。

「Z / z」の読み方

日本で「Z / z」は「ゼット」と読まれます。「マジンガーZ」の「Z」も「ゼット」と読みます。
ですが表の通り、「Z / z」はイギリス式英語では「ゼッド」と、アメリカ式英語では「ジィー」発音されます。
本来の英語では「ゼッド」と読まれていたものが、アメリカのなまりにより「ジィー」になったのです。
英語を話しているときに「ゼット」と発音するのは間違いのようですね。
ちなみに、世界で地名が最も短い都市とされている津市は、「Z」という地名としてギネスブックに登録されているようです。


今回は発音記号を少し用いましたが、また発音記号についても調べてみようかと思います。

CtrlキーとCapsLockキーの入れ替え(Windows 8.1)

先日, Windows8.1をゲット。
今まで使っていたWindows7ではCtrlキーとCapsLockキーを入れ替えて使っていたので, 今回も入れ替えました。

EmacsなどのキーバインドではCtrlキーを頻繁に利用するものの、Ctrlキーはホームポジションから遠い位置にあるので使いづらいものです。
なのでこのように設定することで、Ctrlキーがホームポジションに近づけます。


まずMicrosoft製の「Ctrl2Cap」を使ってみたところ、なぜかCapsLockキーと半角全角キーが入れ替わってしまう結果に。

別の手段として、レジストリエディタを使って打ち込むことにしました。
手順としては以下の通り。

  1. Windowsキー+R」で「ファイル名を指定して実行」のダイアログボックスを開く
  2. 「regedit」と入力し「OK」
  3. 「ユーザーアカウント制御」のダイアログが現れたら「はい」
  4. /HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Keyboard Layout
  5. 右クリックで「Scancode Map」という名前のバイナリ値を新規作成
  6. 以下のバイナリ値を入力

0000 00 00 00 00 00 00 00 00
0008 03 00 00 00 1d 00 3a 00
0010 3a 00 1d 00 00 00 00 00


なぜ「Ctrl2Cap」ではうまくいかなかったのか不明ですが、ひとまず設定は完了しました。

日本の祝日

先日, 日本の祝日の話を聞いて, 興味を持ったので調べてみました.
今現在, 日本の法律で定められている祝日を下表にまとめます.

名称備考
1月 1日元旦 ・1948~
・New Years Day
四方節:年初の慣習
第二月曜日成人の日 ・ハッピーマンデー制度の影響下
小正月
2月 政令で定める日
(11日)
建国記念の日 ・1966~
紀元節
 神武天皇の即位日(『日本書紀』)
3月 春分春分の日 ・1948~
・昼と夜の長さがほぼ同じ
4月 29日昭和の日 天皇誕生日(1948)
みどりの日(1989)
→ 昭和の日(2005-07)
5月 3日憲法記念日 ・1948~
日本国憲法の施行日
4日みどりの日 ・昭和の日からの移動(2007)
昭和天皇の植物への造詣
・国民の休日
5日こどもの日 ・1948~
端午の節句
6月なし
7月第三月曜日海の日 ・ハッピーマンデー制度の影響下
・海の記念日(1941)
8月なし
9月第三月曜日敬老の日 ・ハッピーマンデー制度の影響下
・としよりの日(1947)
秋分秋分の日 ・1948~
・昼と夜の長さがほぼ同じ
10月第二月曜日体育の日 ・ハッピーマンデー制度の影響下
東京オリンピックの開会式(1964)
11月3日文化の日 ・1948~
明治節明治天皇の誕生日
23日勤労感謝の日 ・1948~
新嘗祭:五穀の収穫を祝う
12月23日天皇誕生日 ・1989(平成元年)~
今上天皇の誕生日を祝う

全部で15日.
また, 連休を増やすために「振替休日」, 「ハッピーマンデー制度」, 「国民の休日」という制度があります. それらについても調べてみました. 「国民の休日」という制度の存在がなんか面白い.

振替休日

  • 祝日が日曜日の場合, その翌日の月曜日は休日(1973)
  • 連続する祝日のうちのどれか1日が日曜日と重なった場合, 最後の祝日の翌日は休日(2005-07)
    • 月曜日以外の振替休日が初めて発生

ハッピーマンデー制度

  • 国民の祝日の一部を月曜日に固定するようにした法改正(2000-03)
  • 週休2日制の広まりから, 連休の増加
  • 成人の日・海の日敬老の日・体育の日に適用

国民の休日

  • 2つの祝日に1日挟まれた平日は休日(1985)
    • 5月4日のみが国民の休日に
  • 国民の休日の誕生の経緯となった5月4日が正式な祝日になる(2007)
    • 国民の休日が毎年存在することはなくなる
    • 9月22日が国民の休日となった(2009)
      • 敬老の日秋分の日に挟まれたため
      • シルバーウィークがたまに出現


「国民の休日」として, 祝日と祝日の間の1日だけの平日をなくしてくれるのは嬉しい. けど, ほとんど5月4日にしか意義がなかったのに, それを正式な祝日にしてしまったから, たまにしか意味を持たない制度になってしまってるのが勿体ないような. これからまた法改正されるんですかね.


今日は成人の日ですね.
全国の新成人のみなさん, おめでとうございます.

新年

新年あけましておめでとうございます。

2014年、初めての記事です。
昨日の記事で書いたように、今年の豊富を書き残しておこうと思います。

今年の抱負

『頭を使って生きる』

兎に角、これですね。
いつでも、どこでも、何をしていても。


2013年、尊敬できる人達に会って、思いました。
いつまでもだらだらした生活を送っていたら、かっこ良くなれないなと。


この1年で全てが変わるとは思えません。
ですが、今年は否が応でも、研究や就活の準備などで社会的な経験を積みます。
それに、もっと尊敬できる人に出会うかもしれません。
そういった経験を積む中で、生き方も学んで、取り入れていこうと思います。
そうして少しずつでも、変えていけたい。


どんなに貴重な経験をしても、その後に頭を使わなかったら、活かしきれない。
いつまでも甘えてしまう。
そういうのはもうやめよう。
そういった思いも含め、今年の抱負はこれにしました。


以上です。
今年も迷惑をかけるかもしれませんが、何卒よろしくお願いします。

My 2013

気がつけば、もう年の瀬。

去年の2012年は、変化の多い1年でした。
ジャグリングを始めた時に目標としていた舞台に出演。
それからジャグリング仲間が増え、ジャグリングを続ける意義や人生観が変わりました。

その延長線上で迎えたのが今年、2013年でした。
僕にとっての今年1年を振り返って、簡単にまとめてみます。

環境の変化

研究室配属

特別研究のため研究室に配属されました。例年4月にB4が研究室に配属されるのですが、今年は施設の工事の関係で、5月に配属先が決まりました。

研究室というものに配属されて、大学に入学してから初めて(研究に向き合うようになったから)学生らしい生活をできているように思います。何かと、興味を持つ対象が多くなりました。

バイト

中学生と高校生の勉強の手助けをするバイトを始めました。家庭教師以外のバイトを始めたのは初めてです。先日も記事を書きましたが、教えるって難しいですね。教職員の立場、社会人が働くということを垣間見ることができて貴重です。

環境が変わると、価値観も広がって行きますね。

抱負は達成できたか

その時に抱負としていたのは、「生活力を上げる」ということ。一人暮らしをしているのですが、今まで生活面に対する知恵が軽薄だったので、もっと意識して生活しようとしていました。

まだ自信が持てない部分が多いですが、知恵は増えているはず。こういうのってどうしたら自信を持てるものなんでしょう。日々の積み重ねでしょうか…?やっぱりまだ、忙しい時はどうしても外食で済ませてしまいますが、朝食も軽めのものを作ったりはするようにしています。

あと暇な日は映画を見て過ごすようになりました。話のネタにもなるし、映画っていいですね。

来年もこの調子で意識した生活を送りたい。

進路の迷い

就職

(僕は一浪なので)就活が始まったばかりの高校の同級生2人と、昨日3人で飲みながら、11時間くらい話していました。2人とも京都でM1をやっているんですが、なかなか会う機会もないので、偶に会うと話し込んでしまう…。

自分も将来のことをもう少し考えておきたい。これから10年で何が起こるか分からないし、安定なんてできるかどうか。時間のある今のうちにもっと、自分が何をしたいのか具体的に考えて臨みたいなあ。

資格

普通車免許

本来ならもっと早く取るべきだっただろうけれど、この8月末にやっとGET。…といっても運転する機会もなく、早速、ペーパードライバーに。運転自体は楽しく思うので、車を手に入れたら運転して、いろんな場所へ行きたいです。

基本情報技術者

とりあえずとっておきました。来年はもっとレベルの高い、情報処理試験の資格を取りたいです。簿記とか、危険物取扱者とかも時間があれば取りたい。

ジャグリング

去年はポイ以外のジャグリング道具が楽しかったんですが、今年はポイが楽しかった。というのも、周りが上手くなってきた。来年以降はもっと、上手いポイスピナーが増えそうなので楽しみです。

Cyrille Human

僕が3年前にYoutubeで動画を見て以来、最も尊敬していたと言っても過言ではないポイスピナーに会えました。Cyrille Humanが来日したのは僕の大学生生活の中で一番の衝撃でした。サインももらえたし、飽きるくらい会えた。

ジャグリングという趣味に出会えたのは、本当によかった。これからもしばらくは続けるつもりです。


以上、僕の2013年を要素ごとに、簡単に振り返って見ました。

来年がどんな1年になるか、楽しみです。
来年の豊富は、次の記事で書いてみようかと思います。


今年1年、ありがとうございました。
来年も何卒、よろしくお願いします。