These programs are based on the VSOP87 theory, Variations séculaires des orbites planétaires. VSOP was developed and is maintained (updated with the latest data) by the scientists at the Bureau des Longitudes in Paris.
NEW: Here you can run the programs interactively:
Interactive Astro Programs.
hvfSunMoonPlanets-latest.zip
is a collection of Python3-programs to show data for Sun, Moon,
the Planets, Solstices, Perihels, Moon Phases and Perigees.
Longitude, latitude, right ascension, declination, altitude,
azimut, hour angle, time of rising, transition, and setting
and other data are calculated for Sun, Moon, and the planets.
It contains the following Python files:
$ Perihel.py 2022-2030 Perihelion UTC Aphelion UTC Date Time Radius(au) Radius(km) Date Time Radius(au) Radius(km) 2022-01-04 06:54 0.98333654 147105052 2022-07-04 07:10 1.01671536 152098453 2023-01-04 16:18 0.98329557 147098924 2023-07-06 20:06 1.01668058 152093250 2024-01-03 00:38 0.98330700 147100633 2024-07-05 05:06 1.01672549 152099969 2025-01-04 13:28 0.98332741 147103686 2025-07-03 19:55 1.01664374 152087738 2026-01-03 17:16 0.98330206 147099894 2026-07-06 17:30 1.01664398 152087774 2027-01-03 02:32 0.98333346 147104592 2027-07-05 05:06 1.01672892 152100481 2028-01-05 12:28 0.98330736 147100687 2028-07-03 22:18 1.01667976 152093127 2029-01-02 18:14 0.98329173 147098349 2029-07-06 05:12 1.01671271 152098057 2030-01-03 10:13 0.98334179 147105837 2030-07-04 12:57 1.01672264 152099542And here the values for 1896 until 1900; we see that the perihelion date meanders between December and January - the calendar years 1896 and 1898 have two perihelions, whereas in 1897 and 1899 there is none. But each year has one aphelion, of course.
$ Perihel.py 1896-1900 ./Perihel.py Version 1.0 hvf 30.03.2021 based on VSOP87 Ephemerides Perihelion UTC Aphelion UTC Date Time Radius(au) Radius(km) Date Time Radius(au) Radius(km) 1896-01-01 18:16 0.98321777 147087285 1896-07-03 20:50 1.01675230 152103978 1896-12-31 10:15 0.98327822 147096327 1897-07-02 03:38 1.01676740 152106237 1898-01-02 12:14 0.98326597 147094495 1898-07-02 15:02 1.01670900 152097502 1898-12-31 22:03 0.98323968 147090562 1899-07-04 08:57 1.01678777 152109284 1900-01-02 06:25 0.98326336 147094105 1900-07-02 13:23 1.01679003 152109622Here is the complete list of all perihelions and aphelions from 1601 (i.e. December 1600) until 2500: Perihelions and Aphelions from 1601 until 2500.
The harmonic oscillator is a standard problem in elementary physics,
and a simple pendulum is a populaar application of the harmonic
oscillator as long as the amplitude is small such that non-linear
effects can still be neglected.
The problem of two or more pendulums hanging on each other is far more
complicated. Analytical solutions, even for small amplitudes, are hard
to find.
My program Nfold-pendulum.py solves this problem numerically.
Using the Lagrange formalism, numerical integration of the equation of
motion is performed and a graphical display is produced.
The point masses are connected with massless rods. Units are kg for
the masses, meter for the rods, and degrees for the angles and
degrees/sec for the angular velocities.
The number of pendulums, N, is unlimited.
The gravitational constant g is set to 10 m/s2.
The total energy shown on the display stays constant, this means that
the calculations do not lose precision.
Nfold-pendulum.zip
contains the code.
This video shows the standard case
$ Nfold-pendulum.py 2 2 1 1 2 180 -90 0 0
And here is a more complicated case with six coupled pendulums
$ Nfold-pendulum.py 6 2 1 2 1 2 1 1 1 1 1 1 1 180 180 180 180 180 -90 0 0 0 0 0 0 <- arms -> <- masses-> <- angles -> <- angular veloc. ->
fehashmac is a collection of 52 publicly known hash algorithms
integrated into a command-line utility. FEHASHMAC also contains a set
of known test vectors and results for each algorithm such that the
correct implementation for each hardware platform and compiler
version can directly be verified.
See the README
for more information. The current release is also available
here.
Sudoku is a well-known pastime that appealed to my penchant for
recursive algorithms. I therefore started in 2005 to write a sudoku
PERL script that will be capable to solve any square sudoku problem
with either square or rectangular subsets or subsets of any shape. The
maximum dimension is limited to 26x26.
Diagonals are also supported.
The script is written in PERL5. Once the input parameters are verified,
a Postscript file may be produced with the input configuration for
printout, possibly later converted to PDF.
© Copyright Harald von Fellenberg (2021)