 |
 |
|
 |
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Hi,
I'm currently experimenting with Fourier-Series as isosurface-functions.
For those who don't know what Fourier-Series are, short explanation:
The theory behind Fourier-Series is that every (periodic) function can
be represented through addition of sine/cosine-waves with variable
amplitude and a frequency that is an integer multiple of a certain
base frequency. The increasing multiples of the base frequencies are
called the harmonics of the basic tone. The amplitudes of the harmonics
are the Fourier-coefficients. Now, one can approximate a function by
adding just the first few (of usually infinite) harmonics. The more
harmonics one adds the better the approximation is.
This concept is very much used in audio-applications (e.g. mp3, EQs).
My thought was, that it should now be possible to represent every
possible 3D-shape through a set of 3 Fourier-series (one for each axis).
That's the big target :)
One could do cool filtering of 3D-Shapes and morphing from every possible
3d-shape to every other just by interpolating its Fourier-coefficients.
How cool would that be? =)
For now i've started to test a bit around with 'classic' Fourier-series
for functions like pulse,sawtooth,triangle,etc...
and for each axis the same function which makes it a symmetric shape like
a cube.
I've appended 2 pics which show what i have achieved so far.
The first shows 7 distinct Fourier-series (from left to right):
1.Square(symmetry like cosine)
2.Square(symmetry like sine)
3.Triangle
4.Parabol
5.Sphere
6.Superellipsoid-like shape (no true SE)
7.an unnamed interesting series i found
From the bottom to the top row the maximum harmonics taken into account
increase. The bottom row is just the basic tone. The top row consists of
the basic tone and 9 harmonics. The only exception is the first square
function. Due to some technical issues it gets 2 harmonics per row, so
the first has two and the last 20.
I'd like to hear what you think about the idea and if someone had the same
idea or perhaps even tried something like this before.
Greetings
Thies Heidecke
Post a reply to this message
Attachments:
Download 'fourier3d_samples.png' (131 KB)
Download 'Fourier3D_rough.png' (79 KB)
Preview of image 'fourier3d_samples.png'

Preview of image 'Fourier3D_rough.png'

|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
i forgot the 2nd image. it's a close-up of the last fourier-series
with the irregular shape.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Looks interesting. A possible practical application of this would
probably be to approximate shapes like meshes which can't be easily
transformed into isosurfaces.
Apart from that there is of course some artistic value of those 3d jpeg
artefacts...
Christoph
--
POV-Ray tutorials, IsoWood include,
TransSkin and more: http://www.tu-bs.de/~y0013390/
Last updated 21 Feb. 2002 _____./\/^>_*_<^\/\.______
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
"Christoph Hormann" <chr### [at] gmx de> schrieb im Newsbeitrag
news:3C7BB4FF.67891B30@gmx.de...
>
> Looks interesting. A possible practical application of this would
> probably be to approximate shapes like meshes which can't be easily
> transformed into isosurfaces.
Yes, as a final goal i want to make an include file which is capable
of analyzing an arbitrary object and save it in form of its
Fourier-coefficients to disk and then reload it again and rendering
the iso.
> Apart from that there is of course some artistic value of those 3d jpeg
> artefacts...
What do you mean? the images are in png-format
> Christoph
Thies
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Thies Heidecke wrote:
> Hi,
>
> I'm currently experimenting with Fourier-Series as isosurface-functions.
> For those who don't know what Fourier-Series are, short explanation:
> The theory behind Fourier-Series is that every (periodic) function can
> be represented through addition of sine/cosine-waves with variable
> amplitude and a frequency that is an integer multiple of a certain
> base frequency. The increasing multiples of the base frequencies are
> called the harmonics of the basic tone. The amplitudes of the harmonics
> are the Fourier-coefficients. Now, one can approximate a function by
> adding just the first few (of usually infinite) harmonics. The more
> harmonics one adds the better the approximation is.
> This concept is very much used in audio-applications (e.g. mp3, EQs).
> My thought was, that it should now be possible to represent every
> possible 3D-shape through a set of 3 Fourier-series (one for each axis).
> That's the big target :)
> One could do cool filtering of 3D-Shapes and morphing from every possible
> 3d-shape to every other just by interpolating its Fourier-coefficients.
> How cool would that be? =)
> For now i've started to test a bit around with 'classic' Fourier-series
> for functions like pulse,sawtooth,triangle,etc...
> and for each axis the same function which makes it a symmetric shape like
> a cube.
> I've appended 2 pics which show what i have achieved so far.
> The first shows 7 distinct Fourier-series (from left to right):
> 1.Square(symmetry like cosine)
> 2.Square(symmetry like sine)
> 3.Triangle
> 4.Parabol
> 5.Sphere
> 6.Superellipsoid-like shape (no true SE)
> 7.an unnamed interesting series i found
> From the bottom to the top row the maximum harmonics taken into account
> increase. The bottom row is just the basic tone. The top row consists of
> the basic tone and 9 harmonics. The only exception is the first square
> function. Due to some technical issues it gets 2 harmonics per row, so
> the first has two and the last 20.
> I'd like to hear what you think about the idea and if someone had the same
> idea or perhaps even tried something like this before.
>
> Greetings
> Thies Heidecke
>
>
>
>
Great Idea!
Could you make an animation?
Sebastian H.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Thies Heidecke wrote:
>
> [...]
>
> > Apart from that there is of course some artistic value of those 3d jpeg
> > artefacts...
> What do you mean? the images are in png-format
>
LOL.
I meant since jpeg works with fourier coefficients too, jpeg artefacts are
somwhat similar to what's visible in your pictures.
Christoph
--
POV-Ray tutorials, IsoWood include,
TransSkin and more: http://www.tu-bs.de/~y0013390/
Last updated 21 Feb. 2002 _____./\/^>_*_<^\/\.______
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
"Christoph Hormann" <chr### [at] gmx de> schrieb im Newsbeitrag
news:3C7BC279.9E5D8FFC@gmx.de...
>
>
> Thies Heidecke wrote:
> >
> > [...]
> >
> > > Apart from that there is of course some artistic value of those 3d jpeg
> > > artefacts...
> > What do you mean? the images are in png-format
> >
>
> LOL.
>
> I meant since jpeg works with fourier coefficients too, jpeg artefacts are
> somwhat similar to what's visible in your pictures.
=] now i see, what you mean *g*
> Christoph
Thies Heidecke
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
I know that this may have a useful application, but I find it very beautiful
per se! I once found a Java applet in which you could play with the first 5
or 6 fourier coeficients and automatically you would see the periodic
function graphed. This was kind of the same thing but in 2D. I spent lots of
time playing with that little applet.
I've always liked graphics of converging series.
Congratulations,
Fernando.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
What about of a Fourier series of a whole scene?
Alberto.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
This is an interesting idea, but since you're only working with one series
per axis, won't that make it impossible to create non-symmetrical shapes?
- Slime
[ http://www.slimeland.com/ ]
[ http://www.slimeland.com/images/ ]
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
"Sebastian H." <seb### [at] web de> schrieb im Newsbeitrag
news:3C7### [at] web de...
>
> Great Idea!
Thanks
> Could you make an animation?
My computer is currently rendering a morphing animation.
I think i will post it tomorrow
> Sebastian H.
Thies Heidecke
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
"Alberto Mendoza" <jef### [at] usb ve> schrieb im Newsbeitrag
news:3C7### [at] usb ve...
> What about of a Fourier series of a whole scene?
Yes, that would be possible, but a bit impractical because
one had to take many harmonics to get the details, but that
depends on the scene. It is probably better to rebuild each
object seperate.
If i find the time i'll try to write an analyzer-macro to
reproduce arbitrary objects, so whole scenes would be
possible, too.
> Alberto.
Thies Heidecke
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
"Fernando González del Cueto" <fcu### [at] yahoo com> schrieb im Newsbeitrag
news:3c7bdf46@news.povray.org...
> I know that this may have a useful application, but I find it very beautiful
> per se!
Thanks!
> I once found a Java applet in which you could play with the first 5
> or 6 fourier coeficients and automatically you would see the periodic
> function graphed. This was kind of the same thing but in 2D. I spent lots of
> time playing with that little applet.
> I've always liked graphics of converging series.
Yes, i can imagine that. I've already written a prog to do fourier-analysis
of sound-files, and spent quite some time filtering around and such, was fun
:)
> Congratulations,
Thank you
> Fernando.
Thies Heidecke
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
"Slime" <noo### [at] hotmail com> schrieb im Newsbeitrag
news:3c7bf8c6$1@news.povray.org...
> This is an interesting idea, but since you're only working with one series
> per axis, won't that make it impossible to create non-symmetrical shapes?
currently i use one series for all 3 axis(es?), so the shapes are always
symmetrical. but that is just for ease of use while testing. If i use
distinct series for each axis with combined sine and cosine parts there are
no restrictions how the object may look like.
> - Slime
Thies Heidecke
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On Tue, 26 Feb 2002 15:32:21 -0500, Alberto Mendoza <jef### [at] usb ve>
wrote:
>What about of a Fourier series of a whole scene?
Ladies and Gentlemen, please welcome JPEG-3D!
:)
Seriously, why not? Break up the scene into voxels, then analyze each
voxel separately. It'd be interesting to see how 3D JPEG artifacts
will look.
Peter Popov ICQ : 15002700
Personal e-mail : pet### [at] vip bg
TAG e-mail : pet### [at] tag povray org
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Thies Heidecke wrote:
>
> Hi,
>
> I'm currently experimenting with Fourier-Series as isosurface-functions.
Does this imply the possibility of applying DSP techniques like band-pass
filtering and convolution to the output data sets? I have no problem with
this in the 1-D and 2-D world so shall I assume that we could, given
sufficient memory and CPU, be able to form spatially smoothed objects by using
a low-pass digital filter to the output from the fourier transform?
Dennis
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
In article <omao7u8dbrh4n4l5ndem0r9h9j2fe909ma@4ax.com>,
Peter Popov <pet### [at] vip bg> wrote:
> Seriously, why not? Break up the scene into voxels, then analyze each
> voxel separately. It'd be interesting to see how 3D JPEG artifacts
> will look.
I think this is a fairly common technique, actually.
http://www.google.com/search?q=wavelet+voxel
--
Christopher James Huff <chr### [at] mac com>
POV-Ray TAG e-mail: chr### [at] tag povray org
TAG web site: http://tag.povray.org/
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Thies Heidecke <h3i### [at] gmx net> wrote:
> For those who don't know what Fourier-Series are, short explanation:
> The theory behind Fourier-Series is that every (periodic) function can
> be represented through addition of sine/cosine-waves with variable
> amplitude and a frequency that is an integer multiple of a certain
> base frequency.
I think that the Fourier series definition is more general than that.
IIRC it was something like: Every function can be represented with the
addition of any two orthogonal functions (sin and cos are just one example
of an orthogonal function pair).
--
#macro M(A,N,D,L)plane{-z,-9pigment{mandel L*9translate N color_map{[0rgb x]
[1rgb 9]}scale<D,D*3D>*1e3}rotate y*A*8}#end M(-3<1.206434.28623>70,7)M(
-1<.7438.1795>1,20)M(1<.77595.13699>30,20)M(3<.75923.07145>80,99)// - Warp -
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
I'd like to synthesize tones from the same parameters; very simple with
additive synthesis. Do you plan to release the code for this work? Very
interesting indeed.
D.
"Thies Heidecke" <h3i### [at] gmx net> wrote in message
news:3c7bb095@news.povray.org...
> Hi,
>
> I'm currently experimenting with Fourier-Series as isosurface-functions.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Dennis Miller wrote:
> I'd like to synthesize tones from the same parameters; very simple with
> additive synthesis. Do you plan to release the code for this work? Very
> interesting indeed.
> D.
I would also like to see this code. Could have lots of fun playing around!
--
David
smuchrusher <at> ameritech <dot> net
ICQ#: 118347772
3:16pm up 16:34, 0 users, load average: 1.13, 1.08, 1.04
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
"Dennis Miller" <dhm### [at] attbi com> schrieb im Newsbeitrag
news:3c7d774f$1@news.povray.org...
> I'd like to synthesize tones from the same parameters; very simple with
> additive synthesis. Do you plan to release the code for this work?
Sure, i will release the code if someone is interested, but at the moment
the code is just experimental and not very well structured. I wanted to
post a final version as a nice .inc-file but if u like i can post what i
have so far.
> Very interesting indeed.
Thanks
> D.
Thies Heidecke
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
"David F" <smu### [at] ameritech net> schrieb im Newsbeitrag
news:3c7d7afd@news.povray.org...
> Dennis Miller wrote:
>
> > I'd like to synthesize tones from the same parameters; very simple with
> > additive synthesis. Do you plan to release the code for this work? Very
> > interesting indeed.
> > D.
>
> I would also like to see this code. Could have lots of fun playing around!
> 3:16pm up 16:34, 0 users, load average: 1.13, 1.08, 1.04
ok, i just posted the source in p.b.s-f.
have fun with it
Thies Heidecke
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |