[SciPy-User] Accumulation sum using indirect indexes

Frédéric Bastien nouiz@nouiz....
Wed Feb 1 06:44:56 CST 2012


It will be slow, but you can make a python loop.

Fred
On Jan 31, 2012 3:34 PM, "Alexander Kalinin" <alec.kalinin@gmail.com> wrote:

> Hello!
>
> I use SciPy in computer graphics applications. My task is to calculate
> vertex normals by averaging faces normals. In other words I want to
> accumulate vectors with the same ids. For example,
>
> ids = numpy.array([0, 1, 1, 2])
> n = numpy.array([ [0.1, 0.1, 0.1], [0.1, 0.1, 0.1], [0.1, 0.1, 0.1], [0.1,
> 0.1 0.1] ])
>
> I need result:
> nv = ([ [0.1, 0.1, 0.1], [0.2, 0.2, 0.2], [0.1, 0.1, 0.1]])
>
> The most simple code:
> nv[ids] += n
> does not work, I know about this. For 1D arrays I use numpy.bincount(...)
> function. But this function does not work for 2D arrays.
>
> So, my question. What is the best way calculate accumulation sum for 2D
> arrays using indirect indexes?
>
> Sincerely,
> Alexander
>
> _______________________________________________
> SciPy-User mailing list
> SciPy-User@scipy.org
> http://mail.scipy.org/mailman/listinfo/scipy-user
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.scipy.org/pipermail/scipy-user/attachments/20120201/71f87c00/attachment.html 


More information about the SciPy-User mailing list