绘制雷达图

绘制雷达图步骤(效果在最下边)

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的值代入参数方程中,可以计算出交点的坐标。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值