Login - Create Account
Bookmark and Share

The Pursuit for Paths

<< 1 2 >>

Login or Register to post new topics or replies
ThreeDee
Lost in Space

Posts: 1140
Filters: 89
Fo the longest time, I've been wondering how to realize something resembling freehand paths in FF. Today I made my first real breakthrough in this. This simple little picture has a story to tell.

  Details E-Mail
ThreeDee
Lost in Space

Posts: 1140
Filters: 89
The story is that it is "drawn" from two (random) noise gradient inputs which give the X and Y coordinates OVER TIME for a single point.

With the help little script that I put together, the location of this point over time is drawn all the same time onto the canvas.

I will describe this in more detail in the near future.
  Details E-Mail
SpaceRay
SpaceRay

Posts: 6221
Filters: 12
WOW!! This could be very interesting and and could be something very good for FF to have freehand paths!!

Nice example you have put and amazing that this comes from two noise gradients inputs with a script and... the other things you have used

I will wait for your more detailed description

Put a note, do not disturb, GENIUS working smile:D
  Details E-Mail
Morgantao
Can't script

Posts: 2185
Filters: 20
I love how it's a closed path, and not just a random squigly line going nowhere.
Genius at work indeed! smile8)
  Details E-Mail
ThreeDee
Lost in Space

Posts: 1140
Filters: 89
So here's how it works, in more detail:

There are three inputs to the script, grayscale maps for X and Y and an integer slider for number of points.

The grayscale maps are simply two noise gradients.

  Details E-Mail
ThreeDee
Lost in Space

Posts: 1140
Filters: 89
The script tells how many samples to take from left to right on these gradients.

  Details E-Mail
ThreeDee
Lost in Space

Posts: 1140
Filters: 89
And converts the gray values at these points to X and Y positions.

  Details E-Mail
ThreeDee
Lost in Space

Posts: 1140
Filters: 89
With ten points that looks like random points, but as you increase the number of points, you start getting a line. Here is the same with 128 points.

  Details E-Mail
ThreeDee
Lost in Space

Posts: 1140
Filters: 89
And finally, we connect the dots:

  Details E-Mail
ThreeDee
Lost in Space

Posts: 1140
Filters: 89
When you change the variation, you get a different x and y points and a different resulting line.

  Details E-Mail
ThreeDee
Lost in Space

Posts: 1140
Filters: 89
When you scale up the noise, you get simpler shapes.

  Details E-Mail
ThreeDee
Lost in Space

Posts: 1140
Filters: 89
And smaller scale noise gives you more scribbles for your money.

  Details E-Mail
SpaceRay
SpaceRay

Posts: 6221
Filters: 12
WOW!! Wonderful results!! Like very much how you have been able to make the scribbles from LOTS of points multiplied to form lines. Great work.
  Details E-Mail
ThreeDee
Lost in Space

Posts: 1140
Filters: 89
Different types of noise inputs give different results. Block noise gives you more angular lines.

  Details E-Mail
ThreeDee
Lost in Space

Posts: 1140
Filters: 89
A contrasty cells noise tends towards the edges...

Due to the complexity of the line, I had to use 1000 points here, so it is pretty slow. Nevertheless, quite a charming little scribble.

  Details E-Mail
ThreeDee
Lost in Space

Posts: 1140
Filters: 89
But wait, now the fun really starts: Two sine curves fed in as inputs gives you...

  Details E-Mail
ThreeDee
Lost in Space

Posts: 1140
Filters: 89
Did you guess what two sine curves blended together would make?

  Details E-Mail
ThreeDee
Lost in Space

Posts: 1140
Filters: 89
Or three?

  Details E-Mail
ThreeDee
Lost in Space

Posts: 1140
Filters: 89
Just add elevation gradient:

  Details E-Mail
ThreeDee
Lost in Space

Posts: 1140
Filters: 89
Never gonna look at a sine curve the same way again.

  Details E-Mail
ThreeDee
Lost in Space

Posts: 1140
Filters: 89
Thought you would never ask. Yes, you can use it for surface filters as well, although render times rapidly get into the CPU- and patience-testing ranges.

  Details E-Mail
xirja
xirja.com

Posts: 198
Filters: 1
2d parametric curves in FF, an excellent breakthrough! Does it use a bomber and how are the points connected? Is it possible to get variable line thickness as a function (x^2+y^2)^(1/2) like this:

http://www.youtube.com/watch?v=Md1q2oShx8A
  Details E-Mail
ThreeDee
Lost in Space

Posts: 1140
Filters: 89
Quote
Does it use a bomber and how are the points connected?


No, it is a script that draws the points and the lines in between. Currently the lines are straight lines.

Quote
Is it possible to get variable line thickness as a function (x^2+y^2)^(1/2) like this:


Yes, this can be easily included in the script.
  Details E-Mail
ThreeDee
Lost in Space

Posts: 1140
Filters: 89
Here's the line drawing scrippet.

The nice thing is that the script calculates the distance from the line and end points, so you can vary the line thickness by just thresholding the output.

Line Drawing scrippet.ffxml
  Details E-Mail
ThreeDee
Lost in Space

Posts: 1140
Filters: 89
Quote
Is it possible to get variable line thickness as a function (x^2+y^2)^(1/2)

Actually, no need to put it in the script, you can just threshhold it with a circular gradient:

  Details E-Mail
ThreeDee
Lost in Space

Posts: 1140
Filters: 89
Heh, the next step was easier than I expected...

Not real fast in rendering, but it's the real thing.

  Details E-Mail
ThreeDee
Lost in Space

Posts: 1140
Filters: 89
Okay, so what to do with all this?

Inputting actual X and Y values is quite tedious, for to make the above Bezier curve, you have to use 8 inputs, x and y values for all four points defining the curve. So that makes 8 sliders

It seems the more sensible approach is to use the built-in noises as sources for x and y information.

Or to program the values mathematically for such things as a fractal tree. Or for wireframed 3D objects. Or road maps between cities. Or tessalation patterns.

Now off to figuring out how to filled those closed shapes...
  Details E-Mail
ThreeDee
Lost in Space

Posts: 1140
Filters: 89
Oh yeah, one more thing. The script output actually looks like the picture below. It gives the distance from the nearest line. Then it can be put through a threshold or other things to give the desired line weight etc.

  Details E-Mail
ThreeDee
Lost in Space

Posts: 1140
Filters: 89
It wasn't too hard getting the fills. But now it is slow as molasses with both the line and the fill, so needs some optimization.

  Details E-Mail
lipebianc
FFF = Filter Forge Fan

Posts: 555
Filters: 12
This is awesome, ThreeDee!!!!
You're raising the bar in the filter construction territory! smile:ff:
Thank you for your efforts, congratulations and respect for your achievement!
"From the moment we are born, we start being filtered..."
  Details E-Mail
xirja
xirja.com

Posts: 198
Filters: 1
Totally! Splines AND filling, oh yeah! Looking forward to this one! Also its nice to have opacity on the filling so that you can get gradations on the overlaps, such as:
Image
  Details E-Mail
SpaceRay
SpaceRay

Posts: 6221
Filters: 12
Quote
lipebianc wrote:
This is awesome, ThreeDee!!!!
You're raising the bar in the filter construction territory!


I totally agree with lipebianc and I say the same as you.

Congratulations for your work.

Quote
xirja wrote:
Totally! Splines AND filling, oh yeah!


WOW! very well done and very beautiful geometric shape, good work.

ALSO like very much all the beautiful and awesome works you have in your website here
  Details E-Mail
Skybase
Who are you?

Posts: 1950
Filters: 58
Sweeet! Love the script, very simple but so awesomely done!
  Details E-Mail
Kraellin
Kraellin

Posts: 12533
Filters: 97
3D, did you mean the line drawing scrippet to draw more than straight lines, cause that's all it seems to do?
If wishes were horses... there'd be a whole lot of horse crap to clean up!

Craig
  Details E-Mail
ThreeDee
Lost in Space

Posts: 1140
Filters: 89
Quote
3D, did you mean the line drawing scrippet to draw more than straight lines, cause that's all it seems to do?


Yes, that scrippet demonstrates drawing just one line. I'm still trying to come up with a more sensible path-drawing filter that I could submit to the filter library. Maybe I'll make something out of the sine curve input version. That will include the multiple-line drawing script.
  Details E-Mail
ThreeDee
Lost in Space

Posts: 1140
Filters: 89
I put the Sine-O-Graph filter in the queue, so you'll be able to dissect it. It is actually a fairly simple script.

  Details E-Mail
xirja
xirja.com

Posts: 198
Filters: 1
Quote
Actually, no need to put it in the script, you can just threshhold it with a circular gradient


Oh right smile:D , the power of threshhold!

Quote
Or to program the values mathematically for such things as a fractal tree. Or for wireframed 3D objects. Or road maps between cities. Or tessalation patterns.


Many exciting possibilities there for sure.

Quote
But now it is slow as molasses with both the line and the fill, so needs some optimization.


And then I go and suggest opacity, bumping my graphic. I'm really not a smart ass most days, really smile:|

Quote
ALSO like very much all the beautiful and awesome works you have in your website here


Thanks SpaceRay, those were done in Mathematica (totally script and pixel based), so to be able to do something similar in Filter Forge is the tops. I've already found FF to be far superior in doing density plots using the scripting component; in a pixel based environment it is painfully slow.

...scalpel...check smile8)
  Details E-Mail
ThreeDee
Lost in Space

Posts: 1140
Filters: 89
A slight modification, giving two separate inputs for x and y (line beginning points and line end points) gives us for instance this:

  Details E-Mail
ThreeDee
Lost in Space

Posts: 1140
Filters: 89
Improved version of the same.

  Details E-Mail
ThreeDee
Lost in Space

Posts: 1140
Filters: 89
With color added.

  Details E-Mail
Ghislaine
Ghislaine

Posts: 1558
Filters: 91
Great ! I love wireframed 3D objects. The last example is awesome. For more comprehension, because all this seems to me a bit complicated, can you post the settings for the last one when your Sine-O-Graph filter will be in the library, please ? smile:)
Ghislaine @ http:3dscreensaver.t15.org
  Details E-Mail
ThreeDee
Lost in Space

Posts: 1140
Filters: 89
Hi Ghislaine,

The last example is a different version of the script, so you can't do it with the Sine-O-Graph. Not sure if this one is going to end up in the library.
  Details E-Mail
Ghislaine
Ghislaine

Posts: 1558
Filters: 91
3D wrote
Quote
Not sure if this one is going to end up in the library.



Please, it would be kind if you share this one with us. Hoping I will see this other wonder in the library. Thanks for sharing the version 1. smile:)
Ghislaine @ http:3dscreensaver.t15.org
  Details E-Mail
ThreeDee
Lost in Space

Posts: 1140
Filters: 89
Revisiting the good old fractal tree, this time with actual lines and overlap...

  Details E-Mail
Skybase
Who are you?

Posts: 1950
Filters: 58
Of course you'd do that lol. Sounds like the next step is to go even above and beyond. L-Systems? hehe
  Details E-Mail

<< 1 2 >>

Join Our Community!

Filter Forge has a thriving, vibrant, knowledgeable user community. Feel free to join us and have fun!

15,390 Registered Users
+8 new last day!

112,650 Posts
+23 new last day!

10,105 Topics
+15 new in 7 days!

Online Users Last 5 minutes:

7 unregistered users.

Recent Wiki Edits:

Follow filterforge on Twitter