トップ «前の日記(17-November-2021) 最新 次の日記(19-November-2021)» 編集

つれづれなるままに

これまでの訪問者人
本日の訪問者人  昨日の訪問者人
月齢20.7

AI | AIきりたん | Ast | Beat Saber | CeVIO | Cn | cover | de | Emacs | En | Es | fr | git | html | iPad | It | Just Dance | misc | MMD | MV | NEUTRINO | OVA | PC | PV | Ru | SF | SKK | stable diffusion | SynthesizerV | tDiary | Th | Vocaloid | VRC | VRChat MMD | Vsinger | Vtuber | was | YuNi | お茶 | アニメ | アメリカ | イラスト | オカリナ | カゲプロ | キズナアイ | テレビ | ノベル | ノーベル賞 | ビートセイバー | フィートセイバー | フランス | ラズパイ | ラノベ | 万葉語 | 世界 | 中国 | 予定 | 即売会 | 台湾 | 台風 | 合成してみた | 同人 | 地震 | 宇宙 | 家電 | 展示 | 描いてみた | 政治 | 旅行 | 日記 | 映画 | 時事 | 書道 | 歌ってみた | 歴史 | 海外 | 演奏してみた | 漫画 | 特撮 | 科学 | 英国 | 訃報 | 語学 | 踊ってみた | 陶笛 | 障害 | 音楽 | 飲み |

18-November-2021 みゃう [長年日記]

_ [アニメ] takt op.Destiny

段々と人間っぽくなってく運命ですが、アンナはむしろコゼットが遠くに行ってしまう感じがしてしまって、それでいっしょに行動する頻度が減っていたのですね。

タクトについての話は結構山場となりましたが、この世界の秘密についてはあまり語られていない状況で、これ1クールで終わるのかなぁ。

今期、そういうのが多いよなぁ。

_ [アニメ] 世界最高の暗殺者、異世界貴族に転生する

ルーグ・トウアハーデとしてではなく、商人イルグ・バロールとして活躍するのでした。

それで、ディアのところには月に一度詣でていたのね。

_ [Vtuber][cover] 絶刀・天羽々斬 (Zettou Ame no Habakiri) - 風鳴翼(水樹奈々) // covered by 道明寺ここあ

RIOT MUSIC の 道明寺ここあ のカヴァー。

シンフォギアの曲みたいです。

この人シンフォギア好きだよなぁ。ロボット物とかヒーロー物とかそういうのの曲のカヴァーも多いし。

_ [Vtuber][cover] 【歌ってみた】チチンプイプイ- Covered by 獅子神レオナ 【真島ゆろ】

獅子神レオナのカヴァー。

「みんな社会不適合」って、なんて曲だ。

まぁ、そういう曲多いですよね。

_ [Vtuber][cover] 海色 - AKINO from bless4 ( Cover ) / VESPERBELL ヨミ

VESPERBELL の ヨミ によるカヴァー。

艦これのOP海色ですね。

こういうかっこいい歌を歌わせるとピカ一なのでした。

_ [科学][PC] モンテカルロで円周率

ものすごく単純な話ですが、乱数を使って円周率を概算することができます。

1辺が1の正方形に内接する円は半径0.5となるので、その面積は $S=\pi r^2 = 0.25\times\pi$ となります。

正方形の中に一様な乱数 $N$ 個を発生させると、正方形と円の面積の比が $1:0.25\pi$ になることから、円の中に入る点の数 $n$ は $1:0.25\pi = N:n$ となることから $\pi= n/N/0.25$ になります。

実際には円周率は無理数だから整数の割り算では得られないし、計算機の乱数は本当の乱数ではないので、現実の円周率の値にはならないですが、概算値ぐらいは出るはずです。

乱数の生成器として、よく知られている乱雑さの大きい手法であるメルセンヌツイスターを使った場合の例を考えてみましょう。

#include <random>
#include <cmath>
#include <stdio.h>

int main(){
	std::random_device rnd;
	std::mt19937_64 mt(rnd());
	std::uniform_real_distribution<> rand(0.0,1.0);
	long long int count=0;
	long long int total=10000000000;
	for(long long int i=0;i<total;i++){
		double x=rand(mt)-0.5;
		double y=rand(mt)-0.5;
		if(sqrt(x*x+y*y)<=0.5){
			count++;
		}
	}
	double c=(double)count;
	double ttl=(double)total;
	double pi=c/ttl*4.0;
	printf("%22.14f\n",pi);
}

コンパイルして実行してみます。

$ g++ pi.cpp
$ time ./a.exe
     3.14158514000000

real    10m52.218s
user    0m0.000s
sys     0m0.016s

12世代のcore i7 ですがさすがに10分も計算がかかっていますが、それでもそんなに精度が良くなさそうですね ^^;;

円周率の計算方法としては効率が良くないし、しかも精度が無いので、まぁ、モンテカルロの練習課題ぐらいにしかならないんですよねぇ………。

変数の型として適切なものを使ってないというのもあるとは思いますけどね。

Fortran版のメルセンヌツイスターを使ってみようと思ったのですがうまくコンパイルできなかった。


【PR】ブログへ記事を投稿して報酬ゲット!アフィリエイトのA8.net