POV-Ray : Newsgroups : povray.off-topic : Differential equations FTW! Server Time
15 Oct 2026 01:15:16 EDT (-0400)
  Differential equations FTW! (Message 1 to 31 of 31)  
From: Invisible
Subject: Differential equations FTW!
Date: 4 Jan 2008 06:48:41
Message: <477e1d19$1@news.povray.org>
If you thought playing with a wavetank was fun...

http://www.falstad.com/ripple/

...then you're doing to love this...

http://texturegarden.com/java/rd/

Reaction-diffusion simulation. (Basically a chemical reaction produces 
chemicals, which diffuse out, and the reaction is reversible.) Different 
set of differential equations, same very cool organic results. My 
favourite presets are "network" and "spotty dots". (Be sure to turn off 
the hieght field option!)

-- 
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*


Post a reply to this message

From: Invisible
Subject: Re: Differential equations FTW!
Date: 8 Jan 2008 05:07:06
Message: <47834b4a@news.povray.org>
Mmm, apparently I'm the only person retarded enough to actually be 
amused by these.

Then again, when I was a child, I used to sit for hours watching the 
washing machine. [Remember that when I was a child, "TV" was only 
available for a few hours a day...]

Does anybody know how either of these simulations actually work?

-- 
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*


Post a reply to this message

From: Vincent Le Chevalier
Subject: Re: Differential equations FTW!
Date: 8 Jan 2008 09:01:17
Message: <4783822d$1@news.povray.org>
Invisible a écrit :
> Then again, when I was a child, I used to sit for hours watching the 
> washing machine. [Remember that when I was a child, "TV" was only 
> available for a few hours a day...]
> 

Actually I used to watch both TV *and* the washing machine. Imagine my 
despair when my parents bought a washing machine without the glass 
window at the front ;-)

> Does anybody know how either of these simulations actually work?
> 

I suspect they solve the differential equations in question :-D

-- 
Vincent


Post a reply to this message

From: Invisible
Subject: Re: Differential equations FTW!
Date: 8 Jan 2008 09:43:30
Message: <47838c12@news.povray.org>
>> Then again, when I was a child, I used to sit for hours watching the 
>> washing machine. [Remember that when I was a child, "TV" was only 
>> available for a few hours a day...]
>>
> 
> Actually I used to watch both TV *and* the washing machine. Imagine my 
> despair when my parents bought a washing machine without the glass 
> window at the front ;-)

That's just cruel...

>> Does anybody know how either of these simulations actually work?
> 
> I suspect they solve the differential equations in question :-D

No... really? :-P

-- 
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*


Post a reply to this message

From: Paul Fuller
Subject: Re: Differential equations FTW!
Date: 8 Jan 2008 09:54:31
Message: <47838ea7@news.povray.org>
Invisible wrote:
> Mmm, apparently I'm the only person retarded enough to actually be 
> amused by these.
Not at all.

> 
> Then again, when I was a child, I used to sit for hours watching the 
> washing machine. [Remember that when I was a child, "TV" was only 
> available for a few hours a day...]
> 
> Does anybody know how either of these simulations actually work?
> 

Cellula Automata - Each cell (pixel) follows some simple rules based on 
its current state and that of its neighbours to determine its state in 
the next generation.

This particular example looks like it implements some equations that 
model the reaction of chemicals in 2D.  There are real mixtures that 
exhibit the pulsating and alternating patterns that some settings reproduce.

Fiddling around with the parameters gives some behaviours that are 
interesting and some that quickly lead to all dead, all alive or 
something else.

The number of possible combinations of the parameters is huge but there 
are typically a small number of interesting classes of behaviour on the 
boundaries between boring and chaotic.

Some behaviours strike us as biological which I think sheds light on how 
  complex life can emerge from simple chemical and physical rules.

You probably know already that this is known as 'emergent behaviour' - 
When a system exhibits some behaviour often at a large scale that you 
can't really predict from the rules.

I found a couple of nice settings.  Not sure if anything similar is in 
their presets:

			Bees	Spaceships
Rate (Agent)		1500	982
Rate (Inhibitor)	6190	12853
Speed (Agent)		230	50
Speed (Inhibitor)	85	41
Scale (Agent)		15	15
Scale (Inhibitor)	15	14

For 'Bees' start a small pattern in the middle.  One or more individuals 
proliferate by binary division and quickly fill the available space. 
Then they start to pulsate in some not quite discernible way. 
Occasionally an individual dies but the surrounding cells quickly split 
and fill the available space to repair the colony.

'Spaceships' is like the similarly named constructs in Conway's Life.  A 
bit larger and you can imagine a plasma drive towards the rear.  Start 
with a bit more random stuff and you get lots of spaceships cruising 
around.  Occasionally they meet and one or both are destroyed.  Some 
'self-repair' after close encounters.  Interesting thing is to vary the 
Speed (Inhibitor) around 41.  Take it down and the ships reduce in size. 
  At 37 they suffer spontaneous explosions after a time and are all 
destroyed.  From around 43 upwards the trailing edges continually break 
off to form new ships and it becomes too chaotic.

Fun stuff.  Thanks for the link.


Post a reply to this message

From: scott
Subject: Re: Differential equations FTW!
Date: 8 Jan 2008 10:03:15
Message: <478390b3$1@news.povray.org>
>>> Does anybody know how either of these simulations actually work?
>>
>> I suspect they solve the differential equations in question :-D
>
> No... really? :-P

Really.

The wave tank one is easy, for every "pixel" it simply solves the wave 
equation.

http://en.wikipedia.org/wiki/Wave_equation

It may look scary if you don't recognise the symbols, but the maths is 
actually quite trivial.  All the wave equation says is that the 2nd 
derivative wrt to time (ie acceleration) of the value of each pixel is 
proportional to the 2nd derivative of the value wrt to distance summed over 
every axis.

It's easy to code, you can just take the difference between neighbouring 
pixel values twice to work out the 2nd derivative in the x and y direction 
and hence the acceleration.  Then the acceleration can be used to work out 
the velocity and new value using Euler integration.


Post a reply to this message

From: Invisible
Subject: Re: Differential equations FTW!
Date: 8 Jan 2008 10:05:17
Message: <4783912d$1@news.povray.org>
Paul Fuller wrote:

>> Does anybody know how either of these simulations actually work?
> 
> Cellula Automata - Each cell (pixel) follows some simple rules based on 
> its current state and that of its neighbours to determine its state in 
> the next generation.

I thought a cellula automaton is where each cell has a *finite* number 
of possible states? In this example, we have (conceptually) continuous 
rather than discrete states.

> This particular example looks like it implements some equations that 
> model the reaction of chemicals in 2D.  There are real mixtures that 
> exhibit the pulsating and alternating patterns that some settings 
> reproduce.

Indeed. That's how I found the link. ;-) I saw a TV program mention that 
the patterns of animal skins can be described by a single mathematical 
formula. Searching for this formula, I came across a document claiming 
it's due to reaction diffusion - and hence the second link, which is a 
simulation of the reaction diffusion differential equation.

Now, if I could figure out what the equation is and how it works, I 
might be able to simulate it...

> Fiddling around with the parameters gives some behaviours that are 
> interesting and some that quickly lead to all dead, all alive or 
> something else.
> 
> The number of possible combinations of the parameters is huge but there 
> are typically a small number of interesting classes of behaviour on the 
> boundaries between boring and chaotic.

Indeed, this is the case with a lot of fractals. A simple set of rules, 
iterated a sufficient number of times, gives rise to complicated and 
unpredictable behaviour, which is often quite pretty to look at. :-)

> Fun stuff.  Thanks for the link.

It's not quite as much fun, but do a search for "boids" to see some 
interesting flocking behaviour...

-- 
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*


Post a reply to this message

From: Invisible
Subject: Re: Differential equations FTW!
Date: 8 Jan 2008 10:06:55
Message: <4783918f$1@news.povray.org>
scott wrote:
>>>> Does anybody know how either of these simulations actually work?
>>>
>>> I suspect they solve the differential equations in question :-D
>>
>> No... really? :-P
> 
> Really.
> 
> The wave tank one is easy, for every "pixel" it simply solves the wave 
> equation.
> 
> http://en.wikipedia.org/wiki/Wave_equation
> 
> It may look scary if you don't recognise the symbols, but the maths is 
> actually quite trivial.  All the wave equation says is that the 2nd 
> derivative wrt to time (ie acceleration) of the value of each pixel is 
> proportional to the 2nd derivative of the value wrt to distance summed 
> over every axis.
> 
> It's easy to code, you can just take the difference between neighbouring 
> pixel values twice to work out the 2nd derivative in the x and y 
> direction and hence the acceleration.  Then the acceleration can be used 
> to work out the velocity and new value using Euler integration.

So... acceleration = surface curvature?

How does that change when you have things like walls? Do you have to do 
anything special at those edges?

-- 
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*


Post a reply to this message

From: Invisible
Subject: Re: Differential equations FTW!
Date: 8 Jan 2008 10:20:14
Message: <478394ae$1@news.povray.org>
scott wrote:

> The wave tank one is easy, for every "pixel" it simply solves the wave 
> equation.
> 
> http://en.wikipedia.org/wiki/Wave_equation
> 
> It may look scary if you don't recognise the symbols

The 2nd partial derrivative of u with respect to t (time?) is equal to 
the square of the wave velocity multiplied by the Laplacian of u.

What the heck is a Laplacian when it's at home?

Oh, wait - it's a second-order differential operator in the N-dimenional 
Euclidian space defined as the divergence of the gradient. Obviously.

._.

Ouch.

Wikipedia - a great reference source, a rubbish way to learn brand new 
concepts. (Indeed, I've seen articles marked for revision *because* 
"Wikipedia is not a how-to". Hmm, what *is* Wikipedia then?)

-- 
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*


Post a reply to this message

From: scott
Subject: Re: Differential equations FTW!
Date: 8 Jan 2008 10:54:23
Message: <47839caf$1@news.povray.org>
>> http://en.wikipedia.org/wiki/Wave_equation
>>
>> It may look scary if you don't recognise the symbols
>
> The 2nd partial derrivative of u with respect to t (time?) is equal to the 
> square of the wave velocity multiplied by the Laplacian of u.
>
> What the heck is a Laplacian when it's at home?
>
> Oh, wait - it's a second-order differential operator in the N-dimenional 
> Euclidian space defined as the divergence of the gradient. Obviously.
>
> ._.
>
> Ouch.

Well I'm sure you know what the gradient is.  But how is it defined in more 
than one dimension?  And the divergence function?  It's all taught in vector 
calculus...

> Wikipedia - a great reference source, a rubbish way to learn brand new 
> concepts. (Indeed, I've seen articles marked for revision *because* 
> "Wikipedia is not a how-to". Hmm, what *is* Wikipedia then?)

Wikipedia is a reference, not a website full of tutorials.  Still, they 
should link at the bottom of the "vector calculus" page to some good online 
tutorial as it's really not very hard if you have a basic understanding of 
normal calculus.


Post a reply to this message

From: Invisible
Subject: Re: Differential equations FTW!
Date: 8 Jan 2008 11:00:51
Message: <47839e33$1@news.povray.org>
>> Ouch.
> 
> Well I'm sure you know what the gradient is.  But how is it defined in 
> more than one dimension?  And the divergence function?  It's all taught 
> in vector calculus...

Try to remember: I have never taken any course in any mathematical 
subject of any description. I have a GCSE in mathematics (grade C), but 
that only covers addition, subtraction, multiplication, division and a 
few other bits and pieces. Everything else I know is what I have managed 
to figure out from reading books and surfing the net. ;-)

It's a wonder I know anything about mathematics at all... heh.

>> Wikipedia - a great reference source, a rubbish way to learn brand new 
>> concepts. (Indeed, I've seen articles marked for revision *because* 
>> "Wikipedia is not a how-to". Hmm, what *is* Wikipedia then?)
> 
> Wikipedia is a reference, not a website full of tutorials.  Still, they 
> should link at the bottom of the "vector calculus" page to some good 
> online tutorial as it's really not very hard if you have a basic 
> understanding of normal calculus.

I agree there.

Certainly the page on digital filters makes them seem like an utterly 
incomprehensible topic. But a short read of a good book reveals that 
it's all actually quite simple. [Assuming you want linear, 
time-invariant filters of course.]

Ah well, never mind.

-- 
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*


Post a reply to this message

From: Paul Fuller
Subject: Re: Differential equations FTW!
Date: 8 Jan 2008 19:52:33
Message: <47841ad1@news.povray.org>
>> Cellula Automata - Each cell (pixel) follows some simple rules based 
>> on its current state and that of its neighbours to determine its state 
>> in the next generation.
> 
> I thought a cellula automaton is where each cell has a *finite* number 
> of possible states? In this example, we have (conceptually) continuous 
> rather than discrete states.

I don't see anything in this case to say that the number of states of a 
cell is infinite :)

OK - this is more properly called a 'continuous automata' or a 
'continuous spatial automata' than a CA.  Very similar except that the 
future state is determined by functions rather than a state table. 
Still if you had a large enough state table...

Still the states here seem to converge to certain preferred values and 
patterns.  Like 'attractors' in a fractal.

> 
>> This particular example looks like it implements some equations that 
>> model the reaction of chemicals in 2D.  There are real mixtures that 
>> exhibit the pulsating and alternating patterns that some settings 
>> reproduce.
> 
> Indeed. That's how I found the link. ;-) I saw a TV program mention that 
> the patterns of animal skins can be described by a single mathematical 
> formula. Searching for this formula, I came across a document claiming 
> it's due to reaction diffusion - and hence the second link, which is a 
> simulation of the reaction diffusion differential equation.
> 
> Now, if I could figure out what the equation is and how it works, I 
> might be able to simulate it...

Don't the references provided by the site give details ?

"It is based on the Gray-Scott model, and was taken from John E. 
Pearson's Complex Patterns in a Simple System - Science, 261, 189, 9 
July 1993.

More details about the type of system used can be found at the [Xmorphia 
web site].

> 
>> Fiddling around with the parameters gives some behaviours that are 
>> interesting and some that quickly lead to all dead, all alive or 
>> something else.
>>
>> The number of possible combinations of the parameters is huge but 
>> there are typically a small number of interesting classes of behaviour 
>> on the boundaries between boring and chaotic.
> 
> Indeed, this is the case with a lot of fractals. A simple set of rules, 
> iterated a sufficient number of times, gives rise to complicated and 
> unpredictable behaviour, which is often quite pretty to look at. :-)
> 

True.

>> Fun stuff.  Thanks for the link.
> 
> It's not quite as much fun, but do a search for "boids" to see some 
> interesting flocking behaviour...
> 

Been there.  Done that.  We have similar interests.

I first saw Chris Langton's work on Boids described in Scientific 
American.  Maybe 20 years ago (?).  Back then I wrote a version (in 2D) 
on the Apple ][ and it worked but very slowly.  There are many 
simulators out there to play around with now and machine performance is 
so much better that it is just ridiculous.

Ditto with fractals BTW.  I still have the August 1985 Scientific 
American with the Mandelbrot Set cover and article by AK Dewdney in his 
Computer Recreations column.  Talk about a bombshell !  Unfortunately at 
1MHz the old Apple was a little slow and the graphics a bit primitive. 
It wasn't until I wrote a multi-tasking version in assembler on a 
mainframe with output rendered to a laser printer that I was happy.

'Artificial Life' by Steven Levy is a good popular science book on the 
A-Life field including CAs, Boids and Genetic Algorithms.  It was 
published in 1992 so things have progressed a bit and there is a lot of 
more recent work available on the Web.  Still a good read though.


Post a reply to this message

From: Invisible
Subject: Re: Differential equations FTW!
Date: 9 Jan 2008 05:01:12
Message: <47849b68$1@news.povray.org>
>> I thought a cellula automaton is where each cell has a *finite* number 
>> of possible states? In this example, we have (conceptually) continuous 
>> rather than discrete states.
> 
> I don't see anything in this case to say that the number of states of a 
> cell is infinite :)
> 
> OK - this is more properly called a 'continuous automata' or a 
> 'continuous spatial automata' than a CA.  Very similar except that the 
> future state is determined by functions rather than a state table. Still 
> if you had a large enough state table...
> 
> Still the states here seem to converge to certain preferred values and 
> patterns.  Like 'attractors' in a fractal.

Indeed, yes.

>> Now, if I could figure out what the equation is and how it works, I 
>> might be able to simulate it...
> 
> Don't the references provided by the site give details ?
> 
> "It is based on the Gray-Scott model, and was taken from John E. 
> Pearson's Complex Patterns in a Simple System - Science, 261, 189, 9 
> July 1993.
> 
> More details about the type of system used can be found at the [Xmorphia 
> web site].

The Xmorphia web site apparently no longer exists. (Firefox tells me the 
server cannot be found.)

As for "Science, 261, 189, 9 July 1993", what does that actually *mean*?

>> It's not quite as much fun, but do a search for "boids" to see some 
>> interesting flocking behaviour...
>>
> 
> Been there.  Done that.  We have similar interests.
> 
> I first saw Chris Langton's work on Boids described in Scientific 
> American.  Maybe 20 years ago (?).  Back then I wrote a version (in 2D) 
> on the Apple ][ and it worked but very slowly.  There are many 
> simulators out there to play around with now and machine performance is 
> so much better that it is just ridiculous.

I could have chosen this for my final year project in my degree. 
(Actually I chose distributed MVC, because I figured OpenGL would be 
*way* too hard. You have to use C for a start...)

> Ditto with fractals BTW.  I still have the August 1985 Scientific 
> American with the Mandelbrot Set cover and article by AK Dewdney in his 
> Computer Recreations column.  Talk about a bombshell !  Unfortunately at 
> 1MHz the old Apple was a little slow and the graphics a bit primitive. 
> It wasn't until I wrote a multi-tasking version in assembler on a 
> mainframe with output rendered to a laser printer that I was happy.

I first came across the M set in an edition of the Guinness Book of 
Records. It held the record for "most complicated mathematical object". 
Not entirely sure how they arrived at that conclusion... ;-) The text 
accompanying it mumbled something about real and imaginary numbers, 
fluid dynamics and the stock market. It didn't make a lot of sense.

Later I found books such as The Beauty of Fractals and so on in the 
local library. Most of these consisted of miles of very advanced 
mathematics, most of it concerning the statistical properties of the 
coastline or something, and almost none of it to do with drawing these 
fantastic images that I longed for. The tiny selection of actual 
*pictures* present usually included only the vaguest suggestion of what 
the image *is*, and absolutely no suggestion about HOW TO MAKE IT. It 
was an extremely frustrating time...

Eventually, by dint of wading through many, many textbooks on advanced 
mathematical techniques, I was eventually able to grok the concept of 
complex numbers, and eventually to comprehend *why* the apparently 
unrelated formulas Z = Z^2 + C and (X,Y) = (X^2 - Y^2 + A, 2XY + B) are 
actually the same thing. This happened while I was at college, where 
they actually *had* math books on the shelves. Progress was much more 
rapid after that...

-- 
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*


Post a reply to this message

From: scott
Subject: Re: Differential equations FTW!
Date: 9 Jan 2008 06:13:21
Message: <4784ac51$1@news.povray.org>
> The Xmorphia web site apparently no longer exists. (Firefox tells me the 
> server cannot be found.)
>
> As for "Science, 261, 189, 9 July 1993", what does that actually *mean*?

I dug around and found the equations in some PDF paper:

http://citeseer.ist.psu.edu/45188.html

They're on page two, and if you understood how the wave equation worked then 
it should be pretty trivial to implement.

If I get time I would like to try and implement this in a pixel shader, it's 
exactly the thing that GPUs are good at - performing the same code on a huge 
number of different pixels.

> Later I found books such as The Beauty of Fractals and so on in the local 
> library. Most of these consisted of miles of very advanced mathematics, 
> most of it concerning the statistical properties of the coastline or 
> something, and almost none of it to do with drawing these fantastic images 
> that I longed for. The tiny selection of actual *pictures* present usually 
> included only the vaguest suggestion of what the image *is*, and 
> absolutely no suggestion about HOW TO MAKE IT. It was an extremely 
> frustrating time...

I think I looked at a BASIC implementation and figured out what the core 
loop was doing.  It was pretty cool that such a small simple bit of code 
made such nice pictures.  I tried writing a version in assembler, it worked 
but using fixed point numbers meant you could only zoom in about 3 or 4 
times until it all went wrong (no FPU on that machine!).


Post a reply to this message

From: Invisible
Subject: Re: Differential equations FTW!
Date: 9 Jan 2008 06:31:27
Message: <4784b08f$1@news.povray.org>
scott wrote:
>> The Xmorphia web site apparently no longer exists. (Firefox tells me 
>> the server cannot be found.)
>>
>> As for "Science, 261, 189, 9 July 1993", what does that actually *mean*?
> 
> I dug around and found the equations in some PDF paper:
> 
> http://citeseer.ist.psu.edu/45188.html
> 
> They're on page two, and if you understood how the wave equation worked 
> then it should be pretty trivial to implement.

I see. So we have two chemicals, who's concentrations are governed by a 
new, more complicated pair of differential equations. Is that basically 
what it means?

> If I get time I would like to try and implement this in a pixel shader, 
> it's exactly the thing that GPUs are good at - performing the same code 
> on a huge number of different pixels.

More precisely, doing the some thing on a huge number of different 
pixels *independently*. ;-) All goes horribly wrong with lots of data 
dependencies. Still, for this, only neighboring pixels matter, so it 
should still move like lightning...

>> Later I found books such as The Beauty of Fractals and so on in the 
>> local library. Most of these consisted of miles of very advanced 
>> mathematics, most of it concerning the statistical properties of the 
>> coastline or something, and almost none of it to do with drawing these 
>> fantastic images that I longed for. The tiny selection of actual 
>> *pictures* present usually included only the vaguest suggestion of 
>> what the image *is*, and absolutely no suggestion about HOW TO MAKE 
>> IT. It was an extremely frustrating time...
> 
> I think I looked at a BASIC implementation and figured out what the core 
> loop was doing.

Me too.

When my dad purchased AMOS Professional (look it up), it came with a 
5-disk set of example programs. One was a thing that drew a litle 
jellyfish. (I now realise that this was the quadratic Julia set C = 0.26 
or so.) And another program drew the Mandelbrot set. Slowly. Very 
slowly. (Hello? Interpretted language on an 8 MHz CPU with no FPU?)

The program in question had lots of different colouring options and so 
forth. It took a while to dig out the core loop. I was especially 
surprised to find that it does all these complicated calculations, and 
then THROWS THE ANSWER AWAY and only counts HOW MANY TIMES it's been 
round the loop. That was quite unexpected!

> It was pretty cool that such a small simple bit of code 
> made such nice pictures.

Indeed yes! I found this to be quite amazing...

Eventually I came to know the Mandelbrot algorithm like the back of my 
hand. But how to make that "cubic Mandelbrot" you see in all the books? 
Various simple manipulations of the loop formula failed to produce the 
correct image. Compare:

   X = X*X - Y*Y + A
   Y = 2*X*Y + B

Obviously (?!), the correct formula is in fact

   X = X*X*X - 3*X*Y*Y + A
   Y = 3*X*X*Y - Y*Y*Y + B

I would never have thought of that in a million years. At least, not 
until I finally worked out what a "complex number" actually is and how 
to do arithmetic with them...

> I tried writing a version in assembler, it 
> worked but using fixed point numbers meant you could only zoom in about 
> 3 or 4 times until it all went wrong (no FPU on that machine!).

Took 2 hours at 320x240 on my Amiga 1200 with a 20 MHz FPU.

Took 6 hours on the RM Nimbus we had at school, with a 286 and a copy of 
RMBASIC. Damn that was slow...!

By the time I got to college, I was writing programs in Pascal with 
random dithering, multiple colouring algorithms and other bells and 
whistles.

[Other examples that came with AMOS included an L-system that draws 
plants. I never did figure out how. Later I saw a Blitz Basic example 
that uses the Chaos Game to draw lots of interesting stuff in realtime. 
On, and that's also where I first figured out how to do the infinite 
trails trick...]

-- 
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*


Post a reply to this message

From: scott
Subject: Re: Differential equations FTW!
Date: 9 Jan 2008 06:45:15
Message: <4784b3cb$1@news.povray.org>
> I see. So we have two chemicals, who's concentrations are governed by a 
> new, more complicated pair of differential equations. Is that basically 
> what it means?

I think the equations are actually *simpler* than the wave equation because 
it gives you the velocity of the concentrations directly (not the 
acceleration).  One less integration step to perform, and no need to keep an 
array of velocity information.

>> If I get time I would like to try and implement this in a pixel shader, 
>> it's exactly the thing that GPUs are good at - performing the same code 
>> on a huge number of different pixels.
>
> More precisely, doing the some thing on a huge number of different pixels 
> *independently*. ;-) All goes horribly wrong with lots of data 
> dependencies. Still, for this, only neighboring pixels matter, so it 
> should still move like lightning...

Doesn't matter, because you cannot read pixels from a texture you are 
rendering to currently.  So you need to have one texture that shows the 
previous state, and then your pixel shader will write the new state into a 
new texture, performing as many look-ups from the old texture as you like. 
After you've created the new states then obviously you can swap the textures 
around for the next generation.

I'd then write another pixel shader that read form the two state textures 
and outputted to the screen back-buffer some colours, possibly using a 3rd 
texture as a look-up-table for speed.

> Took 2 hours at 320x240 on my Amiga 1200 with a 20 MHz FPU.

Oh I was down to about a minute or two at 640x480 on my 12 MHz Acorn (no 
FPU).  Limited zooming possibilities though.  Actually someone had written a 
much more complicated version in assembler that got around the accuracy 
limitations of 32-bit ints somehow and also ran faster than mine...


Post a reply to this message

From: Bill Pragnell
Subject: Re: Differential equations FTW!
Date: 9 Jan 2008 06:53:14
Message: <4784b5aa@news.povray.org>
scott wrote:
> Oh I was down to about a minute or two at 640x480 on my 12 MHz Acorn (no 
> FPU).  Limited zooming possibilities though.  Actually someone had 
> written a much more complicated version in assembler that got around the 
> accuracy limitations of 32-bit ints somehow and also ran faster than 
> mine...

I had a really good Mandelbrot/Julia generator on the Acorn called 
!Mandy. That was bloody fast, and you could go really deep.


Post a reply to this message

From: Invisible
Subject: Re: Differential equations FTW!
Date: 9 Jan 2008 06:57:56
Message: <4784b6c4$1@news.povray.org>
>> Took 2 hours at 320x240 on my Amiga 1200 with a 20 MHz FPU.
> 
> Oh I was down to about a minute or two at 640x480 on my 12 MHz Acorn (no 
> FPU).  Limited zooming possibilities though.  Actually someone had 
> written a much more complicated version in assembler that got around the 
> accuracy limitations of 32-bit ints somehow and also ran faster than 
> mine...

Well, it was written in interpretted BASIC, what do you expect? ;-) 
[Also written very simply, with no evidence of any attempt at 
optimisation... And lots of configurable options which slow rendering 
down even if you don't use 'em.]

-- 
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*


Post a reply to this message

From: Mike Raiford
Subject: Re: Differential equations FTW!
Date: 9 Jan 2008 07:46:38
Message: <4784c22e$1@news.povray.org>
Invisible wrote:

> Then again, when I was a child, I used to sit for hours watching the 
> washing machine. [Remember that when I was a child, "TV" was only 
> available for a few hours a day...]

Hmm... That does explain some things ...

> Does anybody know how either of these simulations actually work?

Sort of ... They're both cellular automata systems, I believe.

On a side note, the page that has the wave simulator has my favorite 
waste of time:

http://www.falstad.com/circuit/


Post a reply to this message

From: Invisible
Subject: Re: Differential equations FTW!
Date: 9 Jan 2008 08:00:47
Message: <4784c57f$1@news.povray.org>
>> Then again, when I was a child, I used to sit for hours watching the 
>> washing machine. [Remember that when I was a child, "TV" was only 
>> available for a few hours a day...]
> 
> Hmm... That does explain some things ...

._.

> On a side note, the page that has the wave simulator has my favorite 
> waste of time:
> 
> http://www.falstad.com/circuit/

Ah yes, another interesting toy. If only I knew what it all means...

Actually, that site has a whole heap of seriously interesting stuff. I 
also enjoy playing with the digital filters and so forth.

-- 
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*


Post a reply to this message

From: Mike Raiford
Subject: Re: Differential equations FTW!
Date: 9 Jan 2008 08:42:24
Message: <4784cf40$1@news.povray.org>
Invisible wrote:

>> http://www.falstad.com/circuit/
> 
> Ah yes, another interesting toy. If only I knew what it all means...

Heh. When I was a kid, I had one of those electronics kits where you 
wire things together with spring terminals. Great fun. This applet 
really makes me want to run out to the local Radio Shack and grab a few 
handfuls of components and a breadboard and start building stuff for the 
fun of it.

> Actually, that site has a whole heap of seriously interesting stuff. I 
> also enjoy playing with the digital filters and so forth.
> 

Electron orbitals was another fun one ... I believe there's a function 
in POV-Ray that generates an electron probability cloud.


Post a reply to this message

From: Invisible
Subject: Re: Differential equations FTW!
Date: 9 Jan 2008 09:55:04
Message: <4784e048$1@news.povray.org>
>>> http://www.falstad.com/circuit/
>>
>> Ah yes, another interesting toy. If only I knew what it all means...
> 
> Heh. When I was a kid, I had one of those electronics kits where you 
> wire things together with spring terminals. Great fun.

Yes, I also have 3 of those in my room somewhere. (Most of them now 
hopelessly broken.) That's how I first learned about logic gates, and 
how neat they are.

Somewhere I've got some of that microboard and a stack of 7400s... >:-D 
[I never did build that computer though...]

>> Actually, that site has a whole heap of seriously interesting stuff. I 
>> also enjoy playing with the digital filters and so forth.
> 
> Electron orbitals was another fun one ... I believe there's a function 
> in POV-Ray that generates an electron probability cloud.

Um... sure, if it's sin() or something. ;-)

-- 
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*


Post a reply to this message

From: Mike Raiford
Subject: Re: Differential equations FTW!
Date: 9 Jan 2008 10:37:43
Message: <4784ea47$1@news.povray.org>
Invisible wrote:

>> Electron orbitals was another fun one ... I believe there's a function 
>> in POV-Ray that generates an electron probability cloud.
> 
> Um... sure, if it's sin() or something. ;-)
> 

This one:

 > f_quantum(x,y,z, P0). It resembles the shape of the electron density
 > cloud for one of the d orbitals.


Post a reply to this message

From: Invisible
Subject: Re: Differential equations FTW!
Date: 9 Jan 2008 10:46:41
Message: <4784ec61$1@news.povray.org>
Mike Raiford wrote:
> Invisible wrote:
> 
>>> Electron orbitals was another fun one ... I believe there's a 
>>> function in POV-Ray that generates an electron probability cloud.
>>
>> Um... sure, if it's sin() or something. ;-)
>>
> 
> This one:
> 
>  > f_quantum(x,y,z, P0). It resembles the shape of the electron density
>  > cloud for one of the d orbitals.

Ah, right. So it's in functions.inc. I've never really looked in there. ;-)

-- 
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*


Post a reply to this message

From: Florian Pesth
Subject: Re: Differential equations FTW!
Date: 9 Jan 2008 16:22:27
Message: <47853b13$1@news.povray.org>
Am Wed, 09 Jan 2008 10:01:11 +0000 schrieb Invisible:

> As for "Science, 261, 189, 9 July 1993", what does that actually *mean*?
> 
(Assuming you don't already know this stuff, but maybe it is still useful 
for someone else) It is a short way of citing articles of scientific 
journals. In this case the journal is called "Science Magazine", the 
volume is 261 and the pagenumber, where the article starts, is 189.

http://www.sciencemag.org/cgi/content/abstract/261/5118/189

Usually you have to subscribe to such journals to download articles, and 
it is very expensive to subscribe to them, so usually it is only done by 
universities or research institutions. If there is a university near you, 
you can try to get articles at the library, as journal subscriptions are 
usually for the university network and (at least in germany) you can get 
a university library card also as a normal person for a very small fee 
(something like 10 € for a year). For finding articles

http://scholar.google.com

is not bad, although there are better search pages for which you have to 
pay a subscription fee.


Post a reply to this message

From: Invisible
Subject: Re: Differential equations FTW!
Date: 10 Jan 2008 05:41:20
Message: <4785f650$1@news.povray.org>
Florian Pesth wrote:
> Am Wed, 09 Jan 2008 10:01:11 +0000 schrieb Invisible:
> 
>> As for "Science, 261, 189, 9 July 1993", what does that actually *mean*?
>>
> (Assuming you don't already know this stuff, but maybe it is still useful 
> for someone else) It is a short way of citing articles of scientific 
> journals. In this case the journal is called "Science Magazine", the 
> volume is 261 and the pagenumber, where the article starts, is 189.
> 
> http://www.sciencemag.org/cgi/content/abstract/261/5118/189
> 
> Usually you have to subscribe to such journals to download articles, and 
> it is very expensive to subscribe to them, so usually it is only done by 
> universities or research institutions.

I see. So *this* is why you can never actually read all these papers 
they tell you exist? [I've never read a "paper" in my life, for example. 
And I'm not very clear on what one actually "is" either.]

> If there is a university near you, 
> you can try to get articles at the library, as journal subscriptions are 
> usually for the university network and (at least in germany) you can get 
> a university library card also as a normal person for a very small fee 
> (something like 10 € for a year). For finding articles
> 
> http://scholar.google.com
> 
> is not bad, although there are better search pages for which you have to 
> pay a subscription fee.

OK.

Well in this case, I probably wouldn't understand the paper in question 
anyway, but still...

-- 
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*


Post a reply to this message

From: Bill Pragnell
Subject: Re: Differential equations FTW!
Date: 10 Jan 2008 05:41:51
Message: <4785f66f$1@news.povray.org>
Florian Pesth wrote:
> http://scholar.google.com
> 
> is not bad, although there are better search pages for which you have to 
> pay a subscription fee.

Access to other search pages may also be included in a university 
library membership.


Post a reply to this message

From: Invisible
Subject: Re: Differential equations FTW!
Date: 10 Jan 2008 05:45:39
Message: <4785f753$1@news.povray.org>
Bill Pragnell wrote:

> Access to other search pages may also be included in a university 
> library membership.

Theoretically I have a lifetime membership to DeMontfort's library. That 
probably doesn't help very much though - unless I drive to Leicester. 
(Which, obviously, I'm not going to do.)

-- 
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*


Post a reply to this message

From: scott
Subject: Re: Differential equations FTW!
Date: 10 Jan 2008 06:08:41
Message: <4785fcb9@news.povray.org>
> I see. So *this* is why you can never actually read all these papers they 
> tell you exist? [I've never read a "paper" in my life, for example. And 
> I'm not very clear on what one actually "is" either.]

Try adding "site:citeseer.ist.psu.edu" into any google search you do, then 
the results list should be papers that match your search.

If I google "site:citeseer.ist.psu.edu haskell" I get 6640 results, each of 
which is a paper you can read online for free (just click the link, then 
choose the format you want to read it in at the top right).


Post a reply to this message

From: Invisible
Subject: Re: Differential equations FTW!
Date: 10 Jan 2008 06:23:42
Message: <4786003e$1@news.povray.org>
scott wrote:
>> I see. So *this* is why you can never actually read all these papers 
>> they tell you exist? [I've never read a "paper" in my life, for 
>> example. And I'm not very clear on what one actually "is" either.]
> 
> Try adding "site:citeseer.ist.psu.edu" into any google search you do, 
> then the results list should be papers that match your search.
> 
> If I google "site:citeseer.ist.psu.edu haskell" I get 6640 results, each 
> of which is a paper you can read online for free (just click the link, 
> then choose the format you want to read it in at the top right).

For reasons that aren't entirely clear, almost all Haskell documentation 
is in the form of research papers - so if they weren't available online, 
there wouldn't be any documentation at all. So it tends to be online. 
Odd arrangement...

Let's see what I get for reaction diffusion...

http://citeseer.ist.psu.edu/85000.html

OK, that looks pretty promising. [Without actually reading it yet.]

-- 
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*


Post a reply to this message

From: scott
Subject: Re: Differential equations FTW!
Date: 11 Jan 2008 04:53:21
Message: <47873c91$1@news.povray.org>
> If I get time I would like to try and implement this in a pixel shader, 
> it's exactly the thing that GPUs are good at - performing the same code on 
> a huge number of different pixels.

OK so I implemented the wave equation in a pixel shader (well 3 of them 
actually).

Runs at 75 fps at 1280x800 and looks v. sexy and smooth.  I only made a 
basic black/blue gradient for now, but it uses a texture LUT for the 
colour-map so I can replace it with anything later.

CPU usage is essentially zero during the execution, the program is speed 
limited by the number of texture look-ups to do the 2nd order 
differentiation in the x and y directions.

I used the following algorithm:

u = texture of "heights"
v = texture of velocity of heights
t = temp texture

set u and v as input textures, and t as the render target
 - calculate the new height velocity using the wave equation

swap v and t

set u and v as input textures, and t as the render target
 - calculate the new heights using the velocity information

swap u and t

set u and the input texture and the screen as the render target
 - use the colour-map LUT to choose a colour

There is another integration method called Verlet or something that 
supposedly can do this sort of simulation without needing to store the 
velocities, that should speed things up a lot as swapping around render 
targets and textures are slow operations.

After I've optimised this one a bit more I may start on implementing the 
diffuse-reaction equation next week :-)


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.