Я пытаюсь сделать инструмент для копания для своей игры, у меня есть координаты x и y точек A и B, я хочу создать кривую между этими точками, ничего графического, мне просто нужно l oop через координаты (float x, float y).
Я не умею объяснять, поэтому вот наглядный пример;
пример
Первое изображение - это то, что произойдет, если я просто использую a для l oop, чтобы уменьшить значение y до середины, а затем увеличить его от середины до конца.
//Very specific code for my example
//I wrote it just for this example so I am not sure if it works
float y;
float x;
public void Example(float startX, float endX, float startY, float endY, float depth)
{
y = startY;
x = startX;
float changeAmountOfY = depth / (endX - startX);
for (int i = (int)startX; i < (startX + endX) / 2; i++)
{
x++;
y -= changeAmountOfY;
}
for (int i = (int)(startX + endX) / 2; i < endX; i++)
{
x++;
y += changeAmountOfY;
}
}
public void ChangeCoordinates()
{
Example(100f, 200f, 100f, 100f, 50f);
}
Мне нужно второе изображение.
Я разрабатываю игру на единстве и использую Vector2 для координат, но это не важно. Чистый C# или даже C ++ приветствуется. Также хорошо, если кто-то может просто объяснить математику того, что я пытаюсь сделать.