## 3D Charge Simulator

Paste the code at the end of this post here:

https://www.beautifulmathuncensored.de/static/GlowScript/GlowScript.html

And press “Run”.

Edit “pos” (position), “velocity”, “charge” and “mass” parameters to simulate a different set of charged particles.
Add a sphere with all the parameters (followed by a “,”) to add an additional charged particle to the simulation.

I hope people will play around and have fun!

Code:

# from math import *
# from visual import *
# from visual.graph import *
from vpython import *
# import vpython

scene.fullscreen = True

G = 10

# edit initial conditions here
##########
spheres = [
]

#print(spheres[0].a)

#print(len(spheres))

def acceleration1on2(sphere2,sphere1):
r = sphere2.pos - sphere1.pos
r_mag = mag(r)
normal_r = norm(r)
g = ((G*sphere1.charge*sphere2.charge)/pow(r_mag,2))/sphere2.mass*normal_r
#print(g)
return g

t = 0
dt = .01
while 1:
rate(100)
for i in spheres:
i.a = vector(0,0,0)
soi = vector(0,0,0)
for j in spheres:
if i!=j:
i.a = i.a + acceleration1on2(i,j)

for i in spheres:
#print(i.velocity)
i.velocity = i.velocity + i.a *dt
i.pos = i.pos+i.velocity*dt
#print(i.a)
i.trail.append(pos=i.pos)

scene.center=vector(spheres[0].pos.x,spheres[0].pos.y,spheres[0].pos.z)

# print(i.a)



## New number set

Def.: |H is the set of all nested hyperoperation and inverse-hyperoperation expressions with the natural numbers (without 0) as base arguments.

## Hyperoperation Notation LaTeX

Source:

\documentclass[]{article}

\usepackage{amsmath}
\usepackage{tikz}
\usepackage{listings}

\newcommand{\HO}[1]{%
\begin{tikzpicture}[#1]%
\draw (0,1.3ex) — (3ex,1.3ex);%
\draw (1.5ex,1ex) — (1.5ex,1.6ex);%
\end{tikzpicture}%
}
\newcommand{\IHO}[1]{%
\begin{tikzpicture}[#1]%
\draw (0,0.4ex) — (3ex,0.4ex);%
\draw (1.5ex,0.025ex) — (1.5ex,0.05ex);%
\end{tikzpicture}%
}

\begin{document}

\section{Notation}

\subsection{Hyperoperation}

a+b = a {\overset{1}{\HO{scale=2}}} b

\label{hyperoperator}
a {\overset{n}{\HO{scale=2}}} a {\overset{n}{\HO{scale=2}}} … a = a {\overset{n+1}{\HO{scale=2}}} b

\subsection{Inverse-hyperoperation}

c \overset{1}{\IHO{scale=2}} b =c-b

\label{hyperoperator}
c {\overset{n}{\IHO{scale=2}}} b = a

\end{document}

## Wiederholungsrechenzeichen in Python

# -*- coding: utf-8 -*-
# Wiederholungsrechenzeichen alias Metaoperatoren alias Hyperoperatoren mit Invers

#Logarithmus nimmt 1. Argument des Exponentials und gibt 2. Argument zurück.

#Mit 0 kann es aber noch nicht so gut umgehen, also nur "einfache" Zahlen (positiv "natürlich").

#log_1(1) gibt 0 aus, was als Fehlermeldung zu werten ist.

#Meta-Operator n-ter Stufe
def MO(a,n,b):     #a (|^n) b
r=a
if (n<1):
r+=1
if (n==1):
r=a+b
if (n==2):
r=a*b
if (n==3):
r=a**b
if (n>3):
for i in range(1,b): #b-1 mal, also z.B.: a°a°a mit b=3, dann 2-mal °a ausführen
r=MO(a,n-1,r)    #a und r vertauscht damit bei Exponential "unten angebaut" wird
#print r
#print "MO Ergebnis="+str(r)
return r

#Inverser Meta-Operator n-ter Stufe
def IMO(r,n,l):     # r (|v n) l
z=0
if (n<1):
z=r-1
if (n==1):
z=r-l
if (n==2):
while (r>0):
r=r-l
z+=1
#print z
#print r
if (n==3):
while (r>1):
r=r/l
z+=1
#print z
#print r
if (n>3):
while (r>1):
r=IMO(r,n-1,l)
z+=1
#print z
#print r
return z

#Test
#jetzt richtig
for i in range(1,4):
for j in range(1,4):
for k in range(1,4):
print i,j,k,IMO(MO(i,j,k),j,i)



## Link to Diaspora pod on this domain

https://pod.beautifulmathuncensored.de/

… I particularly like:

http://quibb.blogspot.de/2009/02/inverses-of-hyper-operators.html

https://arxiv.org/pdf/1003.3509.pdf

## Wiederholungsrechenzeichen

Fangen wir ganz einfach, intuitiv und doch “philosophisch” an:

Ein Mensch sieht einen Baum. Dann sieht er noch einen Baum, der eigentlich etwas anders ist. Diese Unterschiede sind unserem Protagonisten aber “gleichgültig”. Für ihn sind beide Bäume “gleich”. Es sind beides “Bäume”.

Mit dieser Grundvoraussetzung der subjektiven Gleichheit von “Objekten”, kann er anfangen zu “zählen”:

Ein Baum, Zwei Bäume, Drei Bäume…

Dabei spielt es keine Rolle, welche Art von Objekten er zählt. Sollte er beispielsweise feststellen, dass 2 Bäume links und 3 Bäume rechts insgesamt 5 Bäume ergeben, hätte er genau so gut Straßenlaternen verwenden können und wäre zum gleichen Resultat gekommen.

2+3=5 ist ein abstraktes Ergebnis, dass er auf alle Objekte anwenden und beliebig oft wiederverwenden kann.

Sagen wir unser “Held”, weiß nur wie man zählt: Er hat Symbole auswendig-gelernt, die er nacheinander den jeweiligen Objekten zuordnet.

Wie können wir ihm nun ganz abstrakt das Rechenzeichen “+” erklären? Naja, wir sagen, das Zeichen weist ihn an, so zu tun als hätte er schon bis zur Zahl links davon gezählt und müsse entsprechend der Zahl rechts davon weiterzählen.

Die rechte Zahl zählt also Handlungen – auch das sind Objekte. Dass die Zahlen links und rechts von Plus vertauscht werden können, ist dann bereits ein kleiner mathematischer Satz.

Zusammenfassend können wir also sagen das Rechenzeichen + zählt Wiederholungen – nämlich die der Hochzählhandlung.

Nun ist es kein großes Geheimnis, dass Mal eingeführt wird, indem man Plus wiederholt. Man wiederholt eine Wiederholung. Das ist also sozusagen bereits die zweite “Metastufe”.

Entsprechend kann man “Hoch” und weiter Rechenzeichen einführen. Üblicherweise werden diese Operationen “Hyperoperatoren” genannt. Man könnte sie auch “Metaoperatoren” nennen – oder eben

“Wiederholungsrechenzeichen”.