绘制雷达图步骤(效果在最下边)
1.先获取MeshFilter组件,New一个Mesh组件
2.定义一个集合,方便我们把创建的点存到集合里
3.写一个for循环,1.算出5个斜边*定义的数据*想要的大小,2.算出5个余弦*定义的数据*想要的大小
4.绘制点, 将绘制的点存入集合
注意:这样写会最后有个边没有绘制上去,所以需要多加一层判断当i!=边数-1,给他再重新绘制一遍
MeshFilter mf = GetComponent<MeshFilter>();
Mesh mesh = new Mesh();
float rathef = Mathf.PI * 2 / 5;
List<Vector3> vlist = new List<Vector3>();
for (int i = 0; i < 5; i++)
{
float x = Mathf.Sin(i * rathef) * arr[num][i] * 0.2f;
float y = Mathf.Cos(i * rathef) * arr[num][i] * 0.2f;
vlist.Add(new Vector3(x, y, 0));
}
mesh.vertices = vlist.ToArray();
List<int> tlist = new List<int>();
for (int i = 0; i < 5; i++)
{
if (i != 5 - 1)
{
tlist.Add(0);
tlist.Add(i);
tlist.Add(i + 1);
}
else
{
tlist.Add(0);
tlist.Add(4);
tlist.Add(1);
}
}
mesh.triangles = tlist.ToArray();
mf.mesh = mesh;
问题1:已知一个矩形中一条线上的两个点和宽,如何求另外两点坐标
根据给定的两个点坐标和宽度,确定矩形的边长和方向。假设给定的两个点为P1(x1, y1)和P2(x2, y2),宽度为w,则矩形的边长为d = sqrt((x2 - x1)^2 + (y2 - y1)^2),方向为θ = atan2(y2 - y1, x2 - x1)。
根据矩形的边长和方向,确定矩形的另外两个点的坐标。假设矩形的中心点为P(x, y),则另外两个点的坐标可以通过以下公式计算:
左上角点:P3(x3, y3) = (x - w/2cos(θ + π/2), y - w/2sin(θ + π/2))
右下角点:P4(x4, y4) = (x + w/2cos(θ + π/2), y + w/2sin(θ + π/2))
问题2.已知两条线相交,求相交点坐标
假设线段1的两个端点分别为P1(x1, y1)和P2(x2, y2),线段2的两个端点分别为P3(x3, y3)和P4(x4, y4)。
通过线段1的参数方程和线段2的参数方程,可以得到以下两个方程:
x = x1 + t*(x2 - x1)
y = y1 + t*(y2 - y1)
x = x3 + s*(x4 - x3)
y = y3 + s*(y4 - y3)
联立以上四个方程,解得t和s的值。如果0 <= t <= 1且0 <= s <= 1,则交点在两个线段上。
将t或s的值代入参数方程中,可以计算出交点的坐标。