Ejemplo n.º 1
0
    static int Simulate(ForcePoint points, NetworkNode[] nodes, int x, int y)
    {
        var clone = new NetworkNode[nodes.Length];

        Array.Copy(nodes, clone, clone.Length);
        nodes = clone;

        return(0);
    }
Ejemplo n.º 2
0
    private void CreateForcePoints(float magnitude, float minRadius, float maxRadius)
    {
        for (int i = 0; i < maxNumForcePoints; i++)
        {
            ForcePoint agentPoint = new ForcePoint();

            float forceStrength = magnitude;
            agentPoint.posX     = Random.Range(0f, 1f);
            agentPoint.posY     = Random.Range(0f, 1f);
            agentPoint.velX     = Random.Range(-1f, 1f) * forceStrength;
            agentPoint.velY     = Random.Range(-1f, 1f) * forceStrength;
            agentPoint.size     = Random.Range(minRadius, maxRadius); // 60f, 300f originally
            forcePointsArray[i] = agentPoint;
        }
        forcePointsCBuffer.SetData(forcePointsArray);
    }
Ejemplo n.º 3
0
    private void CreateForcePoints()
    {
        int numForcePoints = 64;

        ForcePoint[] forcePointsArray = new ForcePoint[numForcePoints];
        for (int i = 0; i < numForcePoints; i++)
        {
            ForcePoint point = new ForcePoint();
            point.posX          = UnityEngine.Random.Range(0f, 1f);
            point.posY          = UnityEngine.Random.Range(0f, 1f);
            point.velX          = UnityEngine.Random.Range(-1f, 1f);
            point.velY          = UnityEngine.Random.Range(-1f, 1f);
            point.size          = UnityEngine.Random.Range(256f, 600f);
            forcePointsArray[i] = point;
        }

        forcePointsCBuffer = new ComputeBuffer(numForcePoints, sizeof(float) * 5);

        forcePointsCBuffer.SetData(forcePointsArray);
    }
Ejemplo n.º 4
0
    public static void Main(string[] args)
    {
        var nfi        = NumberFormatInfo.InvariantInfo;
        var n          = int.Parse(Console.ReadLine(), NumberStyles.Integer, nfi);
        var forceField = new ForcePoint[n];
        var nodes      = new NetworkNode[n];

        for (var i = 0; i < n; i++)
        {
            var elements = Console.ReadLine().Split(' ');
            forceField[i] = new ForcePoint(
                i,
                int.Parse(elements[0], NumberStyles.Integer, nfi),
                int.Parse(elements[1], NumberStyles.Integer, nfi),
                ParseDirection(elements[2]));
            nodes[i] = new NetworkNode(i);
        }

        Array.Sort(forceField, (a, b) => a.X != b.X ? (a.X - b.X) : (a.Y - b.Y));
        for (var i = 0; i < nodes.Length; i++)
        {
        }

        Array.Sort(forceField, (a, b) => a.Y != b.Y ? (a.Y - b.Y) : (a.X - b.X));
        for (var i = 0; i < nodes.Length; i++)
        {
        }

        Array.Sort(forceField, (a, b) => a.Id - b.Id);
        for (var i = 0; i < nodes.Length; i++)
        {
        }

        for (var i = 0; i < forceField.Length; i++)
        {
        }

        Console.WriteLine("2");
    }