ArticleslgStudy

computer science

MakeHuman

MakeHuman is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand MakeHuman rather than just read about it. In short: MakeHuman is a free and open source 3D computer graphics middleware designed for the prototyping of photorealistic humanoids. It is developed by a community of programmers, artists, and academics interested in 3D character modeling.

MakeHuman — main illustration
MakeHuman — illustration

Key takeaways

  • MakeHuman belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect MakeHuman to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of MakeHuman from memory before moving on to harder problems.

Reference excerpt

MakeHuman is a free and open source 3D computer graphics middleware designed for the prototyping of photorealistic humanoids. It is developed by a community of programmers, artists, and academics interested in 3D character modeling.

Technology MakeHuman is developed using 3D morphing technology. Starting from a standard (unique) androgynous human base mesh, it can be transformed into a great variety of characters (male and female), mixing them with linear interpolation. For example, given the four main morphing targets (baby, teen, young, old), it is possible to obtain all the intermediate shapes.

Using this technology, with a large database of morphing targets, it's virtually possible to reproduce any character. It uses a very simple GUI in order to access and easily handle hundreds of morphings. The MakeHuman approach is to use sliders with common parameters like height, weight, gender, ethnicity and muscularity. In order to make it available on all major operating systems, beginning from 1.0 alpha 8 it's developed in Python using OpenGL and Qt, with an architecture fully realized with plugins. The tool is designed for the modeling of virtual 3D human models, with a complete pose system that includes the simulation of muscular movement, with access to the numerous parameters required in modeling the human form. The development of MakeHuman is derived from a detailed technical and artistic study of the morphological characteristics of the human body. The work deals with morphing, using linear interpolation of both translation and rotation. With these two methods, together with a simple calculation of a form factor and an algorithm of mesh relaxing, it is possible to achieve results such as the simulation of muscular movement that accompanies the rotation of the limbs.

License MakeHuman is free and open-source, with the source code and database released under the GNU Affero GPL. Models exported from an official version are released under an exception to this, CC0, in order to be widely used in free and non-free projects. These projects may or may not be commercialised.

Awards In 2004, MakeHuman won the Suzanne Award as best Blender Python script.

Software history The ancestor of MakeHuman was MakeHead, a python script for Blender, written by Manuel Bastioni, artist and coder, in 1999. A year later, a team of developers had formed, and they released the first version of MakeHuman for Blender. The project evolved and, in 2003, it was officially recognized by the Blender Foundation and hosted on http://projects.blender.org. In 2004, the development stopped because it was difficult to write a Python script so big using only Blender API. In 2005, MH was moved outside Blender, hosted on SourceForge and rewritten from scratch in C. At this point, version counting restarted from zero. During successive years, the software gradually transitioned from C to C++. While performant, it was too complex to develop and maintain. Hence, in 2009, the team decided to go back to the Python language (with a small C core) and to release MakeHuman as version 1.0 pre-alpha. Development continued at a pace of 2 releases per year. The stable version 1.0.0 was officially released March 14, 2014. MakeHuman 1.1.0 has been released May 14, 2016, around two years later. The most recent intermediate version is 1.1.1, as of March 5, 2017. A community website was established in June 2015 featuring a forum section, a wiki, and a repository for user contributed content for the program.

Evolution towards a universal model topology

The aim of the project is to develop an application capable of modeling a wide variety of human forms in the full range of natural poses from a single, universal mesh. For this purpose, the design of a 3D humanoid mesh that can readily be parametrically manipulated to represent anatomical characteristics has been pursued, the mesh includes a common skeleton structure that permits character posing. MakeHuman Team developed a model that combines different anatomical parameters to transition smoothly from the infant to the elderly, from man to woman and from fat to slim. The initial mesh occupies a middle ground, being neither pronounced masculine, nor pronounced feminine, neither young nor old and having a medium muscular definition. The goal was to depict a fair-built androgynous form, named the HoMunculus. The current MakeHuman mesh has evolved through successive steps of MakeHuman project, incorporating lessons learned, community feedback and the results of considerable amounts of studies and experimentation. Evolution of the mesh for the human model:

A first universal mesh prototype (head only), done in 1999 using makeHead script, was adapted for the early MakeHuman in 2000. The first professional mesh (HM01) for a human model was realized by Enrico Valenza in 2002. A second remarkable mesh (K-Mesh or HM02) was modelled by Kaushik Pal in 2003. The third model was created by Manuel Bastioni upon the Z-Mesh or HM03 in 2005. With experience from preceding versions, a fourth mesh (Y-Mesh or HM04) was done by Gianluca Miragoli (aka Yashugan) in 2007. The fifth mesh (HM05) was built on the previous one by Gianluca Miragoli and Manuel Bastioni in 2008. A sixth mesh (HM06) was also created by Gianluca Miragoli in 2010. Another mesh version was released in 2010 by Waldemar Perez Jr., André Richard, Manuel Bastioni. The latest and state-of-the-art mesh, released in 2013, was modeled by Manuel Bastioni. Since the first release of makeHead (1999) and MakeHuman (2000), a challenge had been to construct a universal topology that retained all the capabilities but added the ability to interactively adjust the mesh to accommodate anatomical variety found in the human population. This could have been addressed by dramatically increasing the number of vertices for the mesh, but the resultant, dense mesh would have limited performance on processing computers. Technically, the model developed for MakeHuman is:

Light and optimized for subdivision surfaces modelling (15,128 vertices). Quads only. The human mesh itself is triangles free, using Catmull-Clark subdivision for extra resolution to base meshes, see also polygon mesh. Only E(5) Pole and the N(3) Pole, without holes and without 6-edge poles.

… excerpt ends here. Continue reading the full article.

Illustrations

MakeHuman illustration
MakeHuman: Interpolation of MakeHuman characters: the 1st, 3rd, 5th, and 7th are targets, while the others are intermediate shapes.
Interpolation of MakeHuman characters: the 1st, 3rd, 5th, and 7th are targets, while the others are intermediate shapes.
MakeHuman: Evolution of the hand topology
Evolution of the hand topology
MakeHuman: Evolution of the head topology
Evolution of the head topology

Worked examples

Example 1 — a first encounter with MakeHuman

Start with the simplest possible case. Write down what MakeHuman claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to MakeHuman before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about MakeHuman ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of MakeHuman

In research
MakeHuman appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses MakeHuman in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
MakeHuman is common in secondary-school and first-year university syllabi. It links to neighbouring topics 3D graphics software that uses Qt, 3D modeling software for Linux, Anatomical simulation, so understanding it makes those chapters shorter.
In everyday life
Look for MakeHuman outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.
Ask Teacher Smith questions about this articleOpens your AI tutor with a question about “MakeHuman” →

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study MakeHuman in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what MakeHuman means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain MakeHuman out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is MakeHuman in simple terms?

MakeHuman is a free and open source 3D computer graphics middleware designed for the prototyping of photorealistic humanoids. It is developed by a community of programmers, artists, and academics interested in 3D character modeling.

Why does MakeHuman matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study MakeHuman?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on MakeHuman.

Tags

  • 3D graphics software that uses Qt
  • 3D modeling software for Linux
  • Anatomical simulation
  • Free 3D graphics software
  • Free software programmed in Python
  • MacOS graphics software
  • Software using the GNU Affero General Public License
  • Windows graphics-related software

Keep exploring