changed vector field slightly

This commit is contained in:
Lauchmelder 2021-12-09 22:24:58 +01:00
parent 30e130d123
commit 3b25635c19
2 changed files with 9 additions and 7 deletions

View file

@ -37,7 +37,7 @@ Application::Application(int width, int height, const char* title)
// Construct dummy velocity field // Construct dummy velocity field
// TODO: Remove eventually // TODO: Remove eventually
int fieldSize = 49; int fieldSize = 39;
double curl1 = -1.0; double curl1 = -1.0;
double curl2 = 1.0; double curl2 = 1.0;
std::vector<double> hori(fieldSize * fieldSize); std::vector<double> hori(fieldSize * fieldSize);
@ -51,15 +51,17 @@ Application::Application(int width, int height, const char* title)
double realX = -2.0 + (4.0 / (double)fieldSize) * (double)x; double realX = -2.0 + (4.0 / (double)fieldSize) * (double)x;
double realY = -2.0 + (4.0 / (double)fieldSize) * (double)y; double realY = -2.0 + (4.0 / (double)fieldSize) * (double)y;
// hori[y * fieldSize + x] = (realY + 1.0) / sqrt((realX + 1.0) * (realX + 1.0) + (realY + 1.0) * (realY + 1.0)) - (realY - 1.0) / sqrt((realX - 1.0) * (realX - 1.0) + (realY - 1.0) * (realY - 1.0)); // hori[y * fieldSize + x] = -(realX + 1.0) / sqrt((realX + 1.0) * (realX + 1.0) + (realY + 1.0) * (realY + 1.0)) + (realX - 1.0) / sqrt((realX - 1.0) * (realX - 1.0) + (realY - 1.0) * (realY - 1.0));
// vert[y * fieldSize + x] = -(realX + 1.0) / sqrt((realX + 1.0) * (realX + 1.0) + (realY + 1.0) * (realY + 1.0)) + (realX - 1.0) / sqrt((realX - 1.0) * (realX - 1.0) + (realY - 1.0) * (realY - 1.0)); // vert[y * fieldSize + x] = (realY + 1.0) / sqrt((realX + 1.0) * (realX + 1.0) + (realY + 1.0) * (realY + 1.0)) - (realY - 1.0) / sqrt((realX - 1.0) * (realX - 1.0) + (realY - 1.0) * (realY - 1.0));
// hori[y * fieldSize + x] = realY / sqrt(realX * realX + realY * realY); // hori[y * fieldSize + x] = realY / sqrt(realX * realX + realY * realY);
// vert[y * fieldSize + x] = -realX / sqrt(realX * realX + realY * realY); // vert[y * fieldSize + x] = -realX / sqrt(realX * realX + realY * realY);
hori[y * fieldSize + x] = -realY; // hori[y * fieldSize + x] = -realY;
vert[y * fieldSize + x] = realX; // vert[y * fieldSize + x] = realX;
hori[y * fieldSize + x] = realY;
vert[y * fieldSize + x] = -realX - 1.0*realY;
} }
} }

View file

@ -56,8 +56,8 @@ void VectorField::Draw(SDL_Renderer* renderer, const SDL_Rect& targetRect)
SDL_RenderDrawLineF(renderer, SDL_RenderDrawLineF(renderer,
(double)targetRect.x + cellWidth * (x + 0.5), (double)targetRect.x + cellWidth * (x + 0.5),
(double)targetRect.y + cellHeight * (y + 0.5), (double)targetRect.y + cellHeight * (y + 0.5),
(double)targetRect.x + cellWidth * (x + 0.5) + horizontal[y * width + x] / biggestMagnitude * cellWidth, (double)targetRect.x + cellWidth * (x + 0.5) + horizontal[y * width + x] / biggestMagnitude * cellWidth * 2.5,
(double)targetRect.y + cellHeight * (y + 0.5) + vertical[y * width + x] / biggestMagnitude * cellHeight (double)targetRect.y + cellHeight * (y + 0.5) + vertical[y * width + x] / biggestMagnitude * cellHeight * 2.5
); );
} }
} }