diff options
author | Rosyid Haryadi <rosyid_haryadi@protonmail.com> | 2023-12-21 10:35:40 +0700 |
---|---|---|
committer | Rosyid Haryadi <rosyid_haryadi@protonmail.com> | 2023-12-21 10:35:40 +0700 |
commit | c1d8c59373812fc7f1a6d7cde0eb2fad429f54ef (patch) | |
tree | 161ae6a6778809aab07e5d2a2c53b340512e4998 | |
parent | fe8dbcd2361ee220cbfa9e4723d717c2059f9554 (diff) |
fix clamp value
-rw-r--r-- | src/main.c | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -119,12 +119,13 @@ void InitializeVectorField(VectorField *vectorField, int colSize, int rowSize) { } void doUpdate(VectorField *vectorField, Object *object) { + float k = 5000.0f; float dt = GetFrameTime(); for (int i = 0; i < vectorField->rowSize; i++) { for (int j = 0; j < vectorField->colSize; j++) { Vector2 distanceVector = Vector2Subtract(vectorField->lines[i][j].start, (Vector2){object->posX, object->posY}); - float fieldStrength = object->charge / Vector2LengthSqr(distanceVector); - float vectorLineMag = fmaxf(10.0f, fieldStrength); + float fieldStrength = k * object->charge / Vector2LengthSqr(distanceVector); + float vectorLineMag = Clamp(fieldStrength, 2.0f, 20.0f); Vector2 directionVector = Vector2Scale(distanceVector, vectorLineMag / Vector2Length(distanceVector)); vectorField->lines[i][j].end = Vector2Add(vectorField->lines[i][j].start, directionVector); } |