How to fill the surface of a mesh with cones which point to the normal, do not overlap, and have the minimum possible space between each other?
Particle Systems



If you want denser visuals you may use smaller particles size and a greater number of particles.  Your machine may easily handle 100,200 particles, or may not depending on hardware.  Mine is hesitating a little at the numbers below.  Note that you can choose to [render only] the particles by clicking the eye icon off below. [Render only] would allow easier responsive user interaction and produce same render quality. Render On. Visual Eye Off.  Save some compute cycles. So the first two images will show high density particle systems.  To save time the other images will show low density particle systems.

Above image with a fairly large number of particles.  Not yet even to 100,000.  Just a beginning example of dense population.  Of course there are other considerations for a visual effect.





All particles are emitted by frame 0.  Gravity is 0.



Image above.  The Particle System uses the Cone as the duplicated mesh.





Image above.  Two different meshes with different colors.  They are placed in a Blender Group. Keystroke Control-G.  You can be much more artistic than these explanatory examples.  This allows multiple models.



Image above.  You can use the modifier panel to convert particles into ordinary meshes, which can be custom edited.

Dupligroups







The thorn has its parent as indicated by outliner windows and properties window.
The duplication mesh has duplication indicated by Duplication Panel.  Faces and Scale.  Your mesh is the Shark.  The mesh in picture happens to be a stem or tentacle.  The Scale selection uniformly scales the thorn to the size of the face which may be of interest to you.

Displacement Modifier



Above Image.  Horribly non artistic use of the Displacement modifier.


You may also see Tapering a tentacle mesh with uniformly scaled suction discs