Kraellin
![]() |
curves are extremely versatile, but i find one thing i'm having trouble with when trying to get one effect with them. i want to put a curved edge on a profile gradient with a curve plugged into the profile node. i can currently get a solid edge and a feathered edge, but not a solid, curved edge. is this possible to do WITHOUT using a noise distortion component?
also, and this may sound silly, is it possible to get a curve that doesnt touch any of the edges? like, could i get a blue circle of a curve that is completely centered within the curve thumb? i dont think you can currently, but i was curious about this. in my head, this would display on an image as all midtones, but i may have this wrong. If wishes were horses... there'd be a whole lot of horse crap to clean up!
Craig |
|||||
Posted: May 26, 2007 1:28 pm | ||||||
ronviers
![]() |
||||||
Posted: May 26, 2007 1:58 pm | ||||||
ronviers
![]() |
Here is one with a blue circle in it but I realize this is probably not what you're asking.
Blue curve.ffxml @ronviers |
|||||
Posted: May 26, 2007 2:01 pm | ||||||
Kraellin
![]() |
hi ronviers,
no, i was referring to the thumbnail preview of any curves component, the actual curve of a curves component. If wishes were horses... there'd be a whole lot of horse crap to clean up!
Craig |
|||||
Posted: May 27, 2007 8:37 am | ||||||
ssamm |
Kraellin,
I hope this is sort of relevant to what you had in mind...
You might try inputting green components into the green inputs of the curves. (For example: maybe input a perlin noise into the threshold input of a step curve, then input that curve into the profile of the gradient.) This seems to give the curve an extra dimension where each horizon line in the gradient has it's own curve (instead of always using the same curve for each line). ...At least that's how I'm understanding it.
Using curve controls and Curve Ops, you can cause the blue parts of the curve to not touch the left, top, and right sides, but I believe the blue always has to touch the bottom. That is, for any input point, the curve only returns one output instruction -- otherwise the profiled gradient would be getting two different instructions for only one place on its map (...which is slightly different than using different curves for each different point/line on the map, as described above). I guess I explained that awkwardly, but maybe it's still helpful somehow... ![]() |
|||||
Posted: May 27, 2007 6:34 pm | ||||||
Kraellin
![]() |
thanks, ssamm. i guess that's what i dont quite understand, why the curve has to touch the bottom. i know that's the way it is in almost any graphic editor, but i must be missing something about how curves work.
If wishes were horses... there'd be a whole lot of horse crap to clean up!
Craig |
|||||
Posted: May 27, 2007 7:35 pm | ||||||
ssamm |
It might be helpful to read "Tone Curves Explained" in the FF Help manual.
Here's a little more info: The curve just represents a single line, where if some location on the image/channel has the value of 25 (rather dark), then the curve changes it to what the curve's Y value is at X=25. The blueness below the Y value in the component thumbnail perhaps is just there to help see the curve better. I think it would be hard to see just a thin blue line with white above and white below it with such small thumbnails -- but the line itself is actually the only information that gets used. Meanwhile, if the blueness did not reach the bottom (e.g the curve was a circle floating in the center of the graph), this would seem to suggest that there are two Y values for certain X values on the graph. For example: If some location's original value is 25, and if at X=25 on the curve, the bottom part of the blue circle is at Y=33 and upper part of the blue circle is Y=66, the curve adjustment would have a problem since it can't return both those different values for just the one location of the image (i.e. Should it give the location a brightness value of 33 or 66?) I'm not sure if that helps, but I think I didn't explain it too well before, so I thought I'd add a bit more. |
|||||
Posted: May 27, 2007 11:50 pm | ||||||
ronviers
![]() |
Now I think I understand what you’re asking – after ssamm’s further elaboration. Here is a small block from the skew filter I had been working on. Notice the impulse curves that while in absolute terms are touching the bottom, they have to since they’re functions, they are relatively higher which constrains their effects to a localized region of the artboard. If you play with the sliders you will see that all changes are made globally but on a relative basis. The Resize/Crop/Move has better examples of this but in my opinion they are not as clear. I hope this helps but more likely this is something you already knew.
Curve demo.ffxml @ronviers |
|||||
Posted: May 28, 2007 1:06 am | ||||||
ronviers
![]() |
Hi Kraellin, I don't know what you're doing with the noise distortion component but it sounds interesting. Do you have an example you can post of what you have going on? Thanks, Ron @ronviers |
|||||
Posted: May 28, 2007 9:29 am | ||||||
Kraellin
![]() |
ssamm, thanks
![]() ok, got it now, except for one thing. i can make a feathered effect with a curve and the curve thumb will show this as a sort of lighter shaded blue where the feathering occurs. is this like a broken line effect in the curve? you said:
If wishes were horses... there'd be a whole lot of horse crap to clean up!
Craig |
|||||
Posted: May 28, 2007 9:34 am | ||||||
Kraellin
![]() |
ok, i'm posting an image of your example of plugging a perlin into a step and that into a profile gradient. and the question is still, i dont quite understand here why this isnt an example of what you were saying cant or isnt done, the whole double plotting of X with more than one Y. in the image you can see different shades of the blue over and above the darker shades. so, it seems to be modifying the Y's with more than one value.
![]() If wishes were horses... there'd be a whole lot of horse crap to clean up!
Craig |
|||||
Posted: May 28, 2007 9:48 am | ||||||
ronviers
![]() |
||||||
Posted: May 28, 2007 10:05 am | ||||||
Kraellin
![]() |
ronviers,
well, i'm no longer trying to make a circle in a profile gradient using curves. i'm just trying, at this point, to understand how the curves are working. but those are interesting filters. so, thanks ![]() If wishes were horses... there'd be a whole lot of horse crap to clean up!
Craig |
|||||
Posted: May 28, 2007 10:15 am | ||||||
ronviers
![]() |
It may be that the range of the function vastly out numbers the display’s (artbox dimensions) ability to graph the domain so it only appears that there are multiple y’s.
@ronviers |
|||||
Posted: May 28, 2007 10:27 am | ||||||
Kraellin
![]() |
ronviers,
yes, that could be, but there still seems to be 'shades' of Y's here, and those are plotted and show in the thumb. If wishes were horses... there'd be a whole lot of horse crap to clean up!
Craig |
|||||
Posted: May 28, 2007 11:14 am | ||||||
ssamm |
Kraellin,
About inputting a green component into a curve, I'm only guessing at what's going on, but I'll try to explain my idea better... In the blue curve thumbnail (in your example image above), I think we are looking at several curves on top of each other. Each curve will adjust just one horizontal row of "pixels" in the profiled gradient. (I.e. row-1 is adjusted by curve-1, row-2 is adjusted by curve-2, etc, etc.) I'll attach a simpler example below. Instead of using perlin noise, I'm just inputting a linear gradient (rotated at 270 degrees) into the curve's threshold. (I then adjusted smooth to 0 for simplicity's sake.) This rotated gradient is creating vertical/threshold curves, where at the top (of the profiled gradient) the threshold curve is at 100, in the middle the threshold is 50, and at the bottom the threshold is 0. So when theses curves "profile" the final gradient, the top row will only use color 1. The middle row will at first use color 1, then halfway across switch to color 2. The bottom row will only use color 2. (So the idea here is that in the profiled gradient, there is no single location that is getting 2 different Y values, but rather each row is using a different curve.) I hope this helps, but to be honest, things start getting unpredictable to me when I add in the slightest of complexities... curvewithgreencomponent.ffxml |
|||||
Posted: May 28, 2007 4:32 pm | ||||||
ronviers
![]() |
I think your thesis is backed up with this filter. Notice the components attached to the three curves at the top – the bottom stuff is just me playing around. The middle curve is a combination of three states; feathered, non-feathered and mixed. If you move the slider back and forth this shows that when a feathered curve is used as an input to a gradient, the gradient direction and repeat value are ignored. In other words even though the gradients on the right are out of phase they still both track the phase of the input gradient. This would be explained if each row uses a separate curve.
I also noticed that each of the three degrees of opacity used to represent the curve feather is determined by only even or odd integers. Test.ffxml @ronviers |
|||||
Posted: May 28, 2007 4:47 pm | ||||||
ssamm |
Interesting, Ron. It got me confused...
![]() I'm starting to think that the "row" idea may be misleading though, where it might be better to just say each "area" uses a different curve. I found a help page in the FF manual titled "Map Inputs" (under the "Components" section) which may be helpful here. However, still with me, I'll make a certain combination and not fully see why it gives certain results. For example, in my attached filter above, if that first gradient is rotated to 0 degrees, I don't see why it results in periodic vertical gray lines with a white background in the final gradient. Since the curve's Smooth parameter is set to 0, how is there gray in the final gradient? (Maybe it does make two Y's for one location and then it blends them?) ... ![]() |
|||||
Posted: May 28, 2007 5:44 pm | ||||||
ronviers
![]() |
I think there is a single curve and I think there is only one y. FF must be compressing x by doing a simple arithmetic shift left on even and shift right on odd (a simply multiply) – whatever its doing it does it fast. Maybe the intermittent gray lines are just harmonics. Obviously there is a possibility for FF to display and to work with up to 600 y’s per column, I can prove that, but I think they only exist on the surface. It would be a total mess internally if FF did something as crazy as what it appears to be doing. Then again, I am usually wrong.
![]() @ronviers |
|||||
Posted: May 28, 2007 7:00 pm | ||||||
ssamm |
Ron,
Hmmm, I was/am thinking that there is a single curve for each location, ...but in total there would be 600x600 (or whatever) slightly different curves for the entire image/gradient. That is, for each location, it uses the "same curve", but a different variable for the parameter that the map inputs to. For example, if the input-map's top left corner is black/0, then the threshold for the Step Curve will be 0 when it calculates the top left corner of the profiled gradient. (BTW, I'm not sure if I'm repeating what you meant or saying something different.)
I didn't really understand this, but it sounds possible. From what I can tell, the gray lines are just an anomaly when the input-gradient is linear, and when the profile gradient has the same rotation as the input gradient. By giving the input gradient a slight bias or gain, then things seem to work as predicted. I'll attach a filter to illustrate what I'm looking at. curvewithgreencomponent2.ffxml |
|||||
Posted: May 28, 2007 8:24 pm | ||||||
Kraellin
![]() |
yup. i'm lost too, but still studying. one thought that crossed my mind is that the shaded areas are degrees of opacity in the output. still studying that idea, though.
another thing i've noticed is that different colors map differently when run through a curves. and, it makes a HUGE difference what node you plug into on a curves. and that last has given me some good ideas. also, for easier studying, guys. i'd suggest limiting the number of variables here. for instance, turn off one of the colors in your profile gradients. things get a little easier that way. If wishes were horses... there'd be a whole lot of horse crap to clean up!
Craig |
|||||
Posted: May 29, 2007 2:57 pm | ||||||
ronviers
![]() |
Maybe we should think of the additional y’s as x’es on z. Curves that extend perpendicular to x and y axis. That would make each component a cube.
@ronviers |
|||||
Posted: May 29, 2007 7:35 pm | ||||||
ssamm |
Ron,
Yeah, maybe... I think there is a "3-D nature" of sorts going on when you input an image map into the curve. There is the (x,y) location on the images/gradients, and each location has it's own parameter value (coming from the map input) for the curve. But earlier, when I mentioned X and Y, I was meaning X to be an input value for a curve and Y being the output value. E.g.: 1. the curve takes an input-X value from location (x,y) from the profiled gradient, 2. and a parameter-P value from the same location (x,y) from the input-map, 3. and then calculates a new output-Y value for a final result for location (x,y). (...So there is an X and Y for a curve, and an x and y for each location in the images/gradients -- which I'm sure is nice for adding confusion. ![]() |
|||||
Posted: May 30, 2007 3:42 am |
Filter Forge has a thriving, vibrant, knowledgeable user community. Feel free to join us and have fun!
33,712 Registered Users
+19 new in 30 days!
153,534 Posts
+31 new in 30 days!
15,348 Topics
+72 new in year!
35 unregistered users.