MCPcopy Create free account
hub / github.com/ICE27182/Python-3D-renderer / __init__

Method __init__

particles.py:8–23  ·  view source on GitHub ↗
(self, density=10, position=(0, 0, 0), size=1)

Source from the content-addressed store, hash-verified

6
7class Particles:
8 def __init__(self, density=10, position=(0, 0, 0), size=1) -> None:
9 self.density = density
10 self.position = position
11 self.size = size
12 self.density_r = 1 / density
13 self.particles = [
14 [x * self.density_r + position[0], y * self.density_r + position[1], z * self.density_r + position[2],]
15 for x in range(density * size) for y in range(density * size) for z in range(density * size)
16 ]
17 for particle in self.particles:
18 particle[0] += random_table[int((particle[1] + particle[2]) * self.density) % 255] * self.density_r
19 particle[1] += random_table[int((particle[0] + particle[2]) * self.density) % 255] * self.density_r
20 particle[2] += random_table[int((particle[0] + particle[1]) * self.density) % 255] * self.density_r
21 particle[0] = (particle[0] - self.position[0]) % self.size + self.position[0]
22 particle[1] = (particle[1] - self.position[1]) % self.size + self.position[1]
23 particle[2] = (particle[2] - self.position[2]) % self.size + self.position[2]
24
25 def next_frame(self, time=0, percentage = 0.1):
26 start_index = int(len(self.particles) * random_table[time % 255])

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected