These are chat archives for freeman-lab/discussion

8th
Aug 2016
Jason Wittenbach
@jwittenbach
Aug 08 2016 01:17
Just thought everyone should see the illustration toward the bottom of this page:
I especially love the logo :)
Jure Triglav
@jure
Aug 08 2016 13:40
awesome stuff!
quick question, knowing how neurons work in drosophila, how feasible is it to formulate a computational question in drosophila terms and have their behaviour compute the solution?
i.e., is it possible to say that a drosophila organism is going to behave in a way that can roughly be defined with a function of inputs, resulting in behaviour outputs, and then compute using those building blocks?
Matthew Conlen
@mathisonian
Aug 08 2016 14:09
first somewhat working example of the curve store thing https://mathisonian.github.io/curve-store/ @mikolalysenko @freeman-lab
still need to a way to add bounds to the array via a ring buffer
Mikola Lysenko
@mikolalysenko
Aug 08 2016 14:17
@mathisonian !!!!
this is great!
Matthew Conlen
@mathisonian
Aug 08 2016 14:18
:smile:
Mikola Lysenko
@mikolalysenko
Aug 08 2016 14:19
for the derivative, you could compute it analytically
by just taking the difference between two successive samples and dividing by the time between them
Matthew Conlen
@mathisonian
Aug 08 2016 14:20
i think there are a lot of performance improvements to add, and making the default sampling options nice
@mikolalysenko that's what it should be doing but i implemented this in like 5 minutes https://github.com/mathisonian/curve-store/blob/master/src/samplers/index.js#L20-L29
Mikola Lysenko
@mikolalysenko
Aug 08 2016 14:21
yeah, this is really cool
Mikola Lysenko
@mikolalysenko
Aug 08 2016 14:27
have you got a plan for how to do recursive functions/reducers?
Matthew Conlen
@mathisonian
Aug 08 2016 14:31
so one way to do it is by sampling values at previous times directly in the sample function https://github.com/mathisonian/curve-store/blob/master/src/samplers/index.js#L24
still trying to wrap my head around if this is enough / how to make it more efficient
i guess you would need to snap the lookup time certain value to be able to memoize the past results, but curious to hear what your thoughts are for handling that
Matthew Conlen
@mathisonian
Aug 08 2016 14:37
(assuming thats what you meant)
Mikola Lysenko
@mikolalysenko
Aug 08 2016 14:37
well you might also want to do stuff like have some integrator which runs continuously
like suppose you have a physics solver which you are using to implement some animations
so you want to integrate forward in time as some dependent variables change
maybe you could just do it variationally though
like what if we only allowed physical constraints in lagrangian form?
this might be too slow
but it might also be really cool
Matthew Conlen
@mathisonian
Aug 08 2016 14:42
hm interesting
Mikola Lysenko
@mikolalysenko
Aug 08 2016 14:43
conceptually lagrangian mechanics is way simpler to work with
though it is not widely known since it isn't taught in high school
it is a more declarative way to do physics though
Matthew Conlen
@mathisonian
Aug 08 2016 14:44
i think we could have fast approximate integration in a fairly simply way with the current setup
Mikola Lysenko
@mikolalysenko
Aug 08 2016 14:44
that would be cool
Matthew Conlen
@mathisonian
Aug 08 2016 14:44
need to read about the lagrangian stuff
Mikola Lysenko
@mikolalysenko
Aug 08 2016 14:44
in that pixar paper they talk a lot about variational methods for animation
Matthew Conlen
@mathisonian
Aug 08 2016 14:44
ah cool. good reading for the train
Mikola Lysenko
@mikolalysenko
Aug 08 2016 14:44
it is probably the most influential paper in computer graphics for that fact alone
Matthew Conlen
@mathisonian
Aug 08 2016 14:45
how would we enforce these constraints given that the current setup allows arbitrary functions?
Mikola Lysenko
@mikolalysenko
Aug 08 2016 14:45
so you have to solve some optimization problem to do it
lagrangian mechanics reformulates newtonian dynamics as an optimization problem
instead of integrating these forces, you end up finding a shortest (minimal cost) path in space time
the two formulations are equivalent though
but the neat thing with lagrangian mechanics is it is way simpler to add constraints to it
in newtonian dynamics you do all this horrible hacking to figure out how to enforce something like a distance constraint/non-intersection for collisions, etc.
in lagrangian mechanics you just have a constraint, that's it
Matthew Conlen
@mathisonian
Aug 08 2016 14:48
ah thats pretty sweet
Mikola Lysenko
@mikolalysenko
Aug 08 2016 14:48
it is way more intuitive and simpler to compose
but it involves working with time as another dimension
Matthew Conlen
@mathisonian
Aug 08 2016 14:50
i'm going to spend some time with that paper and try to understand it a little better
Jeremy Freeman
@freeman-lab
Aug 08 2016 15:07
@mathisonian that purple square demo is awesome!
and i really like how simple the API is