To create the main shape you can use this technique:
- Add a cylinder with and even amount of faces.
- Subdivide smooth it once by pessing ctrl+W.
- Convert to the vertex selection mode.
- Select all then checker deselect half if the vertices.
- Shrink the vertices by a fairly small amount By pressing Alt+S
- Subdivide smooth it again.
- Poke the faces by pressing Alt+P
- Convert triangles into quads using Alt+J
- Select a single edge loop and hen select all the adjacent to it by the edge ring selection.
- Delete those edges by pressing X then Edges.
- Go into object mode and convert the mesh into a curve using Alt+C
- Edit the Depth and the Resolution of the curve and convert it's type into Full.
- Select all the splines and randomize it's transformation by a small amount.
Now you have the first layer of the Fibers,to create the other layers,Just duplicate and scale in 2 axis and may be rotate to create randomness.
I am going to do it in cycles.
To have more control we should convert the curve into a mesh and may be add a subsurface modifier to have a smoother result,bu keep he curve we may need it.
Separate everthing b looses part bu pressing P. (I will tell you why in a while)
Now to the materials:
This material assign a color from the color ramp randomly to the objects and give them a shadow using the normal node.(you can edit it o get what you want)
An alternative approach using curves and modifiers, mainly to add inner fibers to the result.
Make a spiral which will give a way to distribute fibers on a circular shape. To do a spiral : make a mesh with 3 vertices like in (1) in top view. Use the screw tool in front view so that you obtain (2) in top view again. Then adjust the parameters 'steps' and 'turns' like in (2). In (3), keep only the part generated by the single vertice in (1), select all and give it a smooth subdivide. After that convert the spiral in a curve (alt+C and mesh from curve).
Add a curve like in (1) with some subdivisions. Then adjust the curve parameters (2). In (3) add two modifiers : an array that fits the curve and a curve using the same curve. In (4), adjust the spiral scale (in edit mode so that the scale does not influence the fiber). Then adjust the fiber curve parameters.
Add a cube like in (1). Adjust it to the fibers shape (make it like a bounding box) then subdivide it horizontally (ctrl+R). In (2), add a deform modifier to the fibers. Set this cube as deform object and bind it. In (3), select the top part of the cube. Go in proportional editing mode (linear). Adjust the propotional edit circle like in the picture. Then rotate around the Z axis (ctrl+R Z) and turn like in (4).
In (1), copy all. And (2), set a material using random from the "object info" input node. In (3) convert the fibers to mesh. Give a render (4) : all is in a single mesh, so all is in the same color. Go to edit mode, select all and separate by loose parts (5). Each fiber has now its own color (6).
Check out https://www.youtube.com/watch?v=mDKpdQhOSJo & http://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/Add_Mesh/Oscurart_Chain_Rope_Maker for the Oscurart rope maker, or just bundles of adjancet circles and then use the Screw button.
If you're doing bunches of circles (each circle is a fibre), you can assign colours in advance. If using the ropemaker, perhaps afterwards Select Random & set a relevant percentage based on how prevalent the colour is (red probably has 40% selected, while blue would only get 15% selected by the looks of your image). Control-L to have all the vertices of that fibre selected and assign materials for those strands. Hide (H) strands you've already assigned materials to and repeat until everything has appropriate materials in appropriate colours. Finally unhide (Alt-H) everything.
Afterwards add a Displace modifier with a cloud texture on low strength to get the wobble on the fibres.
If you need to get the look of stress state before fracture: just use proportional edit to scale out the ends with Propotional edit set to Sharp.