Your object has curve data. The curve data object holds a spline collection.
In each spline there are bezier_points or points.
You have mistaken a bezier point for a spline. The spline is a continued element made up from multiple points. As a curve data object can hold multiple splines (they can be discontinued/separate), it has a spline collection.
Supposing you entered your X and Y coordinates in Blender's own orthogonal space. Then a transform that would take them to your 60 degree angled axes, with matching lengths on the new axes, would be:
SY with a numerical entry of sqrt(3)/2, followed by
ShiftCtrlAltS Shear, Z axis, X ortho, by tan(pi/6)
Found a python solution to get all the instances in the depsgraph. By filtering with "is_instance" you can get the names of the instance object that corespond with the source objects.
context = bpy.context
dg = context.evaluated_depsgraph_get()
counter = 0
for i in dg.object_instances:
obj = i.object
if not i....
You can use the Vector Wiggle node which will generate a 3D Vector randomly based on the input seed. Click the "Add List" icon to generate a given list of random vectors.
Tweak the amplitude in order to constrain x,y, or z axis in a given range.
You can also animate it with the evolution input and the speed factor.
Animation nodes manual :
There are several methods:
In blender 2.82, In geometry node there is a socket "random per island", that will generate color for separated meshes within the same object. Be aware, currently this socket can only work for cycles, not possible in eevee.
while using "curve object output" node, it's preferred in a loop, and input an object list. Since you are ...
Use a combination of parenting and constraints. An empty with a trackto constraint can point to the camera, a cube that is a child of the empty will follow the location and rotation of the empty but as a child, it can also have its own rotation animation.
Starting with a cube, that has an identifiable face, set it up to rotate on its z-axis
Add an empty ...