# What is the curvature of this piece (11477)?

Does the curved section of piece 11477 form an arc or a cubic Bézier? If it does form an arc, what is its curvature, or likewise, if it is a Bézier what are its control points relative to the center of the piece's bounding prism in LDU?

This is technically a separate question but heavily related. Is there a place to find this information, like, for example, a repository of LEGO piece blueprints?

The LDraw parts library is one source for this sort of information. It doesn't come directly from TLG, but it is used by a number of modelling tools and is well supported by the community.

Here's the file representing 11477 (11477.dat):

``````0 Slope Brick Curved  2 x  1
0 Name: 11477.dat
0 Author: Owen Burgoyne [C3POwen]
0 !LDRAW_ORG Part UPDATE 2013-01

0 BFC CERTIFY CCW

0 !HISTORY 2013-07-21 [PTadmin] Official Update 2013-01

1 16 0 0 0 1 0 0 0 1 0 0 0 1 s\11477s01.dat
1 16 10 24.972 20 0 -20 0 -28.9719 0 -28.9719 -40 0 40 48\1-8cyli.dat
``````

The file format is line based. Lines beginning with 0 are comments, and lines beginning with 1 reference a subfile with an applied transformation matrix.

This is the line representing the curve on the top of the element:

``````1 16 10 24.972 20 0 -20 0 -28.9719 0 -28.9719 -40 0 40 48\1-8cyli.dat
``````

This references the file 1-8cyli.dat. We can dig into that file to see exactly how it approximates the curve as a series of polygons, but the primitives reference is perhaps more useful. This tells us that the file referenced is 1/8 of cylinder.

We can experiment a little by creating a "part" that we can open in something like LeoCAD. Here's a file that will render the full (4-4) cylinder scaled 20x:

``````1 16 0 0 0 20 0 0 0 20 0 0 0 20 48\4-4cyli.dat
``````

And here's a render of the same:

That shows a cylinder with a 20 LDU radius. It is 20 LDU because we multiplied the identity cylinder primitive by the following transformation matrix:

``````20 0  0
0  20 0
0  0  20
``````

Here's the render showing the 1-8 cylinder:

Now we can inspect the transformation matrix from the line in 11477.dat:

``````1 16 10 24.972 20 0 -20 0 -28.9719 0 -28.9719 -40 0 40 48\1-8cyli.dat
``````

Here's the 3x3 matrix from that line:

`````` 0       -20      0
-28.9719  0      -28.9719
-40       0       40
``````

This matrix is harder to reason about, as it represents both scaling and rotation to orient the curve appropriately. We can determine scaling factors by computing the magnitude of the rows, so the scaling factors are:

``````20
40.9725
56.5485
``````

20 LDU gives us the 1 module width of our part. The other factors give us the shape of our curve.

Without the rotation needed to orient the curve correctly, we could use the following simplified transformation matrix:

``````40.9725 0       0
0       20      0
0       0       56.5485
``````

We can represent this in an LDraw part as:

``````1 16 0 0 0 40.9725 0 0 0 20 0 0 0 56.5485 48\1-8cyli.dat
``````

Here's the render of that showing the curve we are expecting:

This shows us that the curve profile is 1/8 of a unit circle that has been scaled by 56.5485 LDU in the x dimension and 40.9725 LDU in the y dimension according to the LDraw catalog.

If it helps, here's the curve in Desmos:

Update:

As Michael pointed out, this LDraw part is not precisely accurate. The true curve of this part appears to simply be a circular arc with radius 80 LDU or 4 modules. I've confirmed this by comparing against a round part with a 4 module radius such as 74611, and the shapes appear to be identical.

Here's an updated graph showing the LDraw version in red and the true radius in blue:

• Unfortunately the way LDraw designers model curved slopes does not necessarily reflect reality exactly. It seems to me unlikely that the Lego element designers chose 1/8th of circle and scale it to 1 plate high and 2 modules wide. I think they chose a fixed radius and that the curve is indeed a circle arc and not an ellipse arc (as would be the case if the ldraw model is correct). I believe this because the designer of the 21309 set (Mike Psiaki) told us so during a presentation at the Paredes De Coura Lego fanweekend a couple of years ago. Commented Jun 26 at 15:27
• Thanks for pointing this out. It appears that you are exactly correct and I have updated my answer. Both the shape of the curve and the height of the shorter end of the part are slightly off in the LDraw model.
– jncraton
Commented Jun 27 at 1:55

The LEGO® NASA Apollo Saturn V, LEGO® Ideas set (21309) has a cylindrical structure made of similar elements (2 wide instead of 1) for one of the latter stages of the rocket.

Step 252 of the instructions allows us to count the elements to determine the radius:

I count:

• 1 module/stud which is 2.5 plates
• 1 half plate offset caused by the tan bracket.
• 3 plates
• 1 brick height which is 3 plates
• 1 more plate which is the upper part of the element.

For a total amount of 10 plates, which happens to be 4 modules/studs.

A couple of years ago, I attended a presentation by Mike Psiaki (main designer of the Saturn V) at the Paredes de Coura Lego fanweekend. The topic was the geometrical aspects of Lego elements. At some point during the presentation he seemed to imply that the radius of curved elements was deliberatly chosen to allow for cylindrical constructions such as the Saturn V. He also showed a table of the radii of other curved elements, unfortunately we were asked not to take pictures.