If there's already a name for these I'm sorry I've tried searching but all the named polynomial forms seem to refer to something else...
These types of functions will cross the x axis 0,1,2, or 3 times and the y axis 0,1,2, or 3 times independently.
Suppose I wanted a function that crossed the x axis at x=-2, x=-1, and x=3 and to cross the y axis at y=-2, y=-1, and y=2... I found that these can be solved independently in a program like Maple like so:
Skip this part and come back when you've read through below: Note that every equation is solved set equal to 1, this ensures that if y is 0 or you're on the x axis, that the x terms alone will equal 1 and vice versa with x replacing y.. But the first equation above is also set equal to 1 so you get the true x or y intercepts...
The solutions tell us what a,b,c,d,e,f need to be:
That is a cubic that goes through all those intercepts!
Now if we want to only cross the x axis 2 times or just 1 or zero times, we can substitute imaginary numbers for the axis crossings and look at the real part of each coefficient...
In the above I've substituted i in for the -2 intercept on the y axis and then taken the real part of the coefficients for d,e,f...
It doesn't seem to matter the choice of the imaginary numbers to the final graph, just that they are each unique for each solution... It will change the coefficients to more complicated numbers though so it's good to pick simple imaginary numbers. The final graph doesn't change though...
If you've already substituted i in for one root, just pick -i as the other root and if you've already used i and -i you can use 2*i as the third for something like below that never crosses the y axis...
It's okay to reuse a complex number as both a y and an x intercept as they work independently...
Of course the choice of imaginary intercepts affects things on the imaginary plane but this is just for the real plane...
**Furthering the idea**
There's a more general case where you replace x with (x-h) and y with (y-k) that would shift the graph away from the axes... Also, I suppose this works even in higher dimensions or more variables than 2 as well...