## Finding Seked Angles of Ancient Egypt, Console Example

### Finding Seked Angles of Ancient Egypt, Console Example

This page is under development. Comments are welcome, but please load any comments in the comments section at the bottom of the page. Please include your wiki MONIKER and date in your comment with the same courtesy that I will give you. Aside from your courtesy, your wiki MONIKER and date as a signature and minimal good faith of any internet post are the rules of this TCL-WIKI. Its very hard to reply reasonably without some background of the correspondent on his WIKI bio page. Thanks, gold 12Dec2018

## Introduction

gold Here is an eTCL script on finding seked angles of Ancient Egypt for the etcl console. After you read the Rhind papyrus, an ancient Egyptian asks you for a roof of 12 palms for his house. What is the angle of the roof in degrees?

In planning any software, there is a need to develop testcases. With back of envelope calculations, we can develop a number of peg points to check output of program.

A seked is what moderns might call the cotangent ratio of a right triangle. The vertical side is a one cubit rod of 7 palms height and the base is some measure of palms and fingers. In this problem set, the cubit rod is fixed at 7 palms highand each palm measure of the base can be divided into 4 fingers. For example,a seked measurement might be given as 12 palms and 3 fingers.The formula for a seked ratio of 7/12 is(180 / pi) * atan(7 / 12) = 30.2 degrees, which can be pasted into google search engine and solve. The formula for a seked ratio of7 palms /12 palms 3 fingers is (180. / pi) * atan(7 / (12 + (3 / 4))) = 28.7 degrees.

In the Ahmes papyrus of 1650 BCE, a pyramid with a height of 250 cubits and base of 360 cubits was found to have a seked of 5+1/25 or 5.04 palms.One can paste (7 * .5 * 360) / 250 = 5.04 in decimal units.

For the testcases, one would like to get realistic testcases from the ancient sources.The gist of a scribal copy exercise (1200 BCE.) formulates a ramp as 730 cubits,55 cubits wide,60 cubits high, and 30 cubits high in the middle and asks how many bricks are needed.The implied seked ratio, angle, and slope is of interest here. One can postulate an Egyptian mud brick as 0.725 cubit long, 0.362 cubit wide, and 0.244 cubit height.One can paste a conditional answer in google as(730. * 55. * 30.) / (.725 * .362 * .244) = 18.8E6 bricks.For the angle, one can paste (180. / pi) * arctan (60. / 730.) = 4.69 degrees.In terms of the TCL console program the units cancel out, so the command seked can be entered as seked 30 730 (cubits).The TCL console program calculates the seked ratio as 7:70 andthe angle as 4.7 degrees. Dividing the ratio 7:70 by 7, gives a slope of 1:10.

`   console session`
```  1 height 60  base  730  angle  4.69868051729944 complement 85.30131948270056
bricks 18809203.314292498
rev seked  7: 70.0
sek 70.0```

In modern terms, the causeway to the great pyramid might have had a slope of 1:10 or 0.1. This equates to an angle of 5.7 degrees, (180. / pi) * atan(1 / 10) = 5.7 degrees. From our calculations, a seked of 70:3 palms:fingers would have an angle of 5.65 degrees with the horizon. From the proportions at Giza and other conjectures, the causeway is postulated to be 430 meters long, 43 meters high, and 10 meters wide. For the angle, one can paste (180. / pi) * arctan(43. / 430.) = 5.7 degrees. Using the above mud brick as a concept, one could paste (.5 * (430. * 43. * 10.)) / (.38 * .19 * .128) = 10E6 bricks. For stone blocks, there might be (.5 * (430. * 43. * 10.)) / (.8 * .8 * 1.6) = 9E4 blocks.

For an estimate of the number of bricks or stone blocks, one can use pseudocode and some one line procs from Oneliner's Pie in the Sky.

```         pseudocode: number of blocks = volume of structure over volume of block
proc rectangularprismvolumex {aa bb cc }  { return [ expr { \$aa*\$bb*\$cc  }] };# from [Oneliner's Pie in the Sky]
pseudocode: proc bricks { aa bb cc } { volume of structure over volume of block;return}
pseudocode: The ramp volume is half a rectangular prism volume.
pseudocode: proc bricks { aa bb cc } { .5* [rectangularprismvolumex \$aa \$bb \$cc] over rectangularprismvolume .8   .8   1.6 }
proc bricks { aa bb cc } {
set struct [ rectangularprismvolumex \$aa \$bb \$cc ]
set brick  [ rectangularprismvolumex .8   .8   1.6x ]
set results [ expr { (0.5*\$struct) / \$brick } ]
return \$results }```

## Testcases

### Seked angles and ratios

quantityunitsratio angle unitsmethod
8.0 palms 7/8 41.1degreesti30 hand calculation
9.0 palms 7/9 37.87degreesti30 hand calculation
10.0 palms 7/10 34.9degreesti30 hand calculation
11.0palms 7/11 32.47degreesti30 hand calculation
12 palms 7/12 30.2degreesti30 hand calculation
13 palms 7/13 28.3degreesti30 hand calculation
14 palms 7/14 26.56degreesti30 hand calculation
15 palms 7/15 25.0degreesti30 hand calculation
20:3 palms:fingers 7/(20+3/4) 18.6degreesgoggle paste calculation
25:3 palms:fingers 7/(25+3/4) 15.2degreesgoggle paste calculation
40:3 palms:fingers 7/(40+3/4) 9.74degreesgoggle paste calculation
70:3 palms:fingers 7/(70+3/4) 5.65degreesgoggle paste calculation

### Testcase 2.

```    # using ASED editor for TCL code
# Impotep’s step pyramid for King Djoser was 62 meters height  and 124 meters base
#  cubit = 0.52 meters , about 119.23 cubits height and 238.461 cubits height
[ expr { .5*(124./62.)* 7. } ]  #= 7  palms
proc seked_7 119.23 238.461 gives 7.0 palms decimal
[ expr { acotand (.5*(124./62.))  } ]  #= modern angle units.  45 degrees
# proc pyra_degrees 119.23 238.461 returns  44.99987986316494, rounds to 45 degrees
# King Khufu’s Great Pyramid at Giza was 146.6 meters height  and 230.3 meters base
#  cubit = 0.52 meters , about 281.923 cubits height and 558.269 cubits height
[ expr { .5*(230.3/146.6)* 7. } ]  #= 5.5 palms
[ expr { acotand (.5*(215.5/143.5)) } ]  #= modern angle units.  51.8 degrees
# King Khafre’s Pyramid at Giza was 143.5 meters height  and 215.25 meters base
#  cubit = 0.52 meters , about 275.961 cubits height and  413.942 cubits height
[ expr { .5*(215.25/143.5)* 7. } ]  #= 5.25 palms
[ expr { acotand (.5*(215.5/143.5)) } ]  #= modern angle units.  53.13 degrees
#   Piankhy’s Nubian pyramid was 10 meters height and 8 meters base
#  cubit = 0.52 meters , about 19.230 cubits height and  15.384 cubits height
[ expr { .5*(8./10.)* 7. } ]  #= 2.8 palms
[ expr { acotand (.5*(8./10.)) } ]  #= modern angle units.  68.2 degrees
# Taharka’s Nubian pyramid at Nuri was 50 meters height  and 51.75 meters base
#  cubit = 0.52 meters , about 96.153 cubits height and 99.519 cubits height
[ expr { .5*(51.75/50.)* 7. } ]  #= 3.6  palms
[ expr { acotand (.5*(51.75/50.))  } ]  #= modern angle units. 62.6 degrees
# Aztec pyramid of the sun was 73.2  meters height  and 230.3 meters base
#  cubit = 0.52 meters , about 140.769 cubits height and 442.884 cubits height
[ expr { .5*( 230.3 /73.2)* 7. } ]  #= 11.  palms
[ expr { acotand (.5*( 230.3 /73.2))   } ]  #= modern angle units. 32.5 degrees
# Mayan temple of Kukulkan pyramid was 30  meters height  and 55.3 meters base
#  cubit = 0.52 meters , about 57.692 cubits height and 106.346 cubits height
[ expr { .5*(55.3  / 30.)* 7. } ]  #= 6.45  palms
[ expr { acotand (.5*(55.3  / 30.))   } ]  #= modern angle units. 47.3 degrees
[ tan 1. ]  #= 1.5574077246549023 for radians
[atan 1 ] #= for radian measure
proc pie {} {expr acos(-1)}   # AMG
[* [/ 180. [pie]]  [atan 1 ] ] #= 45.0 for degree measure
proc acotandx {aa} {return [set aa [/ [acos \$aa] [asin \$aa ]];set aa [* \$aa [/ 180. [pie]] ]]}
::math::trig::tand angle  #= degree measure
::math::trig::cotand angle #= degree measure
# Calculate the acotangent of the angle (in degrees)
package require Tk
package require math::numtheory
package require math::constants
package require math::trig
package require math
#package require math::combinatorics
#namespace path {::tcl::mathop ::tcl::mathfunc math::numtheory }
namespace path {::tcl::mathop ::tcl::mathfunc math::numtheory math::trig math::constants}
[ acotand 1 ] #=45.0
proc pyramid_degrees {hh bb} {  [ acotand [expr {(.5*\$bb/\$hh) } ]]  }
# usage pyramid has  hh height  bb base, units cancel out
# acotand func is in math::trig of TCLLIB.
proc pyra_degrees {hh bb} {  [ acotand [* .5 [/ \$bb \$hh]  ]]  }
# spaces must be kept
# usage pyramid_degrees 57.692 106.346   47.334157521261254
proc seked_7 {hh bb} {  [* .5 7. [/ \$bb \$hh ] ]  }
# usage pyramid has  hh height  bb base, units cancel out
# for Great Pyramid, seked_7 146.6 230.3 gives 5.49 palms in decimals```

### Testcase 3.

 Pyramid name Seked digital * Angle degrees comment, if any Egypt Estimate * formulas under test Maidum 5.50849420849421 51.88 N. Stone Pyramid 4.62934362934363 43.6 Bent pyramid(1) 5.78880308880309 54.52 Bent pyramid(2) 4.60279922779923 43.35 Khufu 5.50743243243243 51.87 Khafre 5.64121621621622 53.13 Menkaure (a) 5.43523166023166 51.19 Menkaure (b) 5.50530888030888 51.85 Userkaf 5.62741312741313 53 Sahure 5.32905405405405 50.19 Neferikare 5.62741312741313 53 Nyuserre 5.50530888030888 51.85 Teti 5.62741312741313 53 Pepi II 5.62741312741313 53

based on Sekeds and the Geometry of the Egyptian Pyramids by David Furlong

Due size of following jpgs, leaving pictures as point and click.

### Comparison with Babylonian Angle System

The clay tablet include redundant terms in different expressions, usually as reciprocal values in sexagesimal fractions. Like the Ancient Egyptians, the Babylonian system was effectively 1/slope or x/y like the Ancient Eqgyptians, meaning the inversion to the modern usage of y/x. Example of rare complete line formula from tablets: 1 kus 15 sa.gal >> in one cubit 15 is the coefficient dimension <dip or slope>. Usually less revealing or broken off text was 15 igi.gub transliterates >> 15 is reciprocal coefficient. Listing of degrees, decimal cotangent ratio, and decimal tangent are all modern units not on the tablet.

Angle coefficients for cuneiform math from clay tablets modern units modern units modern units
coeff. in sexagesimal fractionsxydegrees cotangent ratiodecimal tangent
1;1 1 45.0 1.0 1.
0;302 1 26.56 2. 0.5
0;203 1 18.43 3. 0.333
0;154 1 14.04 4. 0.25
0;125 1 11.309 5. 0.2
0;106 1 9.462 6. 0.1666
0;097 1 8.130 7. 0.142
0;088 1 7.125 8. 0.125
0;079 1 6.340 9.0.111
0;0610 1 5.710 10. 0.1
0;091/7 1 8.130 7. 0.142
0;101/6 1 9.462 6. 0.1666
0;121/5 1 11.309 5. 0.2
0;151/4 1 14.036 4. 0.25
0;201/3 1 18.435 3. 0.333
0;301/2 1 26.565 2. 0.5
0;402/3 1 33.690 1.5 0.666

### * Pretty Print Version

```        # Pretty print version from autoindent
# and ased editor
# written on Windows XP on eTCL
# program :estimating seked (cotan ratio) and angles
# from egyptian pyramids
# code from TCL WIKI, eTCL console script
# 8jun2011, [gold]
console show
proc radianstodegconst {} {return [ expr {180./[pi]}  ]}
proc pi {} {expr acos(-1)}
set counter 1
set past 0
proc seked { aa bb  } {
global counter past
set angle1 [ expr { (\$aa*1.)/(\$bb*1.) } ]
set angle1 [ expr { atan(\$angle1) } ]
set angle1 [ expr { \$angle1* [radianstodegconst]} ]
puts "\$counter height \$aa  base  \$bb  angle  \$angle1   "
incr counter
wm title . "estimating seked (cotan ratio)"
}
seked 7 12```

### Code scraps

``` console show
proc rectangularprismvolumex {aa bb cc }  { return [ expr { \$aa*\$bb*\$cc  }] }
proc bricks { aa bb cc } {
set struct [ rectangularprismvolumex \$aa \$bb \$cc ]
set brick  [ rectangularprismvolumex .8   .8   1.6 ]
set results [ expr { (.5*\$struct) / \$brick } ]
return \$results }
puts " bricks [ bricks 430.   43.   10.] "     ```

gold 21Jul2020. Important Note. This page were largely developed on older versions of TCL4 and ETCL versions. These procedures were developed on older versions of TCL4. I do not doubt that alternate solutions, better and more elegant solutions exist on the later elaborate TCL releases. Mostly I use the expired ETCL on an older personal computer. This page is not a replacement for the current TCL core and TCCLIB with much improvement since TCL4 and other <faster> language constructs. See better routines and current methods for angle reduction, sin, cos, pi, etc in the TCL core distribution and TCLLIB. As of Jul2018, the TCLLIB has developed code for trig angles in degrees, trig inverse, and hyper functions in degrees, and angle reduction in radians and degrees. This supplemental trig.tcl, trigtest.tcl, and trig.man code is posted on the TCLLIB website. This math::trig.tcl seems really exciting work, which will keep TCL in pace with some of the other brand name languages (math oriented, I mean). Some of the TCL library code is posted as pending on the TCLLIB website, and sometimes not really in the main TCL distribution yet, so its worthwhile to investigate and run searches on the pending TCLLIB code also.