Skip to main content
added 40 characters in body
Source Link
ovs
  • 61.3k
  • 3
  • 50
  • 164

APL (Dyalog Unicode), 56 55 55 54 bytes

A full program printing the table

d,↑00 60 60∘⊤¨¨⌊60∘⊤¨⌊.5+c5+↑c,¨2×0,⍨¯2-/c←432e3×1○360÷⍨○d←2÷⍨⍳360

Try it online!Try it online!

d←2÷⍨⍳360 all the angles \$\theta\$ from 0.5 to 180.
1○ Sine of 360÷⍨○ \$\theta \over 2\$ in radians.
432e3× Multiply by \$432000 = 60×60×120\$. This gives the chord length adjusted such that both sexagesimal digits are in the integer part.

¯2-/ Differences of adjacent values, for the "sixtieths" column.
0,⍨ Append a 0, this hardcodes the sixtieths for 180°.
Multiply each value by \$2 = 60 ÷ 30\$.

c↑c Pair up each chord length with corresponding sixtieths value. This results in a matrix with two columns. 
⌊.5+ Round all valuevalues to the nearest integer. 
0 60 60∘⊤¨¨60∘⊤¨ Convert each value from "base 60", where the first of three digit is unbounded.

Remove one layer of nesting to get a table.
d, prepend the angles on the left of the table.

APL (Dyalog Unicode), 56 55 bytes

d,↑0 60 60∘⊤¨¨⌊.5+c,¨2×0,⍨¯2-/c←432e3×1○360÷⍨○d←2÷⍨⍳360

Try it online!

d←2÷⍨⍳360 all the angles \$\theta\$ from 0.5 to 180.
1○ Sine of 360÷⍨○ \$\theta \over 2\$ in radians.
432e3× Multiply by \$432000 = 60×60×120\$. This gives the chord length adjusted such that both sexagesimal digits are in the integer part.

¯2-/ Differences of adjacent values, for the "sixtieths" column.
0,⍨ Append a 0, this hardcodes the sixtieths for 180°.
Multiply each value by \$2 = 60 ÷ 30\$.

c Pair up each chord length with corresponding sixtieths value. ⌊.5+ Round all value to the nearest integer. 0 60 60∘⊤¨¨ Convert each value from "base 60", where the first of three digit is unbounded.

Remove one layer of nesting to get a table.
d, prepend the angles on the left of the table.

APL (Dyalog Unicode), 56 55 54 bytes

A full program printing the table

d,0 60 60∘⊤¨⌊.5+↑c,¨2×0,⍨¯2-/c←432e3×1○360÷⍨○d←2÷⍨⍳360

Try it online!

d←2÷⍨⍳360 all the angles \$\theta\$ from 0.5 to 180.
1○ Sine of 360÷⍨○ \$\theta \over 2\$ in radians.
432e3× Multiply by \$432000 = 60×60×120\$. This gives the chord length adjusted such that both sexagesimal digits are in the integer part.

¯2-/ Differences of adjacent values, for the "sixtieths" column.
0,⍨ Append a 0, this hardcodes the sixtieths for 180°.
Multiply each value by \$2 = 60 ÷ 30\$.

↑c Pair up each chord length with corresponding sixtieths value. This results in a matrix with two columns. 
⌊.5+ Round all values to the nearest integer. 
0 60 60∘⊤¨ Convert each value from "base 60", where the first of three digit is unbounded.

d, prepend the angles on the left of the table.

added 765 characters in body
Source Link
ovs
  • 61.3k
  • 3
  • 50
  • 164

APL (Dyalog Unicode), 56 56 55 bytes

↑dd,¨0↑0 60 60∘⊤¨¨⌊.5+c,¨2×0,⍨¯2-/c←432e3×1○360÷⍨○d←2÷⍨⍳360

Try it online!Try it online!

d←2÷⍨⍳360 all the angles \$\theta\$ from 0.5 to 180.
1○ Sine of 360÷⍨○ \$\theta \over 2\$ in radians.
432e3× Multiply by \$432000 = 60×60×120\$. This gives the chord length adjusted such that both sexagesimal digits are in the integer part.

¯2-/ Differences of adjacent values, for the "sixtieths" column.
0,⍨ Append a 0, this hardcodes the sixtieths for 180°.
Multiply each value by \$2 = 60 ÷ 30\$.

c,¨ Pair up each chord length with corresponding sixtieths value. ⌊.5+ Round all value to the nearest integer. 0 60 60∘⊤¨¨ Convert each value from "base 60", where the first of three digit is unbounded.

Remove one layer of nesting to get a table.
d, prepend the angles on the left of the table.

APL (Dyalog Unicode), 56 bytes

↑d,¨0 60 60∘⊤¨¨⌊.5+c,¨2×0,⍨¯2-/c←432e3×1○360÷⍨○d←2÷⍨⍳360

Try it online!

APL (Dyalog Unicode), 56 55 bytes

d,↑0 60 60∘⊤¨¨⌊.5+c,¨2×0,⍨¯2-/c←432e3×1○360÷⍨○d←2÷⍨⍳360

Try it online!

d←2÷⍨⍳360 all the angles \$\theta\$ from 0.5 to 180.
1○ Sine of 360÷⍨○ \$\theta \over 2\$ in radians.
432e3× Multiply by \$432000 = 60×60×120\$. This gives the chord length adjusted such that both sexagesimal digits are in the integer part.

¯2-/ Differences of adjacent values, for the "sixtieths" column.
0,⍨ Append a 0, this hardcodes the sixtieths for 180°.
Multiply each value by \$2 = 60 ÷ 30\$.

c,¨ Pair up each chord length with corresponding sixtieths value. ⌊.5+ Round all value to the nearest integer. 0 60 60∘⊤¨¨ Convert each value from "base 60", where the first of three digit is unbounded.

Remove one layer of nesting to get a table.
d, prepend the angles on the left of the table.

Source Link
ovs
  • 61.3k
  • 3
  • 50
  • 164

APL (Dyalog Unicode), 56 bytes

↑d,¨0 60 60∘⊤¨¨⌊.5+c,¨2×0,⍨¯2-/c←432e3×1○360÷⍨○d←2÷⍨⍳360

Try it online!