public void CAP(Vector2d Point, int Frame, ref ColourVector ot) { int l = ThingsCache.Count(); for (int i = 0; i < l; i++) { IPhysical<Vector2d> Current = ThingsCache[i]; double diffX = Current.Position.x - Point.x; if (diffX * diffX < 1024) { double diffY = Current.Position.y - Point.y; if (diffY * diffY < 1024) { if (diffX != 0 && diffY != 0) { double d2 = Vector2d.DistSquared(Current.Position, Point); ot.AddMultiply(Current.Colour, 5184 / (d2 * d2)); } } } } for (int i = 0; i < ot.dimensions; i++) { ot.CoOrdinates[i] += BetterRandom.StdDev(0.01); } }