I have a rather difficult question and please excuse me if the question itself does not make perfect sense, because the problem itself is difficult to explain.
I am familiar with 'Workplane.extrude()' which takes 'taper' as optional argument.
If we omit using 'taper' in this function for the time being, then we can imagine the extrusion of a 2D shape defined in the XY plane for example, as being an extrusion of that shape towards a "vanishing point" at infinity, which lies on the positive z axis.
I am interested in a tapered extrude which allows me specify the "vanishing point" as being a finite point, somewhere.
What am I trying to do exactly, you may ask, and why do I need such a function? I have an outline drawn on a sphere, sphere being centered around the origin of sphere. I want to "extrude" that shape from the spherical surface to the origin of sphere, where all the extrusion lines will meet at a point (center of sphere), since in this case the origin of sphere is the "vanishing point".
To get around the fact that extrusions always start from a plane, I can myself compute the "projection" from the sphere onto the table on which the sphere is lying, and I can use THAT 2D outline to then project towards my vanishing point, which is the point at the center of the sphere. This is a bit reminiscent of some classical problems in complex analysis. If you can't understand what I just explained, you may just ignore this last little insight.
One would use this sort of strategy, or related strategy, when implementing bevel gear teeth, for example.
However I am not interested in using any ready-made library, nor am I interested in using "Numpy". I want to learn how to do this at the low level, using only APIs that are already exposed in the CadQuery core libraries, for my own purposes.
Any insights would be appreciated. Thanks. Hopefully my explanation made sense.