仮想計算機構

IT業界と無縁な派遣社員のブログ

2021-01-01から1年間の記事一覧

manimでドラえもんを描く

はじめに manim の練習としてキャラクターの描画を行います。 環境 OS : Windows 10 Python : 3.7.6 Manim Community : 0.13.0 プログラム from manim import * import math class Manimemon(Scene): def construct(self): # face blue_face = Circle(color=…

「PythonとJavaScriptではじめるデータビジュアライゼーション」3.6.5 の freeze について

発生したエラー datasetというモジュールの利用する際のエラーについて。SQLクエリの結果をCSVに変換・保存する際に freeze を利用します。書籍P66における例でいうと dataset.freeze(winners, format='csv', filename='data/nobel_winners_ds.csv') という…

【パタヘネ】【Python】乗算ハードウェアの第1のバージョンのシミュレーション

乗算ハードウェアのシミュレーション パタヘネ(上)図 3.3 計算のハードウェアで乗算を実行した場合のレジスタの変化を表示するプログラムを作成しました。乗数の対象は6ビット符号なし整数です。例えばという乗算においては2が被乗数、3が乗数、6が積になり…

Windows環境 で openFrameworks をインストールして動かしてみる

C++

0.筆者の環境 OS : Windows 10 CPU : Intel Core i5 2.60GHz IDE : Visual Studio Community 2019 Version 16.8.4 1.インストール 1.1 ダウンロード 以下のサイトからダウンロードします。 筆者の環境はVS2019ですが、Visual Studio 2017 を選択します。ダウ…

【Python】ニュートンフラクタルの可視化

wikiの疑似コードを参考に実装します。 プログラム import numpy as np import cv2 Px,Py = 360,420 img = np.zeros((Px, Py,3), np.uint8) roots = [1+0j,-0.5+np.sqrt(3)/2j, -0.5-np.sqrt(3)/2j] r_hsv = cv2.cvtColor(np.uint8([[[255,0,0]]]),cv2.COLOR…

【Python】Lyapunovフラクタル

wikiの例を再現します。 繰り返し列:AB プログラム import numpy as np import cv2 b_hsv = cv2.cvtColor(np.uint8([[[255,0,0]]]),cv2.COLOR_RGB2HSV)[0][0] Px,Py = 360,360 s = [0,1] # AB S = [] # 周期列 M = int(Px*Py/len(s))+1 for i in range(M): S…

【Python】反復関数系の例

Sierpinskiの三角形 プログラム 実行結果 Barnsleyのシダ プログラム 実行結果 Koch曲線 プログラム 実行結果 Levy C曲線 プログラム 実行結果 参考 Sierpinskiの三角形 シェルピンスキーのギャスケット - Wikipedia プログラム import numpy as np import m…

Twitterでみかけた素数の一般項を計算してみる

「素数に一般項はない!」と主張する人をまれに見かけますが、それは嘘です。画像の式に好きな整数nを代入すると、n番目の素数が得られます。 pic.twitter.com/GF6hCJDVuF— 数学を愛する会 (@mathlava) June 6, 2021 面白そうだったので計算してみました。 …

PythonによるN体シミュレーション

はじめに N体シミュレーションを行いました。 初期値等は以下の情報を参考にしています。 Create Your Own N-body Simulation (With Python) | by Philip Mocz | The Startup | Medium nbody-python/nbody.py at master · pmocz/nbody-python · GitHub 上記…

Evoloop : 自己解消機能をもった増殖ループ

はじめに 準備 準備その1:変換規則 準備その2:Canvasによるアニメーション デモ 参考 実装 動画ツール はじめに いままで作っているもの。 CanvasによるLangton's Loops - 仮想計算機構 Tempesti loop:自己複製しながら文字を描くセルオートマトン - 仮…

電気力線みたいな線を描画する

SageMath を用いて電磁気学などで使われる概念についてプロットしてみます。物理学的な厳密性は投げ出しているので差し引いて読んでください。まず、電荷をA~Dと名付け、位置を xs に、電荷の値を qs に格納しておきます。 A = vector([0,0]) B = vector([5,…

極限としてデルタ関数が得られるもの

原島鮮『初等量子力学』10.2 より 連続関数がデルタ関数へ接近していく様子を可視化します。 ツールは SageShell を使います。 その1 sage: l = [plot(sin(a*x)/pi/x,(x,-15,15))+text("$a={}$".format(a),(15*0.7,a/pi*0.8),fontsize=20, bounding_box={'b…

ラザフォード散乱における粒子の軌道【SageMath】【Python】

小出昭一郎『量子力学(Ⅰ)』の 5.2 を参考にラザフォード散乱における粒子の軌道を可視化します。用いる変数を次のように定義します。 は以下の関係を満たします。 ここで は で定義されます。ほかの記号の意味については、下記のとおりです。真空の誘電率…

SageMathでラゲールの陪多項式を実装する【SageMath】【Python】

以前、Sageを使ってラゲール多項式を実装しました。プログラムを再掲します。 x = var('x') def L_k(x,k): f = x^k*exp(-x) for i in range(k): f = derivative(f,x) return exp(x)*f ラゲール多項式 に対し、陪多項式はで定義されるので、ラゲール多項式の…

SageMathでラゲール多項式を作ってみる【Sage】【Python】

ラゲール多項式は以下で定義されます。SageShellを起動して、関数L_kを定義します。 x = var('x') def L_k(x,k): f = x^k*exp(-x) for i in range(k): f = derivative(f,x) return exp(x)*f 上で定義した関数は任意の k に対して、多項式を計算してくれます…

球面調和関数の可視化【SageMath】【Python】

球面調和関数 の可視化を行います。量子力学でいうと l は方位量子数、m は磁気量子数になります。用いる式は以下のとおりです。自明ですが、r が定数の場合は球面となります。 l=3,m=1 SageShell を起動し、以下のとおり入力します。 sage: phi,theta = var…