Unfortunately, I am unable to comment because I have under 50 reputation. However, I will try to answer your question. I'm not sure what you mean by the "plume function will be rotated 360º around the origin"; I assume it is fixed at that orientation.
Finding the intersection is simply to find the points where the outputs of the 2 functions are equal.
$$\text{Plume}(x) = \text{Ray}(x)$$
$$Bx^2+Ax+\text{Radius} = \text{RayDirection}\cdot x + \text{RayOrigin}$$
$$B\cdot x^2+(A-\text{RayDirection}) \cdot x+(\text{Radius}-\text{RayOrigin})=0.$$
Now it is simply a matter of applying the quadratic formula $$x_{1,2} = \frac {-b \pm \sqrt{b^2 -4ac}} {2a}$$ with $a=B$, $b=A-\text{RayDirection}$ and $c=\text{Radius} - \text{RayOrigin}$.
You can find the number of solutions using $\Delta = b^2-4ac$. We have the 3 cases:
- $$\Delta<0 \implies \text{No solution}$$
- $$\Delta=0 \implies \text{1 solution}$$
- $$\Delta>0 \implies \text{2 solutions}$$
which you can use to determine whether or not to try to compute solutions.
Edit: here are the equations for the plume and line intersection:
\begin{cases}
x^2+z^2=(\text{Plume}(y))^2 \\
x=x_0-x_1+ta \\
y=y_0-y_1+tb \\
z=z_0-z_1+tc \\
\end{cases}
where the parametric form of a line passing through $(x_0,y_0,z_0)$ with direction $(a,b,c)$ is used. This is assuming the plume is placed at $(x_1,y_1,z_1)$ in global coordinates and revolved around the y-axis. You can plug in the equation into a numerical root finder such as Newton's method or the more stable ITP method to find solutions of $t$, which you can use to find the points of intersection by plugging $t$ into the equation of the line $\vec v = (x_0,y_0,z_0) + t(a,b,c)$.
Also, there can be more than 2 intersections as you can see from the equation. I believe there can be up to 3, but since the first equation yields a 4-th degree equation in $t$ there might be cases with 4 solutions, I am not too sure.
https://www.shadertoy.com/view/Dl2Bzw
Also the shader on unity
https://cdn.discordapp.com/attachments/1085910413239140416/1148786412263591936/Unity_BTsdTZbw6V.gif
– Pedro Costa Sep 06 '23 at 01:07