Track Corner Geometry
The two values in a track section that describe a corner in an F1GP track are the curvature and the length.
The curvature value defines how tight a corner is.
The allowed curvature value for a corner goes from -32,768 to 32,768, where a positive value indicates a right-hand corner, and a negative value indicates a left-hand turn. A value of 0 thus means that the section is a straight.
The curvature value is converted to indicate the length of the radius of an imagined circle on the inside of the corner, like this:
In these two examples, the first corner has a smaller curvature value for the individual corner sections, and is therefore not as tight as the following corner, which has a larger curvature value.
The radius for an imagined circle on the inside of the corner is calculated according to the following formula:
1 / (curvature * 2 * 𝜋 / 65536)
Examples of calculated radius values:
Curvature | Radius (calculated) |
---|---|
1 | 10,430.378350470453 |
256 | 40.743665431525208 |
512 | 20.371832715762604 |
1024 | 10.185916357881302 |
2048 | 5.0929581789406511 |
2731 | 3.8192524168694444 |
4096 | 2.5464790894703255 |
8192 | 1.2732395447351628 |
16,384 | 0.63661977236758138 |
32,768 | 0.31830988618379069 |
So as you can see, the larger the curvature value, the smaller the radius.
Example: 90° corners
To create a 90° corner, the curvature multiplied by the length must be approximately 16,384.
In the first example, we have a 90° corner with three sections.
In this case, the curvature value for each section is 910, and the length of each section is 6.
This gives us the following calculation: 910 x 6 x 3 = 16,380.
In the next example, we have another 90° corner with three sections, but the corner is noticably tighter.
The curvature value for these sections is larger than the previous one, 2,730, but the length is lower, at 2 each.
This gives us the following calculation: 2,730 x 2 x 3 = 16,380.
So, as you can see, the total value for each corner is the same but by adjusting the curvature and length values differently, the corners are tighter or wider.