ah got it, I just assumed it was C code
FYI, it is an expression separator, where the last assigned value is returned.
@Thanatomanic I found that this is wrong:
C:\Windows\System32>gmic echo {n=16;base=4;logb(n)=log(n)/log(base);n">"=base?(t=floor(logb(n));n+(n+1)*t+(base*(1-base*t))/(base-1)):n;}
[gmic]-0./ Start G'MIC interpreter.
[gmic]-0./ 40.666666666666664
[gmic]-0./ End G'MIC interpreter.
The correct is suppose to be 30.
EDIT: Oh, it was supposed to be in power function. My bad.
I went back to see if I can make the gradient in gmic, but this shows up as math processing error.
Edit: Now I see it in quote. Sorry about that.
I think I’m realizing the answer involve using newson-raphson method. This way I can directly map a Archimedes spiral ramp in 2D array.
Does anyone has any idea how the coefficient are found: How To Get A Spline's Length Using Gauss–Legendre Quadrature? | Noah Zuo's Blog
Derivative and something else, but missing something.
Read Gauss–Legendre quadrature - Wikipedia. See references.
It’s not that I want to know. It’s this part that I can’t figure out:
FVector Coeff1 = ((P0 - P1) * 2.0f + T0 + T1) * 3.0f;
FVector Coeff2 = (P1 - P0) * 6.0f - T0 * 4.0f - T1 * 2.0f;
FVector Coeff3 = T0;
Where exactly are these coming from?
A guess is that it describes a spline. I say that because GLQ is a means to an end, which is to calculate the length of a spline.
I guess I will have to resort to Gravesen. This gives me a better approximation than the UE4 approach which cannot be used due to its license.
There is a pdf here - Adaptive subdivision and the length and energy of Bézier curves - ScienceDirect
And this is the test between the UE4 and gravesen - How long is that Bézier? | Raph Levien’s blog
Still hope there is a break for me to find distance of cubic spline.
Here’s a challenge I have been doing for days.
Solve for n in this expression:
(sqrt(tau*n)*(n/e)^n)/(sqrt(tau*r)*(r/e)^r)*(sqrt(tau*(n-r))*((n-r)/e)^(n-r))=v
There’s an application to this. I was doing combinatories, and getting the approximate n to the gamma variation of n choose r formula which would reduce the number of loop into finding combinations with repetition given a rank. I don’t know how to use the lambert W(), and I do believe an approximation exist. If I copy 1,2,3 into y, and copy the result of n C r into x, one get something akin to a scaled logarithmic curve or LambertW() curve, so I have no reason not to believe an approximation cannot exist. The exact solution to the gamma function variation of n C r on the other hand, I don’t think it exists.
Also, Wolfram Alpha can’t solve my problem, so…
Neither can ChatGPT
One of the several summaries presented by AI…
To solve the expression for the variable n, we need to isolate n on one side of the equation. Let’s simplify the expression step by step:
Expression: (sqrt(taun)(n/e)^n)/(sqrt(taur)(r/e)^r)(sqrt(tau(n-r))*((n-r)/e)^(n-r))
We can simplify the square roots:
sqrt(taun) / sqrt(taur) = sqrt(n/r)
Next, let’s simplify the exponentials:
(n/e)^n / (r/e)^r = (n^ne^(-n)) / (r^re^(-r)) = (n^r * (n/e)^n) / (r^r * (r/e)^r) = (n^r * n^n) / (r^r * r^r)
(sqrt(tau*(n-r))*((n-r)/e)^(n-r)) = sqrt((n-r)*tau) / ((n-r)/e)^(n-r)
Now, let’s combine all the simplified terms:
(sqrt(n/r)) * ((n^r * n^n) / (r^r * r^r)) * (sqrt((n-r)*tau) / ((n-r)/e)^(n-r))
Let’s simplify further by combining the fractions:
(sqrt(n/r)) * ((n^r * n^n * sqrt((n-r)*tau)) / (r^r * r^r * ((n-r)/e)^(n-r)))
To solve for n, we need to set the expression equal to a constant value. Let’s say the constant is C:
(sqrt(n/r)) * ((n^r * n^n * sqrt((n-r)*tau)) / (r^r * r^r * ((n-r)/e)^(n-r))) = C
At this point, the equation becomes quite complex and does not have a straightforward algebraic solution. Solving this equation for n would require numerical methods or approximation techniques.
Regenerate response
Yes, I suspect it has to do with lambert W function in order to solve the equation, and the gamma version is much harder to solve. It may be that there’s no solution, but an approximation is still out there. I looked elsewhere, but there isn’t a good approximation.
If you can express the first derivative of your expression w.r.t. n
(it seems possible at a first glance), then you may try gradient descent. That’s the simplest algorithm for doing optimization.
If you can express the second derivatives as well, then try the Levenberg-Marquardt variant, which usually converges faster.
Keep in mind that these methods works better when your function is convex (not sure that’s the case here, I’ve not checked).
@David_Tschumperle Thanks. I found something close, but decided to went with desmos for visual math inspection.
Here, I found something that would drastically reduce the number of loops for my g’mic command rep_r_combination_index2list: Graphing Calculator
I can change n, and the you see that it’s off by +3/+3 for 26. Which means I don’t need to do as much loops in that command.
I’m certainly adding desmos to my list of tool whenever I have to find something like this.
Well, the above didn’t work good.
Anyways, I have a easier math question to answer.
n is the cardinality of list of natural number.
M is the forward concatenation of n
N is the backward concatenation of n
n=123
M=1234567891011...
N=123122121....
Easy to know which is greater. Count the number of digits. In this case, At n>123, N>M until n=1000.
Note that M has 123 joined with 122 joined with 121
Once n=12345678910:
M=123456789101112...
N=123456789101234567899..
N>M at this point.
So, by only knowing n. How exactly do I know whether M or N is greater?