# create in python a specific F-curve

In particular, after inserting a key position image on the object, I would like to enter:

-for Xposition: f (t) = 8 * cos (t ^ 3)

-for Yposition: f (t) = 8 * sin (t ^ 3)

-for Zposition: f (t) = 0


which is impossible with an F-curve modifier, to create on the object a circular plane motion of radius 8 and accelerated

All that remains is Python.

1) A python script for this?

2) More generally, I'm looking for a tutorial elaborating a Python script to enter any type of mathematical function of a single variable, representing an F-curve related to any keyframe insertion.

• What do you mean by "Recent versions of Blender do not generate any type of F-curve."? – Ray Mairlot Mar 16 '18 at 12:30
• for example,it's no possible to create a F-curve like this: Y(X)=exp(X)+(1-X)²/(1+X) Y(X)=arcsin(X) Y(x)=cos(X^3) – kaloprat Mar 16 '18 at 12:40

Can use the driver system for this. An fcurve is a series of frame, value points. The value of an fcurve at any frame can be found via FCurve.evaluate(frame) A scripted expression driver evaluates its expression at each frame. context.scene.current_frame is already known to the driver namespace as frame, as are a considerable number of math methods and properties including sin, cos and pi
• @Haunt_House Yes, for seconds divide frame by fps. or 100 or whatever . There is a bpy.utils.time_from_fame(frame) (or similar OTOMH) Thought that the frame was the typical blender unit of time for keyframes in an fcurve. Anyway the +/- nature of trig functions and a cubic can be expected to oscillate for all but low values of time. – batFINGER Mar 16 '18 at 14:48