hi so I'm trying my hand in perlin and for the most part it works perfectly but sometimes it'll have this weird and insane jumps which make the mountains look terrible
xpix = 3840
def noisegen(weight):
wave = []
noise1 = PerlinNoise(octaves=3)
noise2 = PerlinNoise(octaves=6)
noise3 = PerlinNoise(octaves=12)
noise4 = PerlinNoise(octaves=24)
for i in range(xpix):
noise_val = noise1([i / xpix])
noise_val += 0.5 * noise2([i / xpix])
noise_val += 0.25 * noise3([i / xpix])
noise_val += 0.125 * noise4([i / xpix])
# Scale the noise value to fit within the range of a sine wave
scaled_val = (noise_val + 1) / 2 # Scale to [0, 1] range
scaled_val *= weight * 3.14159 # Scale to [0, 2*pi] range
sin_val =scaled_val
sin_val=int(str(sin_val).replace('.', '')[:3])
wave.append(sin_val)
print(sin_val,scaled_val,round(scaled_val))
return wave
wave3=noisegen(5)
and what it prints is
379 3.797148242731564 4
380 3.801569785571575 4
380 3.805958758643142 4
381 3.8103139327684117 4
381 3.8146341547567983 4
381 3.818918352702095 4
382 3.8231655413806434 4
382 3.827374827750552 4
383 3.831545416551955 4
383 3.8356766160083082 4
383 3.839767843628782 4
384 3.8438186321116414 4
384 3.8478286353487268 4
385 3.8517976345309455 4
385 3.855725544354846 4
385 3.8596124193302086 4
386 3.8634584601887205 4
386 3.867264020393657 4
387 3.8710296127506623 4
387 3.8747559161195397 4
387 3.878443782227103 4
388 3.8820942425810814 4
388 3.8857085154850783 4
388 3.889288013154568 4
389 3.8928343489339317 4
389 3.8963493446145843 4
389 3.8998350378540976 4
390 3.903293689696419 4
390 3.906727792193098 4
391 3.910140076125602 4
391 3.913533518828646 4
391 3.9169113521146026 4
392 3.9202770702989254 4
392 3.923634438326665 4
785 7.853975 8
just this weird huge jump to 8