-
-
Notifications
You must be signed in to change notification settings - Fork 0
Home
This wiki provides detailed information about NAS6LIB, including tutorials,
architecture, advanced features, and detailed technical specifications.
Its primary goal is to empower users to leverage NAS6LIB effectively
and resolve common queries independently, minimizing the need for direct support.
- Reproduces the perihelion precession of Mercury with over 99.9% accuracy
- Enables verification of relativistic effects, including 2.5PN terms
Operating environment (Optional)
NAS6LIB works in major browser environments.
Currently, we have confirmed that it works with the following libraries as options, although they are not required:
jQuery 3.7.1
x3dom 1.8.3
ThreeJS R177
Related files will be updated in due course.
- Purpose and use cases of NAS6LIB
NAS6LIB specializes in precise numerical calculations, and many of them encapsulate calculations
in the fields of 3DCG and physics calculations, making it relatively easy to write them.
Also, NAS6LIB provides timer control to realize pseudo multi-threading in JavaScript
in a single-threaded environment, and also provides a method for flexible keyboard input detection.
- Use cases
Realization of pseudo multi-threading
Customizing keyboard input
Solar system planetary orbit simulator
Relativity satellite orbit simulator
Expressing the water surface using Fresnel reflection
-
LICENCE.md : GPLv3.0
-
README.md : Introduction
-
ClassMethod.md : Class Method Reference
-
AdvancedReadMe.md : In-depth information
-
DeepRelativityDiscussion.md : Deep Relativity Discussion
-
Zip Files Links : List of frequently updated Zip files
-
Study order : If you would like to see the table of contents for each learning order, please click here.
-
Project Template and Basic Tutorials : Introducing the Simple Template
- Installation and Setup Guide
- Minimal tutorial
-
Matrices and Vectors (Fundamental Operations)
-
N6LMatrix & N6LVector basics
- Creation, initialization
- Addition, subtraction, multiplication (vectors and matrices, matrices and matrices), Division (for convenience)
- Normalization, Absolute Value
- Inner product, cross product (Vector)
- Transpose, inverse matrix (Matrix)
-
Coordinate transformation basics
- Creating and applying rotation, translation, and scale matrices
- Conversion between local and world coordinates
- About row-major and column-major arrangement of rotation matrices
- Homogeneous Coordinates & the bHomo Flag
- Proof that the special arrangement of homogeneous coordinates in NAS6LIB is computationally problem-free
- Abstraction by type identification in N6L
-
N6LMatrix & N6LVector basics
- Quaternions (N6LQuaternion)
- Camera and Projection
-
Time Management with N6LTimerMan
- Building the main thread : Mastering how to create the main thread is paramount.
- N6LTimerMan makes it easy to implement multi-threading in Javascript
- Mathematical and physical foundations
- N6LDate/CalendarLibrary
- N6LBigFloatCalculator/arbitrary-precision-real-number-calculation-class
- Physics Simulations (Kepler & Runge-Kutta)
- Integration with 3D Rendering Libraries
- Input Handling (Keyboard)
- Custom ThreeJS Shaders
- Advanced Topics
- ■■■ FAQ ■■■
- Polygonal approximation of pi Archimedes' and Pythagoras' Figures
-
Project Template and Basic Tutorials : Introducing the Simple Template