@Override public void onRun() { Location location = getLocation(); Vector vector = new Vector(); for (int i = 0; i < particles; i++) { float alpha = ((MathUtils.PI / compilaction) / particles) * i; double phi = Math.pow(Math.abs(MathUtils.sin(2 * compilaction * alpha)) + factorInnerSpike * Math.abs(MathUtils.sin(compilaction * alpha)), 1 / compressYFactorTotal); vector.setY(phi * (MathUtils.sin(alpha) + MathUtils.cos(alpha)) * yFactor); vector.setZ(phi * (MathUtils.cos(alpha) - MathUtils.sin(alpha)) * xFactor); VectorUtils.rotateVector(vector, xRotation, yRotation, zRotation); display(particle, location.add(vector)); location.subtract(vector); } }
@Override public void onRun() { Vector vector = new Vector(); Location location = getLocation(); for (int i = 0; i < particlesPerIteration; i++) { step++; float t = (MathUtils.PI / particles) * step; float r = MathUtils.sin(t) * size; float s = 2 * MathUtils.PI * t; vector.setX(xFactor * r * MathUtils.cos(s) + xOffset); vector.setZ(zFactor * r * MathUtils.sin(s) + zOffset); vector.setY(yFactor * size * MathUtils.cos(t) + yOffset); VectorUtils.rotateVector(vector, xRotation, yRotation, zRotation); display(particle, location.add(vector)); location.subtract(vector); } }