Jam*_*mes 2 c# algorithm flip vertex
我有一组构成二维多边形的位置顶点。
Vector2[] _chassisConcaveVertices =
{
new Vector2(5.122f, 0.572f),
new Vector2(3.518f, 0.572f),
new Vector2(3.458f, 0.169f),
new Vector2(2.553f, 0.169f),
new Vector2(2.013f, 0.414f),
new Vector2(0.992f, 0.769f),
new Vector2(0.992f, 1.363f),
new Vector2(5.122f, 1.363f),
};
Run Code Online (Sandbox Code Playgroud)
我可以使用什么算法来修改位置以便翻转生成的多边形?我需要水平和垂直翻转多边形。
假设Vector2该类有两个属性/成员名称x和y:
public Vector2[] FlipHorizontally(Vector2[] original)
{
Vector2[] flipped = new Vector2[original.Length];
for (int i = 0; i < original.Length; i++)
{
flipped[i] = new Vector2(-1 * original[i].x, original[i].y);
}
return flipped;
}
public Vector2[] FlipVertically(Vector2[] original)
{
Vector2[] flipped = new Vector2[original.Length];
for (int i = 0; i < original.Length; i++)
{
flipped[i] = new Vector2(original[i].x, -1 * original[i].y);
}
return flipped;
}
Run Code Online (Sandbox Code Playgroud)
这将相对于两个轴翻转顶点。您没有指定新多边形相对于原始多边形的定位。如果您需要“移动”它,那么您只需将一个值添加到 allx并将另一个值添加到 all y。