molekül bug gefixxt
This commit is contained in:
@@ -83,15 +83,15 @@ func obstacleReflect(particlePos rl.Vector2, particleSpeed *rl.Vector2, obstacle
|
|||||||
|
|
||||||
func physics(particleList *[MAXPOINTS]rl.Vector2, particleCount int, particleListKey *sync.Mutex, obstacles *([MAXOBSTACLES](*quad)), particleRadius *float32, obstacleCount *int) {
|
func physics(particleList *[MAXPOINTS]rl.Vector2, particleCount int, particleListKey *sync.Mutex, obstacles *([MAXOBSTACLES](*quad)), particleRadius *float32, obstacleCount *int) {
|
||||||
var particleSpeed = [MAXPOINTS]rl.Vector2{{0, -300}} //pixel pro Sekunde
|
var particleSpeed = [MAXPOINTS]rl.Vector2{{0, -300}} //pixel pro Sekunde
|
||||||
var timeIncrement float64 = 0.01
|
var timeIncrement float64 = 0.03
|
||||||
var gravity rl.Vector2 = rl.Vector2{0, 300}
|
var gravity rl.Vector2 = rl.Vector2{0, 0 * 300}
|
||||||
var newParticleList [MAXPOINTS]rl.Vector2
|
var newParticleList [MAXPOINTS]rl.Vector2
|
||||||
var newParticleSpeed [MAXPOINTS]rl.Vector2
|
var newParticleSpeed [MAXPOINTS]rl.Vector2
|
||||||
var particleFriction float32 = 0.85
|
var particleFriction float32 = 0.85
|
||||||
var particleLadung int = -1
|
var particleLadung int = -1
|
||||||
var masse float32 = 0.1
|
var masse float32 = 0.1
|
||||||
var electrostaticRange float32 = 50 //range wiie weit die kraftwirkung ist
|
var electrostaticRange float32 = 50 //range wiie weit die kraftwirkung ist
|
||||||
var electroStrength float32 = 5000
|
var electroStrength float32 = 4000
|
||||||
|
|
||||||
for j := float64(0); j < 50; {
|
for j := float64(0); j < 50; {
|
||||||
var startTime time.Time = time.Now()
|
var startTime time.Time = time.Now()
|
||||||
@@ -125,10 +125,10 @@ func physics(particleList *[MAXPOINTS]rl.Vector2, particleCount int, particleLis
|
|||||||
overlap := minDist - dist
|
overlap := minDist - dist
|
||||||
currentPositions[i] = rl.Vector2Add(currentPositions[i], rl.Vector2Scale(colNormal, overlap*0.5))
|
currentPositions[i] = rl.Vector2Add(currentPositions[i], rl.Vector2Scale(colNormal, overlap*0.5))
|
||||||
|
|
||||||
particleSpeed[i] = rl.Vector2Scale(rl.Vector2Reflect(particleSpeed[i], colNormal), particleFriction)
|
particleSpeed[i] = rl.Vector2Add(rl.Vector2Scale(rl.Vector2Reflect(particleSpeed[i], colNormal), particleFriction), rl.Vector2Scale(colNormal, 12))
|
||||||
}
|
}
|
||||||
if dist < electrostaticRange {
|
if dist < electrostaticRange {
|
||||||
var tempForce rl.Vector2 = rl.Vector2Scale(diff, float32(particleLadung)*(electroStrength/(dist*dist*dist)))
|
var tempForce rl.Vector2 = rl.Vector2Scale(diff, -float32(particleLadung)*(electroStrength/(dist*dist*dist)))
|
||||||
electroForce = rl.Vector2Add(electroForce, tempForce)
|
electroForce = rl.Vector2Add(electroForce, tempForce)
|
||||||
}
|
}
|
||||||
newParticleSpeed[i] = rl.Vector2Add(
|
newParticleSpeed[i] = rl.Vector2Add(
|
||||||
|
|||||||
Reference in New Issue
Block a user