Subdivision Surface modifier with Simple mode
Just add to your object a subdivision surface modifier from the list and choose the Simple option.
This method is obviously not good if you would like to subdivide only a subset of faces of your object as the modifier is being applied to the whole object (in this case made of a single face).
I guess you could always use the shortcut and not model it all. :)
The Add Mesh Extra Objects Add-On has been updated in version 2.79 and now includes a triangle object. It is found under Add Mesh>Math Function>Triangle. There are options for 3 and 6 quad faces, and 3 tri faces.
If you do not have it enabled already, just enable it in user preferences with Ctrl+Alt+U and search for 'extra'.
Here is an example gif:
@Carlo presented the perfect solution IMO- the fastest one indeed. Here are my 5 cents though:
Subdivide the triangle with W-->Subdivide, then inset faces with I and input the proper scale value to place all the vertices in the center of the object. Press W-->Remove Doubles. Finally select some edges and get rid of them with X-->Limited Dissolve.
- Checks selected element is tri.
- Removes tri face.
- Bisects the edges.
- Make edges from bisect verts to tri's median centre.
- Fill new edges and bisect edges with contextual create (akin to F)
Select triangle face in edit mode run script.
import bpy import bmesh context = bpy.context ob = context.edit_object me = ob.data bm = bmesh.from_edit_mesh(me) tri = bm.select_history.active # poll .. do we have a tri if isinstance(tri, bmesh.types.BMFace) and len(tri.verts) == 3: edges = tri.edges[:] c = tri.calc_center_median() bm.faces.remove(tri) ret = bmesh.ops.bisect_edges(bm, edges=edges, cuts=1) verts = ret['geom_split'][:3] c = bm.verts.new(c) geom = ret['geom_split'][3:] + [bm.edges.new([c, v]) for v in verts] bmesh.ops.contextual_create(bm, geom=geom) bmesh.update_edit_mesh(me)