anziehkraft umgekehrt und arena umgebaut

This commit is contained in:
any
2026-05-10 23:30:16 +02:00
parent b628af625d
commit 94b3bb195c
+10 -10
View File
@@ -19,7 +19,7 @@ type quad struct {
} }
func spawnParticlesAsGrid(particleWidth float32, particleHeight float32, particleColumnCount int, particleRowCount int, particleList *[MAXPOINTS]rl.Vector2) { func spawnParticlesAsGrid(particleWidth float32, particleHeight float32, particleColumnCount int, particleRowCount int, particleList *[MAXPOINTS]rl.Vector2) {
var particleLeftCornerPos rl.Vector2 = rl.Vector2{500, 200} var particleLeftCornerPos rl.Vector2 = rl.Vector2{200, 100}
for y := 0; y < (particleColumnCount); y++ { for y := 0; y < (particleColumnCount); y++ {
for x := 0; x < particleRowCount; x++ { for x := 0; x < particleRowCount; x++ {
@@ -89,9 +89,9 @@ func physics(particleList *[MAXPOINTS]rl.Vector2, particleCount int, particleLis
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 = 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 = 500000 var electroStrength float32 = 5000
for j := float64(0); j < 50; { for j := float64(0); j < 50; {
var startTime time.Time = time.Now() var startTime time.Time = time.Now()
@@ -128,7 +128,7 @@ func physics(particleList *[MAXPOINTS]rl.Vector2, particleCount int, particleLis
particleSpeed[i] = rl.Vector2Scale(rl.Vector2Reflect(particleSpeed[i], colNormal), particleFriction) particleSpeed[i] = rl.Vector2Scale(rl.Vector2Reflect(particleSpeed[i], colNormal), particleFriction)
} }
if dist < electrostaticRange { if dist < electrostaticRange {
var tempForce rl.Vector2 = rl.Vector2Scale(diff, float32(particleLadung)*(electroStrength/(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(
@@ -182,10 +182,10 @@ func main() {
rl.EndDrawing() rl.EndDrawing()
var particleWidth float32 = 300 var particleWidth float32 = 700
var particleHeight float32 = 300 var particleHeight float32 = 500
var particleColumnCount int = 20 var particleColumnCount int = 40
var particleRowCount int = 20 var particleRowCount int = 40
var particleCount int = particleRowCount * particleColumnCount var particleCount int = particleRowCount * particleColumnCount
var particleRadius float32 = 5 var particleRadius float32 = 5
var particleColor rl.Color = rl.Black var particleColor rl.Color = rl.Black
@@ -202,10 +202,10 @@ func main() {
var obstacles = [MAXOBSTACLES]*quad{} var obstacles = [MAXOBSTACLES]*quad{}
obstacles[0] = &floor obstacles[0] = &floor
obstacleCount++ obstacleCount++
var hillLeft quad = createRectangle(rl.Vector2{500, 700}, 1200, 100, PI/6) var hillLeft quad = createRectangle(rl.Vector2{0, 500}, 1200, 100, PI/2)
obstacles[1] = &hillLeft obstacles[1] = &hillLeft
obstacleCount++ obstacleCount++
var hillRight quad = createRectangle(rl.Vector2{700, 700}, 1200, 100, -PI/6) var hillRight quad = createRectangle(rl.Vector2{1200, 500}, 1200, 100, -PI/2)
obstacles[2] = &hillRight obstacles[2] = &hillRight
obstacleCount++ obstacleCount++