Main Code
							parent
							
								
									bf7df81e22
								
							
						
					
					
						commit
						bb2ae96e95
					
				| 
						 | 
				
			
			@ -0,0 +1,35 @@
 | 
			
		|||
import numpy as np
 | 
			
		||||
 | 
			
		||||
rng = np.random.default_rng()
 | 
			
		||||
 | 
			
		||||
x_dim = 7
 | 
			
		||||
y_dim = 7.3
 | 
			
		||||
 | 
			
		||||
d = 20.6 - 6.8 - 7 - 2.5
 | 
			
		||||
 | 
			
		||||
def generate_ray():
 | 
			
		||||
    x_start = rng.uniform(0, x_dim)
 | 
			
		||||
    y_start = rng.uniform(0, y_dim)
 | 
			
		||||
 | 
			
		||||
    phi = rng.uniform(0, 1) * 2 * np.pi
 | 
			
		||||
    theta = np.arccos(np.sqrt(rng.uniform(0, 1)))
 | 
			
		||||
 | 
			
		||||
    x_final = x_start + np.cos(phi) * d * np.tan(theta)
 | 
			
		||||
    y_final = y_start + np.sin(phi) * d * np.tan(theta)
 | 
			
		||||
 | 
			
		||||
    return (0 <= x_final and x_dim >= x_final and 0 <= y_final and y_dim >= y_final)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
num = 1000000
 | 
			
		||||
 | 
			
		||||
count_in = 0 
 | 
			
		||||
 | 
			
		||||
for i in range(num):
 | 
			
		||||
    if generate_ray():
 | 
			
		||||
        count_in += 1
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
print(count_in)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue