主な質問:
私は小さなレイトレーシングコードを書きました。これはフォワードレイトレーシングと呼ばれるため、光線は実際に光源で作成され、唯一のミラーに移動して反射されます。続いて、各光線と選択した平面との交点を計算します。これを検出器と呼びます。そして、私が検出器に乗って、各ヒットをピクセルとして印刷するのは、(x、y)の散布図です。このように:
import matplotlib.pyplot as plt
import numpy as np
import random
x = np.zeros(1000)
y = np.zeros(1000)
for i in range(len(x)):
x[i] = random.random()
y[i] = random.random()
plt.plot(x,y,'k,')
plt.show()
今、私はヒットの密度分布(強度)をこのような滑らかな画像として表現する方法を探しています。
したがって、各ピクセルのグレースケールは、周囲のパッチの密度に対応している必要があります。しかし、私が必要としているように見えるものはすべて、z = f(x、y)のような3d配列用です。
hexbin()も試しましたが、十分にスムーズではなく、非常に小さいビンの場合は遅くなりすぎて、とにかく私が持っているものに似ているだけです。
だから私が使用できるものはありますか?
二次質問:
入射光線の平行度に興味があるので、どういうわけか別の次元を追加する必要があります。1つのオプションは、次のように定義することです。
- a + a * bを計算します。ここで、
a=入射光線と検出器の法線の間の角度
b =入射光線とyz平面の間の角度(光線はこの平面にほぼ平行に移動します)
この量の平均値
各ヒットの平均値からの偏差
グレースケールに色を追加することで、これらの情報の両方を1つのプロットに組み込むことを考えました。これは実行可能ですか?
私はプログラミングに不慣れです。ヒント、説明、または代替案をいただければ幸いです。