根据半径和中心坐标指定三角形的顶点

本文关键字:三角形 顶点 坐标 | 更新日期: 2023-09-27 18:36:25

有代码公式吗?我正在使用 C# 和 XNA,在我的类中,我有一个由三个向量组成的数组(表示三角形的顶点),以及一个单独的向量坐标。

我计划在循环中更新这些位置,因为它进一步升级到屏幕顶部。

我会问 maths.stackexchange.com,但考虑到这如何应用于编程(我个人更擅长阅读代码而不是数学本身 - 我仍然在学校学习代数),我认为在这里问它更有意义。

编辑是的,我正在寻找一个等边三角形。或任何三角形,就此而言。它是什么并不重要。我正在寻找的只是一个公式;这很难要求吗?

茶问题

基本上,我试图解决的问题是从我的玩家中射出一个三角形(想想太空侵略者;即三角形充当射线枪的射线)。我需要的是一个代码公式,它将允许根据三角形的中心位置和半径呈现三角形,因为三角形将在其Y坐标上向上移动。我有绘制调用,它们有效,但问题是三角形在 for 循环绘制迭代中放置时(中心向量位置 - 在Y坐标上 - 递增 N )只是绘制时位于玩家的位置旁边。

根据半径和中心坐标指定三角形的顶点

我认为这就是你要找的...角度是三角形的方向...这构建了一个三角形。

void BuildTriangle(Vector2 Center, float Radius, float Angle, Vector2[] tri)
{
   for (int i=0; i<3; i++)
   {
      t[i].X = Center.X + Radius * (float) Math.Cos(Angle + i * 2 * MathHelper.PI/3);
      t[i].Y = Center.Y + Radius * (float) Math.Sin(Angle + i * 2 * MathHelper.PI/3);
   }
}

如果要移动它,请在中心添加一个速度矢量并重建它......