update: save ram by trace ray one by one
This commit is contained in:
@@ -18,7 +18,7 @@ r = 1
|
|||||||
# disk = Disk(center, r, n)
|
# disk = Disk(center, r, n)
|
||||||
N = 100000
|
N = 100000
|
||||||
min_intensity = 0.00001
|
min_intensity = 0.00001
|
||||||
max_ray = 100*N
|
max_ray = 100
|
||||||
|
|
||||||
stack = []
|
stack = []
|
||||||
result = []
|
result = []
|
||||||
@@ -109,11 +109,11 @@ def modified_trace(wavelength, temp, center, r, N, n_theta, d_theta, min_intensi
|
|||||||
n = water_refraction_index(temp, wavelength)
|
n = water_refraction_index(temp, wavelength)
|
||||||
disk = Disk(center, r, n)
|
disk = Disk(center, r, n)
|
||||||
stack = []
|
stack = []
|
||||||
for u in np.linspace(0, 1, N, endpoint=False):
|
|
||||||
stack.append(Ray([r*np.sqrt(u), 2*r], [0,-1], 1))
|
|
||||||
ray_count = 0
|
|
||||||
XYZ = colorspace.wavelength2XYZ(wavelength)*sun_spectral(wavelength)
|
XYZ = colorspace.wavelength2XYZ(wavelength)*sun_spectral(wavelength)
|
||||||
own_angle_XYZ = np.zeros((n_theta, 3))
|
own_angle_XYZ = np.zeros((n_theta, 3))
|
||||||
|
for u in np.linspace(0, 1, N, endpoint=False):
|
||||||
|
stack=[Ray([r*np.sqrt(u), 2*r], [0,-1], 1)]
|
||||||
|
ray_count = 0
|
||||||
while stack and ray_count < max_ray:
|
while stack and ray_count < max_ray:
|
||||||
ray = stack.pop()
|
ray = stack.pop()
|
||||||
ray_count += 1
|
ray_count += 1
|
||||||
|
|||||||
Reference in New Issue
Block a user