Answers.Body: <p>The <a href="https://ldraw.org/" rel="nofollow noreferrer">LDraw parts library</a> 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.</p>
  <p>Here's the file representing 11477 (11477.dat):</p>
  <pre><code>0 Slope Brick Curved  2 x  1
  0 Name: 11477.dat
  0 Author: Owen Burgoyne [C3POwen]
  0 !LDRAW_ORG Part UPDATE 2013-01
  0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt
  
  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
  </code></pre>
  <p>The <a href="https://ldraw.org/article/218.html" rel="nofollow noreferrer">file format</a> is line based. Lines beginning with 0 are comments, and lines beginning with 1 reference a subfile with an applied <a href="https://en.wikipedia.org/wiki/Transformation_matrix#Examples_in_3D_computer_graphics" rel="nofollow noreferrer">transformation matrix</a>.</p>
  <p>This is the line representing the curve on the top of the element:</p>
  <pre><code>1 16 10 24.972 20 0 -20 0 -28.9719 0 -28.9719 -40 0 40 48\1-8cyli.dat
  </code></pre>
  <p>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 <a href="https://wiki.ldraw.org/wiki/Primitives_Reference#Three_dimensional_2" rel="nofollow noreferrer">primitives reference</a> is perhaps more useful. This tells us that the file referenced is 1/8 of cylinder.</p>
  <p>We can experiment a little by creating a &quot;part&quot; that we can open in something like LeoCAD. Here's a file that will render the full (4-4) cylinder scaled 20x:</p>
  <pre><code>1 16 0 0 0 20 0 0 0 20 0 0 0 20 48\4-4cyli.dat
  </code></pre>
  <p>And here's a render of the same:</p>
  <p><a href="https://i.sstatic.net/XIbR63Rc.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/XIbR63Rc.png" alt="20x 4-4 cylinder" /></a></p>
  <p>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:</p>
  <pre><code>20 0  0
  0  20 0
  0  0  20
  </code></pre>
  <p>Here's the render showing the 1-8 cylinder:</p>
  <p><a href="https://i.sstatic.net/jtkUUoIF.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/jtkUUoIF.png" alt="1-8 cylinder" /></a></p>
  <p>Now we can inspect the transformation matrix from the line in 11477.dat:</p>
  <pre><code>1 16 10 24.972 20 0 -20 0 -28.9719 0 -28.9719 -40 0 40 48\1-8cyli.dat
  </code></pre>
  <p>Here's the 3x3 matrix from that line:</p>
  <pre><code> 0       -20      0
  -28.9719  0      -28.9719
  -40       0       40
  </code></pre>
  <p>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:</p>
  <pre><code>20
  40.9725
  56.5485
  </code></pre>
  <p>20 LDU gives us the 1 module width of our part. The other factors give us the shape of our curve.</p>
  <p>Without the rotation needed to orient the curve correctly, we could use the following simplified transformation matrix:</p>
  <pre><code>40.9725 0       0
  0       20      0
  0       0       56.5485
  </code></pre>
  <p>We can represent this in an LDraw part as:</p>
  <pre><code>1 16 0 0 0 40.9725 0 0 0 20 0 0 0 56.5485 48\1-8cyli.dat
  </code></pre>
  <p>Here's the render of that showing the curve we are expecting:</p>
  <p><a href="https://i.sstatic.net/CUKjMsrk.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/CUKjMsrk.png" alt="Render of final curve" /></a></p>
  <p>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.</p>
  <p>If it helps, here's the <a href="https://www.desmos.com/calculator/03shvqzejt" rel="nofollow noreferrer">curve in Desmos</a>:</p>
  <p><a href="https://i.sstatic.net/pBAZ62kf.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/pBAZ62kf.png" alt="Screenshot from Desmos" /></a></p>
  <p><strong>Update:</strong></p>
  <p>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 <a href="https://rebrickable.com/parts/74611/plate-round-8-x-8/" rel="nofollow noreferrer">74611</a>, and the shapes appear to be identical.</p>
  <p><a href="https://i.sstatic.net/2fNn2VmM.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/2fNn2VmM.png" alt="8x8 round plate 74611" /></a></p>
  <p>Here's an <a href="https://www.desmos.com/calculator/chduqktmq1" rel="nofollow noreferrer">updated graph</a> showing the LDraw version in red and the true radius in blue:</p>
  <p><a href="https://i.sstatic.net/WxuNSvXw.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/WxuNSvXw.png" alt="Updated graph" /></a></p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2024-06-26T15:27:59.950Z
Answers.Text: 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.
Answers.UserDisplayName: Michael Verschaeve
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2024-06-27T01:55:47.310Z
Answers.Text: 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.
Answers.UserDisplayName: jncraton
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2024-06-23T00:18:16.383Z
Answers.LastActivityDate: 2024-06-27T01:53:17.147Z
Answers.LastEditDate: 2024-06-27T01:53:17.147Z
Answers.UserDisplayName: jncraton
Answers.Body: <p>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.</p>
  <p>Step 252 of the instructions allows us to count the elements to determine the radius:</p>
  <p><a href="https://i.sstatic.net/BexeIXzu.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/BexeIXzu.png" alt="enter image description here" /></a></p>
  <p>I count:</p>
  <ul>
  <li>1 module/stud which is 2.5 plates</li>
  <li>1 half plate offset caused by the tan bracket.</li>
  <li>3 plates</li>
  <li>1 brick height which is 3 plates</li>
  <li>1 more plate which is the upper part of the element.</li>
  </ul>
  <p>For a total amount of 10 plates, which happens to be 4 modules/studs.</p>
  <p>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.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2024-06-26T15:10:46.060Z
Answers.LastActivityDate: 2024-06-26T15:34:58.797Z
Answers.LastEditDate: 2024-06-26T15:34:58.797Z
Answers.UserDisplayName: Michael Verschaeve
Body: <p>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?</p>
  <p><a href="https://i.sstatic.net/9ev2RBKN.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/9ev2RBKN.png" alt="Piece 11477" /></a></p>
  <p>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?</p>
  
Tags: <piece-information><slope>
Title: What is the curvature of this piece (11477)?
UserDisplayName: William Ryman
ThreadText: # What is the curvature of this piece (11477)?
  
  (Asked by: username_0 on 2024-06-22)
  
  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?
  
  [![Piece 11477](https://i.sstatic.net/9ev2RBKN.png)](https://i.sstatic.net/9ev2RBKN.png)
  
  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?
  
  **Tags:** piece-information, slope
  
  
  ---
  
  ## 2 answers
  
  ### Answer by username_1 on 2024-06-23. Score: 8 | Accepted answer
  
  The [LDraw parts library](https://ldraw.org/) 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 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt
  
  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](https://ldraw.org/article/218.html) is line based. Lines beginning with 0 are comments, and lines beginning with 1 reference a subfile with an applied [transformation matrix](https://en.wikipedia.org/wiki/Transformation_matrix#Examples_in_3D_computer_graphics).
  
  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](https://wiki.ldraw.org/wiki/Primitives_Reference#Three_dimensional_2) 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:
  
  [![20x 4-4 cylinder](https://i.sstatic.net/XIbR63Rc.png)](https://i.sstatic.net/XIbR63Rc.png)
  
  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:
  
  [![1-8 cylinder](https://i.sstatic.net/jtkUUoIF.png)](https://i.sstatic.net/jtkUUoIF.png)
  
  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:
  
  [![Render of final curve](https://i.sstatic.net/CUKjMsrk.png)](https://i.sstatic.net/CUKjMsrk.png)
  
  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](https://www.desmos.com/calculator/03shvqzejt):
  
  [![Screenshot from Desmos](https://i.sstatic.net/pBAZ62kf.png)](https://i.sstatic.net/pBAZ62kf.png)
  
  **Update:**
  
  As username_2 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](https://rebrickable.com/parts/74611/plate-round-8-x-8/), and the shapes appear to be identical.
  
  [![8x8 round plate 74611](https://i.sstatic.net/2fNn2VmM.png)](https://i.sstatic.net/2fNn2VmM.png)
  
  Here's an [updated graph](https://www.desmos.com/calculator/chduqktmq1) showing the LDraw version in red and the true radius in blue:
  
  [![Updated graph](https://i.sstatic.net/WxuNSvXw.png)](https://i.sstatic.net/WxuNSvXw.png)
  
  > **Comments:**
  > **username_2**: 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.  
  > **username_1**: 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.  
  
  ---
  
  ### Answer by username_2 on 2024-06-26. Score: 4
  
  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:
  
  [![enter image description here](https://i.sstatic.net/BexeIXzu.png)](https://i.sstatic.net/BexeIXzu.png)
  
  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.
  
  
  ---
  
  