流れに従ひて己を失はず.

日々の研究について書きます

Python

庵野秀明監督のカメラを追う

タイトルの通りです.以下のツイートにある,庵野監督によるカメラの動きを再現していきたいと思います.【制作こぼれ話】イメージしている実写の手持ち風カメラワークを表現するため参考にすべく、モニター画面を総監督自らiphoneで撮影。これらから、一番…

点と直線の距離計算

メモ def line_point_dist(line_p1,line_p2,point): #line_p1:直線上の一点 #line_p2:直線上の一点 #point:距離を計算したい点 u = np.array([line_p2[0] - line_p1[0], line_p2[1] - line_p1[1]]) v = np.array([point[0] - line_p1[0], point[1] - line_p1…

ScipyのLevenberg-Marquardt法で大域的最適解に落ちるか試した(だけ)

scipy.optimize.least_squaresライブラリを使ってLevenberg-Marquardt法を試しました.局所最適解はx=8, 大域的最適解はx=2. 深い考察はありません. from scipy.optimize import least_squares import numpy as np from matplotlib import pylab as plt ###…

ベクトル正規化(3次元)の速度比較

np.linalg.norm()を使うと遅い. 二乗和はぐりぐり計算して,平方根はmath.sqrt()を使うのが良い. という話. np.linalg.norm()を使うのと,np.dot()を使うのと,math.sqrt()を使うのと,愚直に計算するのではどれが一番速いか比べた.ライブラリインポート…

スネルの法則を使って屈折方向の計算

スネルの法則で3次元空間上の屈折方向ベクトルを求めるのをPythonで実装. ベクトルで解く各要素の関係は以下.ただし各ベクトルの大きさを1とする. 入射ベクトル: 法線ベクトル: 出射ベクトル(これを求める): 入射角: 出射角(これもわかってない): 入…

SymPyでの幾何計算速度

pythonのライブラリであるSymPyを使って幾何計算をやるととても遅いという話.以下は2直線の交点導出を100セット解いた例. SymPyを使った場合とベクトルで解いた場合の比較.10^3オーダーで変わってくる.SymPyを使った場合 import numpy as np import symp…

pythonのmultiprocessingで複数引数複数戻値を並列処理

毎回忘れるのでメモ.pythonで複数引数をとって,複数戻値しかも配列を返す処理を並列で行う.参考: https://qiita.com/wikipediia/items/2919362de582a7d8de9e import time import numpy as np import os from multiprocessing import Pool #総スレッド数の…

深夜の馬鹿力で出題された問題を解く

TBSラジオの超人気番組,月曜JUNK伊集院光深夜の馬鹿力の「少しおもしろい」のコーナーで気になる投稿があった. 【問題】 都道府県の最初の漢字だけで表すことのできる(多分)唯一の芸能人は長島三奈 (月曜JUNK伊集院光深夜の馬鹿力 20181224深夜放送分より)…

plt.xlim()が効かないときのメモ

matplotlibで軸の範囲を指定しているのにうまく描画できないときのメモ. t = np.linspace(0,2*np.pi,100) x = 2.0*np.cos(t) y = 2.0*np.sin(t) plt.figure() plt.axis('equal') plt.plot(x, y) plt.xlabel("x") plt.ylabel("y") plt.xlim([-5,5]) plt.ylim…