Looks like I left off part 1 at determining equations and functions for placing points on the three axes. Remember, once we have all 5 points for all Big 5 personality traits, we’re going to take the average of their positions to get the final point in the example output picture.
Since we’re going to be averaging the x and y-coordinates like this…

…we’ll just be keeping calculating five x and five y components to average and get the x and y coordinates of the final point.
The easiest to begin with will be placing the points for Extraversion and Neuroticism along the line segment BF. This also helps us to understand the process for the more difficult ones. A person with a Neuroticism score in the 30th percentile should have a point 70% of the way to the right on this line segment, since B represents high Neuroticism and F represents low Neuroticism. Similarly, someone with an Extraversion score of 65% will have an additional point placed 35% of the way to the right, closer to B than F, since B also represents high Extraversion.
For the Neuroticism point, we know the y-coordinate will be 10/sqrt(3) because both B and F have that y-coordinate and this point is on the line segment between them. The distance between them is 10, so 70% of the way from B to F is 7. Therefore we have our first point at (7, 10/sqrt(3)).
The function for the x-coordinate of the Neuroticism point is therefore:
x_N = 10-Neuroticism/100
The function for the x-coordinate of the Extraversion point is the same because, again, more Extraversion is “more leftward”.
x_E = 10-Extraversion/100
Now things will get a little trickier because we’re going to map the Agreeableness score to the AE line segment. We know from the construction of the triangle that the total distance between A = (10, 20/sqrt(3)) and E = (5, 5/sqrt(3)) is ten.
The x-coordinate of an Agreeableness score of 70 will be 70% of the way to E, since closer to E represents “more Agreeable”. That is, 70% of the way from 10 (the x-coordinate of A) to 5 (the x-coordinate of E). 70% of the way from 10 to 5 can be written in a function as x_A = 10 – 0.7 * (10 – 5). Or, 10 minus 70% of 5. Therefore the general function looks like this:
x_A = 10 – Agreeableness/100 * (10 – 5)
The function for y_A can be found by analogy. 70% of the way from 20/sqrt(3) (the y-coordinate of A) to 5/sqrt(3) translates to:
y_A = 20/sqrt(3) – Agreeableness/100 * (20/sqrt(3) – 5/sqrt(3)).
The x and y coordinates for Conscientiousness and Openness can also be figured by analogy. Recall:
G = (5, 15/sqrt(3))
C = (10, 0)
Using the examples of 80th percentile Openness and 70th percentile Conscientiousness…
x_O should be 80% of the way from 10 to 5.
x_O = 10 – 80/100 * (10 – 5)
x_O = 10 – Openness/100 * (10 – 5)
y_O should be 80% of the way from 0 to 15/sqrt(3).
y_O = 0 + 80/100 * (15/sqrt(3)) – 0)
y_O = Openness/100 * 15/sqrt(3).
x_C should be 70% of the way from 5 to 10.
x_C = 5 + 70/100 * (10 – 5)
x_C = 5 + Conscientiousness/100 * 5
y_C should be 70% of the way from 15/sqrt(3) to 0.
y_C = 15/sqrt(3) – 70/100 * (15/sqrt(3) – 0)
y_C = 15/sqrt(3) – Conscientiousness/100 * 15/sqrt(3)
The last thing to do is calculate the averages.
x_avg = (x_N + x_E + x_A + x_O + x_C) / 5
y_avg = (y_N + y_E + y_A + y_O + y_C) / 5
And we’re finally done.
Pingback: Math problem for a little software project, part 1 of 2 | Aeoli Pera
That looks pretty easy, what is the problem? My number is still the same, call me anytime.
Should call you anyway, but I already delivered the final thing. This is just for documentation.