- Funkcja "Moduł" umożliwia tworzenie nowych narzędzi poprzez łączenie, dostosowywanie lub reparametryzację obiektów utworzonych przez istniejące narzędzia w tym symulatorze.
- Zaimportowane moduły pojawią się jako narzędzia w kategorii "Inne". Wybierz i kliknij puste miejsce zgodnie z kolejnością sekwencji punktów kontrolnych (patrz "Specyfikacja").
- Zaimportowane moduły są osadzone w danych sceny, więc nie będą automatycznie aktualizowane, gdy autorzy modułów dokonają ich aktualizacji.

Soczewka Fresnela (`FresnelLens`)

Yi-Ting Tu

Soczewka Fresnela wykonana z półokrągłego kawałka szkła. Modułowa wersja tego przykładu z galerii.
Sekwencja punktów kontrolnych

1. Pierwszy punkt końcowy soczewki
2. Drugi punkt końcowy soczewki

Parametry

- `N_slice`: Liczba pierścieni
- `refIndex`: Współczynnik załamania soczewki

Źródło światła o widmie ciągłym (`ContSpectrum`)

Yi-Ting Tu

Źródło światła o jednolitym ciągłym widmie dyskretyzowanym z zadanym stałym krokiem. Działa tylko, gdy włączona jest opcja "Symuluj kolory".
Sekwencja punktów kontrolnych

1. Początek promieni
2. Określa kierunek promieni

Parametry

- `min`: Minimalna długość fali
- `step`: Krok długości fali
- `max`: Maksymalna długość fali
- `brightness`: Całkowita jasność

Źródło światła kołowe (`CircleSource`)

Yi-Ting Tu

Koło z jednolitymi 180-stopniowymi źródłami punktowymi rozmieszczonymi wzdłuż jego obwodu.
Sekwencja punktów kontrolnych

1. Środek koła

Parametry

- `r`: Promień koła
- `N`: Liczba źródeł punktowych
- `brightness`: Całkowita jasność

Chaff (`Chaff`)

Stas Fainer, Yi-Ting Tu

Chaff o prostokątnym kształcie składający się z losowych kawałków luster. Modułowa wersja tego przykładu z galerii.
Sekwencja punktów kontrolnych

1. Lewy górny róg chaff
2. Prawy dolny róg chaff

Parametry

- `N`: Liczba luster w chaff
- `L`: Długość zwierciadeł

Ekspander wiązki (`BeamExpander`)

Yi-Ting Tu

Układ dwóch idealnych soczewek, których odległość jest równa sumie ogniskowych. Rozszerzają lub zmniejszają średnicę wiązki skolimowanego światła. Modułowa wersja tego przykładu z galerii.
Sekwencja punktów kontrolnych

1. Środek pierwszej soczewki(
2. Drugi punkt drugiej soczewki
3. Określa wspólne ognisko soczewek

Przekaźnik promienia (`RayRelay`)

Stas Fainer, Yi-Ting Tu

Szereg idealnych identycznych soczewek o ogniskowej \(f\) i odległości \(d\) między soczewkami. Nierozbieżna trajektoria promienia jest zapewniona wtedy i tylko wtedy, gdy \(d\leq 4f\). Modułowa wersja [tego przykładu z galerii] (/gallery/ray-relaying).
Sekwencja punktów kontrolnych

1. Pierwszy punkt końcowy pierwszej soczewki
2. Drugi punkt końcowy pierwszej soczewki (powinien mieć taki sam \(x\) jak pierwszy punkt)

Parametry

- `f`: Ogniskowa soczewek
- `d`: Odległość między soczewkami
- `N`: Liczba soczewek

Światłowód (`OpticalFiber`)

josephernest, Yi-Ting Tu

Światłowód w kształcie linii o zadanej grubości rdzenia i płaszcza oraz współczynnikach załamania światła.
Sekwencja punktów kontrolnych

1. Pierwszy punkt końcowy światłowodu
2. Drugi punkt końcowy światłowodu (powinien mieć taki sam \(y\) jak pierwszy punkt)

Parametry

- `X`: Grubość rdzenia
- `Y`: Grubość płaszcza
- `n_1`: Współczynnik załamania rdzenia
- `n_2`: Współczynnik załamania płaszcza

## Dostosowywanie

Moduły można tworzyć lub dostosowywać bezpośrednio w aplikacji internetowej, korzystając z wbudowanego edytora JSON. Zobacz samouczek. Dostosowywanie zaimportowanych modułów będzie miało wpływ tylko na bieżącą scenę.

## Wkład

Wnoszenie wkładu do powyższej listy jest mile widziane. Aby dodać swój moduł, zobacz Wnoszenie wkładu do modułów.