Grafika3D Domyślnie obiekty 3D widzimy pod określonym kątem. Możemy go zmieniać Możemy zdefiniować punkt widzenia kamery, środek obrazu i kąt widzenia-ViewPoint, ViewCenter, ViewAngle Możemy również zmieniać ustawienia światła Lighting->None, „Automatic”, „Spot”, „Ambient”, „Directional”, „Neutral”
Elementarne Obiekty Arrow[] Ball[{…}] Ellipsoid[{…}] Cone[{pt1,pt2},r] Cuboid[…] Cylinder[{{x1,y1,z1},{x2,y2,z2},r] Sphere[{x,y,z},r] Tube[…] Polygon Line[{…}] Point[] Text[…]
Przekształcenia geommetryczne grafiki 3D Translate[#,v] przesuwa obiekt o wektor v. Rotate[#,a,v,p] obraca obiekt 3D # o kąta a wzdłóż wektora v względem punktu p GeometricTransformation[#,{m,v}]-przekształcenie każdego punktu objektu # macierzą m, a następnie przesunięcie o wektor v.
Właściwości (głównie) obiektów 3D EdgeForm[{styl,kolor,grubość}] FaceForm[{…}]-format (głównie kolor) ścian. JoinForm[{„Bevel”,”Round”,Miter”}] Capform[{„Butt”,”Round”}] Opacity[r]-przezroczystość Specularity[a,b]- obcicie Światła w stopniu a od powierzchni o gładkości b.
GraphicsComplex[{v},#[n1,n2,…] Zastępuje jeden wiele obiektów graficznym jednym Punkty użyte w obiekcie są zebrane w tablicy w. Do tworzących obiekt punktów odwołujemy się poprzez ich numer porządkowy Zaimportowane objekty 3D mają formę kompleksy graficzne
Objętość Tworząc obiekt 3D warto pamiętać, czy tworzymy obiekt złożony z wielośćianów, czy ma objętość. Przykład Sphere-Ball Tube-Cylinder
Granice Limit[f,x->lim,Direction->+/-1] Jeżeli granica nie istnieje w sensie matematyczym, Mathematica może podać ją w postaci przedziału możliwych zakresów (sinus) Jak zawsze, podawane są wyniki prawdziwe w ogólności, pomijając przypadki specjalne (liczby pierwsze)
Pochodne f’[x] D[f,x] D[f,{{x1,x2,…}}]-wektor pochodnych po zmiennych x1,x2,x3 D[f,{x,n}]-pochodna n-tego rzędu D[f,x1,x2]-pochodna po zmiennych x1,x2, NonConstants->…-przyjęcie założenia o wyrażeniach niestałych Dt[f,x]-Różniczka zupełna
Całkowanie -Oznaczone -Nieoznaczone g[x,…]=Integrate[f[x,…],x,…] Integrate[f[x],{x,x0,x1}]=g[x1]-g[ x0]
Całkowanie po obszarach Integrate[f[x],Element[x,region]] Regiony to zbiory Przynależność do zbioru w tym kontekście nie jest funkcją logiczną Alternatywna wersja Integrate[f[x]Boole[g[x],{x,x0,x1}] Różnica prędkośc Podobnie: Sum
Funkcje jako wektory y Normalizacja do Delty Diraca p0 x x0
Przykłady funkcji ortogonalnych {a,b} K(x) F(x) {-1,1} 1 LegendreP[n,x] {-inf,inf} Exp[-x^2] HermiteteH[n,x] {0,2Pi} {1/Sqrt[2Pi], 1/Sqrt[Pi]Sin[nx] {0,inf} x^l Exp[-x] LagurerreL[n,l,x] Sfera SphericalHarmonicY[l,m,theta,phi] Funkcje bazowe pozwalają znaleźć odwzorowanie funkcji prawie ciągłych na nieskończone ciagi.
„Składowe” funkcji Delta Diraca- funkcja uogólniona, czyli funkcjonał Pochodna funkcji schodkowej a całka z delty Diraca
Przybliżenia delty Diraca a UnitBox[a x] a UnitTriangle[a x] Przy przybliżaniu delty Diraca musimy uważać na tempo zbieżności
Pola wektorowe Pola wektorowe przypisują wektory wszystkim punktom w przestrzeni Operator Nabla
Potencjał skalarny siły Właściwości pól wektorowych Źródłowość, dywergencja, mówi nam, czy pole reprezentuje przepływ od źródła do ścieku Rotacja-mówi, czy pole jest wirowe
Potencjał wektorowy Pole opisane potencjałem wektorowym nie może być źródłowe Pole opisane potencjałem skalarnym nie może być wirowe Laplacian Iloczyn pola skalarnego i wektorowego
Transformacje Cechowania Do potencjału skalarnego możemy dodać funkcję liniową, do potencjału wektorowego- pole wirowe. W efekcie otrzymujemy to samno pole.
Zastępowanie całek ds V S dl
Dekompozycja Hermholza Znajdywanie dla danego pola potencjału skalarnego i wektorowego Dowód: Zastosować Laplacian F/r Rozwinąć Laplacian Wyłączyć pierwsze operatory Nabla Zmienić zmienne w różniczkach Skorzystać z rozwinięcia iloczynów pól Zaniedbać całki po powierzchni
Komendy dla pól wektorowych Grad[f[x1,x2,…],{x1,x2,…}]-gradient Div[f,{x1,x2,…}]-dywergencja Curl[f,{x1,x2,x3,…}]-rotacja Laplacian[f,{x1,x2,x3,…}]-Laplaciane Del[x] Symbol Nabli VectorPlot[…]-wykres dwuwymiarowego pola wektorowego VectorPlot3D[…] ListVectorPlot[…] SliceVectorPlot3D[f,s,…]-wykres pola wektorowego na wyznaczonej płaszczyźnie s Opcje StreamPoints-ilość punków linii strumienia StreamScale-grubość linii strumienia VectorStyle
Przekształcenia Funkcji Pokazać różniczkę Przekształcenia Funkcji Funkcje są ze sobą powiązane przez różne tożsamości (n.p. jedynka trygonometryczna) Do poszukiwania tych zależności służy Simplify[expr]. FullSimplify działa podobnie, ale przeszukuje bogatszą kolekcję przekształceń
Upraszcza funkcje: Sumy wielomianów do pewnego stopnia-wymierne wykładnicze funkcje trygonometryczne (opcjonalnie) Funkcje potęgowe, logarytmiczne, … Uwaga: program uprości funkcje „jak mu wygodnie”, a nie jak od niego tego oczekujemy. Np. priorytet przy upraszczaniu mają zmienne na o niskiej wartości leksykologicznej
Opcje ComplexityFunction->k: opcja szuka w wyrażeniu nagłówków i innych obiektów i wybiera kryterium, według którego funkcja jest wskazywana jako najprostsza: LeafCount, ByteCount, StringLength(ToString[…]) TimeConstrains->{tloc,ttot} ogranicza czas na uproszczenie pojedynczych elementów do tloc i całego uproszczenia do ttot Assumptions->…-założenia Trig-> …-przekształcenia trygonometryczne
Factor rozkłada wielomiany na wielomiany nieredukowalne (takie, które nie mają pierwiastków rzeczywistych) (Opcja modulus) Expand-rozwija funkcje (głównie wielomiany) Refine[expr,assm] wprowadza zmiany wynikające z założeń TrigReduce-zamienia funkcję okresową na sumę Fouriera* TrigExpand zamienia funkcję na sumę potęg funkcji trygonometrycznych TrigFactor faktoryzuje wyrażenia trygonometryczne
Interpolacja, ekstrapolacja, aproksymacja Interpolacja-konstrukcja funkcji, która przybiera dokładnie zadane wartości dla danych argumentów w celu przybliżenia wartiości pośredniej. Przykład: Słońce wzeszło o 5:40, o 6:20 było około 15 stopni nad horyzontem, o 6:05 było około 8 st. nad horyzontem. Ekstrapolacja-przewidywanie wartości funkcji na podstawie jej znanych wartości w innym zakresie Przykład: w Gdańsku odległość między stacjami SKM wynosi 1,2 km, więc 13 stacja na linii będzie około 16 km tej linii Aproksymacja: na podstawie znanych wartości prostych funkcji o możliwie zbliżonym przebiegu Przykład: pieniądze na lokacie rosną eksponencjalnie w czasie.
Interpolacja Lagrange’e Każdy wielomian n-tego stopnia możemy zdefiniować poprzen n+1 punktów, przez które on przechodzi Załóżmy, że mamy dane {{x[1],y[1]},{x[2],y[2]},…,{x[n+1],y[n+1]} Wielomiany Lagrange’a Mają wartość 1 dla x==x[i] i 0 dla x==x[j]. By przeprowa-dzić je przez właściwe punkty, sumujemy je z odpowiednimi wagami
Inne możliwe funkcje do zastosowania w interpolacji Trygonometryczne-trudne do wyliczenia Wykładnicze Jeżeli dane są rozłożone równomiernie-Sinc[x]. Funkcje z elementami typu (analiza falkowa)
Interpolacja częściowa Interpolujemy tylko pomiędzy dwoma sąsiednimi punktami, a następnie zszywamy funkcję Hermite’a: -bierzemy n+1 punktów z sąsiedztwa wartości, w której chcemy interpolować, -budujemy wielomian interpolacyjny Lagrange’a n-tego rzędu przez te punkty -stosujemy go tylko w danym przedziale Spline’a -bierzemy n-1 punktów z sąsiedztwa -dokładamy warunki brzegowe. Druga pochodna w punktach początkowym i końcowym ma być równa 0, w pozostałych punktach pierwsza ma być ciągła -wyznaczamy wielomian -zszywamy funkcje w różnych zakresach.
Ostrożnie! Metody interpolacyjne mogą istotnie zniekształcać przebieg funkcji Wielomiany o gęsto rozłożonych pierwiastkach oscylują Powinniśmy mieć pojęcie o funkcji, którą interpolujemy