Clean up and comment
This commit is contained in:
parent
8bb6ba19d5
commit
6822df0432
5 changed files with 249 additions and 152 deletions
52
main.py
52
main.py
|
@ -1,46 +1,26 @@
|
|||
#!./venv/bin/python
|
||||
import argparse
|
||||
import typing
|
||||
#!venv/bin/python
|
||||
from argparse import ArgumentParser
|
||||
from pathlib import Path
|
||||
from typing import cast
|
||||
|
||||
import data
|
||||
import physics
|
||||
from data import parse_csv, Animator
|
||||
|
||||
|
||||
class Args:
|
||||
filename: str
|
||||
file: Path
|
||||
gravity: float
|
||||
dimensions: typing.Literal[2, 3]
|
||||
|
||||
|
||||
def main(file: Path, gravity: float) -> None:
|
||||
pos, vel, rad = parse_csv(file)
|
||||
Animator(pos, vel, rad, gravity)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
parser = argparse.ArgumentParser(
|
||||
prog="n-body simulation",
|
||||
description="Simulating gravitational effects"
|
||||
)
|
||||
parser = ArgumentParser(description="Gravitation simulation")
|
||||
|
||||
parser.add_argument(
|
||||
"-f",
|
||||
"--filename",
|
||||
default="data/2d/simple.csv"
|
||||
)
|
||||
parser.add_argument(
|
||||
"-g",
|
||||
"--gravity",
|
||||
type=float,
|
||||
default=1.
|
||||
)
|
||||
parser.add_argument(
|
||||
"-d",
|
||||
"--dimensions",
|
||||
type=int,
|
||||
choices=[2, 3],
|
||||
default=2
|
||||
)
|
||||
parser.add_argument("-f", "--file", type=Path, default="data/2d/simple.csv", help="The starting state of the simulation")
|
||||
parser.add_argument("-g", "--gravity", type=float, default=1., help="The strength of gravity")
|
||||
|
||||
args: Args = parser.parse_args()
|
||||
|
||||
physics.G = args.gravity
|
||||
|
||||
objects = data.parse_csv(args.filename, dimensions=args.dimensions)
|
||||
a = data.Animator(*objects)
|
||||
a.show()
|
||||
args = cast(Args, parser.parse_args())
|
||||
main(args.file, args.gravity)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue