Stronę tą wyświetlono już: 2121 razy
Funkcje w OpenSCAD-ie umożliwiają przeprowadzanie obliczeń i zwracanie ich wyników czy to w postaci liczby czy też wektora liczb. Dla przykładu utworzę funkcję, która obliczy punkty krzywej parametrycznej Béziera na podstawie podanych:
- punktu początkowego P1 i P2;
- punktów sterujących Ps1 i Ps2
Krzywą Béziera opisuje następujący wzór:
[1] |
Zapis wyrażenia w formacie TeX-a:
gdzie:
- P(t) - to wektor, którego współrzędne zależą od wartości parametru t oraz położenia punktów końcowych P1 i P2 krzywej i punktów sterujących Ps1 i Ps2;
- P1 i P2 - punkty początkowy i końcowy krzywej;
- Ps1 i Ps2 - punkty sterujące krzywą;
- t - parametr, którego wartość z przedziału od 0 do 1 po podstawieniu do wzoru wyznacza punkty leżące na krzywej;
Implementacja funkcji w dwóch wersjach wygląda następująco:
Pierwsza funkcja bezierLine upraszcza wzór [1] do postaci, gdzie Ps1 = Ps2. Jak widać funkcje w OpenSCAD-ie są dość dziwaczną konstrukcją. OpenSCAD poprawnie obsługuje operatory matematyczne na wektorach, więc jako parametry powyższych funkcji powinny zostać podane punkty 2W. Przykład wykorzystania jednej z powyższych funkcji pokazany został poniżej.