uberzev
![]() |
For example make a profile gradient and set it's profile to smooth. Now is there a way to take that gradient's output and restore it to a linear profile?
|
|||||
Posted: April 15, 2007 6:34 am | ||||||
Crapadilla
![]() |
You mean like this...?
Un-Curve_.ffxml --- Crapadilla says: "Damn you, stupid redundant feature requests!" ;) |
|||||
Posted: April 15, 2007 6:54 am | ||||||
uberzev
![]() |
Yes, except you cheated and used a reverseable curve. I need to get it to work with the smooth (1/2 sine) curve.
|
|||||
Posted: April 15, 2007 6:57 am | ||||||
Crapadilla
![]() |
If one could replicate the 'smooth' curve built into the profile gradient with curve components, then one should also be able to invert+reverse that curve, no?
--- Crapadilla says: "Damn you, stupid redundant feature requests!" ;) |
|||||
Posted: April 15, 2007 6:59 am | ||||||
uberzev
![]() |
|
|||||
Posted: April 15, 2007 7:04 am | ||||||
Crapadilla
![]() |
Yes, I see your dilemma now...
![]() --- Crapadilla says: "Damn you, stupid redundant feature requests!" ;) |
|||||
Posted: April 15, 2007 7:11 am | ||||||
uberzev
![]() |
It seems to me that if you know the exact curve used to adjust an image there should be some way to reverse the effect.
|
|||||
Posted: April 15, 2007 7:14 am | ||||||
ssamm |
Can you give another example of the problem?
To make a smooth curve become a linear curve you could just blend it with a linear curve with the linear part being at 100%. (I.e. I think I don't understand the question enough.) |
|||||
Posted: April 15, 2007 7:56 am | ||||||
uberzev
![]() |
ssamm I'm trying to make this "repair" starting from the output of the smooth gradient. For what I need you can't mess with its imputs.
I think the answer lies in a Sine to Triangle wave transform. The problem is the math totally escapes me. |
|||||
Posted: April 15, 2007 8:02 am | ||||||
ssamm |
Actually I was imagining putting the smooth gradient back into a curve and then blending that with the linear curve. (So I wasn't really touching the input into the smooth gradient...)
I'm sure this isn't the type of repair you're looking for, though. ![]() uncurvemisunderstood.ffxml |
|||||
Posted: April 15, 2007 8:29 am | ||||||
uberzev
![]() |
thanks for the try ssamm, that doesn't do what I want though.
![]() ![]() |
|||||
Posted: April 15, 2007 8:32 am | ||||||
aides |
Is this what you mean?
There are 4 examples : Profile Gradient (Smoothed & Reflected Smooth), Step & Impulse. Impulse is not quite right & doesn't account for the shape & balance functions of the component. ![]() Reverse Smooth.ffxml |
|||||
Posted: April 15, 2007 11:16 am | ||||||
aides |
Corrections to my previous snippet.
1) Corrected an error in the STEP example. 2) Have combined the various Profile smoothing options (smooth, reflected)into a single example. 3) The various controls on the inputs of the smoothed profile are included only for demonstration/testing of the various modes. 4) Have removed the Impulse example (this one is complicated!). But I think that this is not what you are looking for. These examples only re-create the linear smoothing curves - what you want, I think, is how to recreate the smoothing curves ?? Reverse Smooth 2.ffxml |
|||||
Posted: April 15, 2007 11:11 pm | ||||||
aides |
uberzev
Disregard my previous posts - I (think I) misunderstood. This is closer, but is still not quite correct !! I think it has to do with the hue/sat/lit of color 1 & color 2 ??? Maybe you can work it out from this !?! Ex: 1 = Profile - Linear to Smooth Ex: 2 = Profile - Smooth to Linear Ex: 3 = Step - Smooth to Linear Reverse Smooth 3.ffxml |
|||||
Posted: April 16, 2007 3:19 am | ||||||
uberzev
![]() |
Thanks for the attempts aides, you have the right idea on those examples, its just the precision is lacking a bit.
Here's the exact curve (inverse sine) I need to solve this problem... ![]() I can't seem to make it using the available tools. (I cheated for this example by making it a shape first) |
|||||
Posted: April 16, 2007 5:09 am | ||||||
byRo
![]() |
I've been away awhile stringing nodes together in Poser.
When I recently made a Cartesian / Polar converter there, a colleague (bagginsbill) suggested a very neat ArcSin() implementation. See here: RunTimeDNA Basically, in 0..1 space this becomes: 1 - sqrt(1-G)*(1 - 0.135036*G + 0.047276*G2 - 0.011923*G3) G = Gradient, G2 is G squared and G3 is G cubed. I'm a bit rusty in FilterForge, and I'm sure you can fix this up quite quickly. [ BTW, as I remember: use Gamma = 30,1029995663981 for Sqrt() ] Rô _________________________________
My favourite question is "Why?". My second favourite is "Why not?" |
|||||
Posted: April 16, 2007 8:46 pm | ||||||
uberzev
![]() |
Thanks for the reply byRo. I really wish I understood all that math.
![]() There's no rush on this really, It's just I figured out a way to make a 99.999999% perfect radial angle gradient and I need this exact curve to achieve it. (In the meantime you guys will just have to make due with the current 99.5% perfect version. |
|||||
Posted: April 16, 2007 9:43 pm | ||||||
Vladimir Golovin
Administrator |
Man, you scare me!
|
|||||
Posted: April 17, 2007 8:16 am | ||||||
aides |
There are 2 implentations of ArcSin()here. The first is a simple, close approximation(97% ??). The second is (I think !) an implementation of the formula given byRo. Hope this helps. ArcSin i1 j 2o.ffxml |
|||||
Posted: April 17, 2007 8:17 am | ||||||
uberzev
![]() |
Brilliant aides. That second example is 99.999% perfect. We're lucky to have geniuses like you and byRo around.
![]() I've made a simplified version of your implementation. It shows were we're very close to perfection. I think the minor differences lie in a lack of precision. FF goes all the way up to 8 digits and byRo only posted 6. (I could be wrong though) Arcsine.ffxml |
|||||
Posted: April 17, 2007 8:26 am | ||||||
ssamm |
Very impressive stuff, guys -- rather educational.
I doubt general users/artists would use this sort of math much -- but it is intriguing nonetheless. (I.e. I'm also glad you scary type of people are around. ![]() |
|||||
Posted: April 17, 2007 1:58 pm | ||||||
Ken |
Hi.
Brilliant Aides. And thanks for the check box memos. They really help to understand how it works. Ken. |
|||||
Posted: April 17, 2007 8:02 pm | ||||||
byRo
![]() |
Zev, the formula I gave above can be seen HERE in it's original form.
Don't forget that it is an approximation, so even if you throw 20 digits at it you'll still have some inherent error. Just to be different - here's an interative calculation. It's v...e...r...y slow, but folks might find it interesting. Rô Sine_Inversion.ffxml _________________________________
My favourite question is "Why?". My second favourite is "Why not?" |
|||||
Posted: April 19, 2007 9:49 pm |
Filter Forge has a thriving, vibrant, knowledgeable user community. Feel free to join us and have fun!
33,711 Registered Users
+18 new in 30 days!
153,531 Posts
+36 new in 30 days!
15,347 Topics
+72 new in year!
33 unregistered users.