Niektóre zaawansowane możliwości biblioteki Three.js

Wielkość: px
Rozpocząć pokaz od strony:

Download "Niektóre zaawansowane możliwości biblioteki Three.js"

Transkrypt

1 Piotr Siekański Wydział Mechatroniki PW Niektóre zaawansowane możliwości biblioteki Three.js Fotorealizm w animacji...2 Cube mapping...2 Skybox...3 Skybox w Three.js...3 Różne materiały dla jednej bryły...4 Sterowanie kamerą za pomocą myszy...6 Ładowanie modeli z Blendera do Three.js...7 Eksport modeli z Blendera do Three.js...7 Funkcje anonimowe w JavaScript...8 Import wyeksportowanych modeli w Three.js...8 Modelowanie powierzchni zwierciadlanych...9 Systemy cząsteczkowe...10 Podstawy systemów cząsteczkowych...10 Liczby losowe w JavaScript...13 Parametry cząsteczek zależne od odległości...14 Zadania

2 Fotorealizm w animacji We współczesnej grafice komputerowej duży nacisk kładzie się na uzyskanie tzw. fotorealizmu, czyli stworzenia za pomocą komputera obrazów, które będą dobrze imitować rzeczywiste obiekty. Jeżeli rendering nie musi być przeprowadzany w czasie rzeczywistym, często stosuje się technikę śledzenia promieni (ang. ray tracing), która wymaga bardzo wielu obliczeń i nie nadaje się do generowania animacji w czasie rzeczywistym. Istnieje jednak wiele technik wymagających mniejszej ilości obliczeń, które w konkretnych zastosowaniach dają efekty zbliżone do śledzenia promieni. Cube mapping Cube mapping jest jedną z technik tzw. mapowania środowiskowego (ang. environment mapping). Polega na stworzeniu wirtualnego sześcianu wielokrotnie większego od sceny, którą otacza. Na każdą z jego ścian nakładana jest wcześniej przygotowana tekstura, która odpowiada widokowi z kamery ustawionej prostopadle do ściany (patrz: Rysunek 1). Najczęściej poszczególne ściany w cube mappingu nazywa się zgodnie z następującą regułą: strona osi po której leży dana ściana i nazwa osi. Np. ściana leżąca po dodatniej stronie osi x będzie nazwana px (positive x), a leżąca po ujemnej stronie osi y ny (negative y). Rysunek 1: Cube mapping 2

3 Skybox Cube mapping jest szeroko stosowany w tworzeniu skyboxów. Skybox jest techniką, która pozwala niskim kosztem uzyskać wrażenie realistycznej sceny o znacznie większych wymiarach niż jest w rzeczywistości. Stosowanie skyboxów stwarza wrażenie dużej odległości obiektów tła, a w rezultacie wrażenie głębi. Skybox w Three.js Dołączony plik Podstawy threejs.html zawiera podstawowy kod HTML konieczny do rozpoczęcia pracy z biblioteką Three.js. oraz zdefiniowane podstawowe zmienne i funkcje. Działanie kodu jest wyjaśnione szczegółowo w pierwszej części instrukcji. Dodano jedynie polecenie lookat, które ustawia kamerę tak, aby patrzyła na obiekt będący argumentem. Jeżeli nie zaznaczono inaczej, wszystkie poniższe polecenia należy dodawać w funkcji init(), żeby zachować czytelność kodu. Skybox jest sześcianem, a więc najpierw należy zdefiniować geometrię sześcianu oraz materiał, z którego będzie wykonany: var skyboxgeometria = new THREE.CubeGeometry( 1000, 1000, 1000); var skyboxmaterial = new THREE.MeshLambertMaterial( { color: 0x00ff00, side: THREE.BackSide ); Warto zwrócić uwagę na parametr side pojawiający się w materiale. Odpowiada on za stronę, po której będzie renderowany materiał. Może przyjmować trzy wartości: THREE.FrontSide THREE.BackSide THREE.DoubleSide Jeśli parametr nie zostanie zdefiniowany, przyjmuje domyślnie wartość THREE.FrontSide, która renderuje materiał po stronie zewnętrznej bryły. W przypadku skyboxa, konieczna jest zmiana wartości tego parametru na THREE.BackSide, ponieważ materiał ma być widoczny wewnątrz sześcianu. Możliwy jest też rendering na obu powierzchniach bryły zewnętrznej i wewnętrznej, wtedy należy ustawić wartość THREE.DoubleSide. Po zdefiniowaniu materiału należy stworzyć bryłę i dodać ją do sceny. var skybox = new THREE.Mesh( skyboxgeometria, skyboxmaterial ); scena.add( skybox ); Materiał skyboxa jest typu lambertowskiego, a więc wymaga zdefiniowania oświetlenia i dodania go do sceny w określonym miejscu: var swiatlopunktowe = new THREE.PointLight( 0xffffff, 2, 1000 ); scena.add(swiatlopunktowe); swiatlopunktowe.position.set(100,100,100); 3

4 Po zapisaniu i uruchomieniu pliku w przeglądarce, powinno wyświetlić się wnętrze zielonego sześcianu (Rysunek 2). Rysunek 2: Zielony skybox Różne materiały dla jednej bryły Do tej pory każda bryła korzystała z jednego materiału. Skybox musi mieć ich sześć, ponieważ wymaga zastosowania sześciu różnych tekstur. Do tego celu konieczna jest tablica przechowująca każdy z materiałów: var tablicamaterialow = []; Następnie do tablicy muszą zostać dodane materiały, najprostszy sposób to użycie polecenia push, które dodaje jeden lub więcej elementów na koniec tablicy: THREE.MeshBasicMaterial( { color: 0xff0000, side: THREE.MeshBasicMaterial( { color: 0x00ff00, side: THREE.MeshBasicMaterial( { color: 0x0000ff, side: THREE.MeshBasicMaterial( { color: 0xffff00, side: THREE.MeshBasicMaterial( { color: 0xff00ff, side: THREE.MeshBasicMaterial( { color: 0x00ffff, side: Po wykonaniu powyższego fragmentu kodu do tablicy zostanie dodanych sześć materiałów typu basic różniących się kolorem. Kolejnym krokiem jest zmiana typu materiału skyboxa z: var skyboxmaterial = new THREE.MeshLambertMaterial( { color: 0x00ff00, side: THREE.BackSide ); na: var skyboxmaterial = new THREE.MeshFaceMaterial( tablicamaterialow ); 4

5 Materiał typu MeshFace przyjmuje jako parametr tablicę materiałów, której poszczególne materiały są dodawane do poszczególnych ścian bryły. Materiały w tablicy są typu basic, więc światło punktowe nie będzie już potrzebne i można usunąć fragment kodu odpowiedzialny za dodanie światła: //var swiatlopunktowe = new THREE.PointLight( 0xffffff, 2, 1000 ); //scena.add(swiatlopunktowe); //swiatlopunktowe.position.set(100,100,100); Po zapisaniu pliku i uruchomieniu go w przeglądarce powinien wyświetlić się kolorowy sześcian (Rysunek 3). Rysunek 3: Rózne materiały na każdej ze ścian skyboxa Ostatnim krokiem jest dodanie tekstur do każdej ze ścian. W tym celu należy zmienić fragment kodu odpowiadający za dodawanie materiałów do tablicy z THREE.MeshBasicMaterial( { color: 0xff0000, side: THREE.MeshBasicMaterial( { color: 0x00ff00, side: THREE.MeshBasicMaterial( { color: 0x0000ff, side: THREE.MeshBasicMaterial( { color: 0xffff00, side: THREE.MeshBasicMaterial( { color: 0xff00ff, side: THREE.MeshBasicMaterial( { color: 0x00ffff, side: na 5

6 THREE.MeshBasicMaterial( { map: THREE.ImageUtils.loadTexture( 'tekstury/px.jpg' ),side: THREE.MeshBasicMaterial( { map: THREE.ImageUtils.loadTexture( 'tekstury/nx.jpg' ),side: THREE.MeshBasicMaterial( { map: THREE.ImageUtils.loadTexture( 'tekstury/py.jpg' ),side: THREE.MeshBasicMaterial( { map: THREE.ImageUtils.loadTexture( 'tekstury/ny.jpg' ),side: THREE.MeshBasicMaterial( { map: THREE.ImageUtils.loadTexture( 'tekstury/pz.jpg' ),side: THREE.MeshBasicMaterial( { map: THREE.ImageUtils.loadTexture( 'tekstury/nz.jpg' ),side: Powyższy fragment kodu ładuje odpowiednie tekstury z dołączonego katalogu nazwanego tekstury i przypisuje je do każdego z materiałów. Nazwa pliku z teksturą odpowiada jej położeniu w skyboxie. Autorem tekstur użytych w przykładzie jest Emil Persson. Rysunek 4: Skybox z teksturami Sterowanie kamerą za pomocą myszy Skybox nie wygląda realnie, gdy obserwator nie znajduje się w jego środku. Należy poprawić pozycję kamery tak, by znajdowała się w środku skyboxa np. poleceniem: kamera.position.set(0,150,0); Tak ustawiona kamera dzięki poleceniu lookat, które jak już wspomniano ustawia kamerę tak, aby patrzyła na obiekt będący argumentem, jest ustawiona zgodnie z kierunkiem wektora kamera centrum sceny - punkt (0,0,0). Dlatego jest skierowana wzdłuż osi y, czyli patrzy na dolną ścianę 6

7 skyboxa. Kolejnym krokiem będzie implementacja sterowania kamerą za pomocą myszy. W tym celu należy dodać na początku dokumentu dodatek do biblioteki Three.js nazwany OrbitControls znajdujący się w katalogu js. W przypadku ściągnięcia całej biblioteki Three.js znajduje się on w: folder z biblioteką threejs > examples > js > controls > OrbitControls.js <script src="js/orbitcontrols.js"></script> Następnie należy zadeklarować nową zmienną globalną odpowiadającą za sterowanie kamerą: var kontrolakamery; i wewnątrz funkcji init() przypisać ją do kontroli kamery: kontrolakamery = new THREE.OrbitControls( kamera, renderer.domelement ); Parametry odpowiadają kolejno za element, który będzie poruszany za pomocą myszy oraz odwołanie do elementu, HTML wewnątrz którego będzie poruszać się obiekt. W tym przypadku jest nim renderer. Ostatnim krokiem jest dodanie w funkcji animate() polecenia uaktualniającego stan kontroli kamery: kontrolakamery.update(); Po zapisaniu pliku i uruchomieniu go w przeglądarce możliwe będzie sterowanie kamerą za pomocą myszy: lewy przycisk - obrót kamery, prawy przycisk - przesuwanie w płaszczyźnie równoległej, kółko myszy oddalanie/zbliżanie. Ładowanie modeli z Blendera do Three.js Eksport modeli z Blendera do Three.js Blender domyślnie nie wspiera formatu plików używanego przez Three.js, dlatego do biblioteki dołączony jest specjalnie napisany eksporter, który instaluje się jako dodatek do Blendera. Instalacja dodatku przebiega następująco: 1. Skopiowanie dołączonego katalogu io_mesh_threejs do katalogu scripts/addons Blendera. W przypadku ściągnięcia całej biblioteki Three.js znajduje się on w: folder z biblioteką threejs > utils > exporters > Blender. Pełna ścieżka instalacji zależy od używanego systemu operacyjnego: Windows: C:\Users\USERNAME\AppData\Roaming\Blender Foundation\Blender\2.6X\scripts\addons lub C:\Program Files\Blender Foundation\Blender\2.6X\scripts\addons OSX: zależna od katalogu, w którym zainstalowana jest aplikacja; w przypadku instalacji w katalogu Applications: /Applications/Blender/blender.app/Contents/MacOS/2.6X/scripts/addons Linux: /home/username/.config/blender/2.6x/scripts/addons lub /usr/lib/blender/scripts/addons 2. Aktywacja dodatku w Blenderze. W tym celu należy wybrać: File > User Preferences > Addons i w polu wyszukiwania wpisać three. Nastepnie należy zaznaczyć pole wyboru przy Import-Export: Three.js format. 7

8 3. Model stworzony przy użyciu Blendera można wyeksportować do formatu tekstowego przy pomocy File > Export > Three.js (js). Funkcje anonimowe w JavaScript Funkcja anonimowa rożni się od zwykłej funkcji tym, że nie ma nazwy. Jest deklarowana i natychmiast wywoływana w konkretnym miejscu w kodzie, później nie można się do niej odwołać. Przykład zastosowania funkcji anonimowej do ładowania modelu znajduje się w następnym akapicie. Funkcje anonimowe są często stosowane, ponieważ poprawiają czytelność kodu i przyspieszają jego wykonanie. Są stosowane w działaniach, które wykonują się tylko raz podczas działania skryptu, np. ładowanie modelu z pliku. Import wyeksportowanych modeli w Three.js Biblioteka Three.js posiada wbudowany loader, który umożliwia import modeli zapisanych w tekstowym formacie JSON. Najpierw należy zadeklarować zmienną globalną przechowującą referencję do wczytanego modelu na przykład: var malpa; Loader, przy ładowaniu pliku korzysta z funkcji anonimowej: var zrodlo = "monkey.js"; var loader = new THREE.JSONLoader(); loader.load( zrodlo, function(geometriamodelu){ var malpamaterial = new THREE.MeshBasicMaterial({color: 0x00ff00); malpa = new THREE.Mesh(geometriaModelu, malpamaterial); malpa.position.set(0,0,0); malpa.scale.set(10,10,10); scena.add(malpa); ); Najpierw deklarowana jest zmienna przechowująca ścieżkę do ładowanego pliku, następnie tworzona jest instancja loadera i wywoływana jest jego metoda load(). Przyjmuje ona dwa parametry, pierwszy to ścieżka do modelu, który należy wczytać, a drugi to funkcja anonimowa, która przyjmuje za parametr geometrię modelu wczytaną z pliku. Działanie kodu wewnątrz funkcji anonimowej jest oczywiste: najpierw tworzony jest materiał, później na jego podstawie i geometrii przekazanej przez parametr funkcji anonimowej tworzony jest nowy obiekt, który następnie jest dodawany do sceny. Warto podkreślić, że po wyjściu z funkcji anonimowej wszystkie zmienne użyte w jej wnętrzu staną się niedostępne, więc jeśli nie zostałaby utworzona zmienna globalna przechowująca odwołanie do modelu, model zostałby dodany do sceny i wyświetlany, ale nie można by się do niego w żaden sposób odwołać. Działanie loadera w threejs opiera się o mechanizm AJAX (ang. Asynchronous JavaScript and XML, asynchroniczny JavaScript i XML), który umożliwia asynchroniczne ładowanie poszczególnych elementów strony internetowej. Kod zawarty wewnątrz loadera wykonuje się niezależnie od pozostałej części skryptu, inaczej niż w przypadku klasycznego programowania strukturalnego, w którym kod jest wykonywany linia po linii, a wykonanie kolejnej linii zacznie się dopiero po zakończeniu wykonywania poprzedniej linii. Z tego powodu kod wykonywany asynchronicznie może być znacznie trudniejszy do debugowania. 8

9 Po zapisaniu pliku i uruchomieniu go w przeglądarce internetowej powinien wyświetlić się zielony model małpy wyeksportowanej z dołączonego pliku monkey.blend i wczytanego z pliku tekstowego JSON monkey.js. Modelowanie powierzchni zwierciadlanych Jak już wspomniano we wstępie do niniejszej instrukcji, raytracing jest zbyt kosztowną techniką, żeby stosować ją w animacjach, które muszą wykonywać się w czasie rzeczywistym. Powierzchnię zwierciadlaną można jednak uzyskać korzystając z wspomnianego już cube mappingu, umieszczając wirtualny sześcian na miejscu obiektu zwierciadlanego i wykonując rendering otoczenia na każdej z jego ścian (patrz Rysunek 1). Tak przygotowaną teksturę należy później nałożyć na obiekt. Biblioteka Three.js posiada gotowy obiekt kamery do cube mappingu. Należy zadeklarować nową zmienną globalną: var kameralustrzana; i w funkcji init() przypisać ją do nowej kamery i dodać ją do sceny: kameralustrzana = new THREE.CubeCamera( 0.1, 5000, 512 ); scena.add( kameralustrzana ); Parametry przyjmowane przez konstruktor to: near obiekty bliższe niż wartośc near nie będą renderowane far obiekty dalsze niż wartośc far nie będą renderowane cuberesolution rozdzielczość kamery; im mniejsza wartość tym mniej dokładne odwzorowanie otoczenia i wrażenie bardziej matowej powierzchni. Następnie należy utworzyć nowy materiał, który będzie zawierał teksturę będącą obrazem z kamery. Umożliwia to parametr envmap: var materiallustrzany = new THREE.MeshBasicMaterial( { envmap: kameralustrzana.rendertarget ); Aby przypisać ten materiał do modelu, należy wrócić do anonimowej funkcji ładującej model i zamienić: var malpamaterial = new THREE.MeshBasicMaterial({color: 0x00ff00); malpa = new THREE.Mesh(geometriaModelu,malpaMaterial); na: malpa = new THREE.Mesh(geometriaModelu,materialLustrzany); Zmienna malpamaterial nie będzie już potrzebna, ponieważ materiał dla obiektu został utworzony poza funkcją anonimową. Jak już wspomniano, w przypadku wykorzystania cube mappingu, konieczne jest aby kamera była ustawiona dokładnie tam, gdzie obiekt, dlatego należy wewnątrz funkcji anonimowej przypisać położeniu kamery realizującej cube mapping położenie obiektu: kameralustrzana.position = malpa.position; 9

10 Po zapisaniu pliku i uruchomieniu go w przeglądarce załadowany model będzie czarny, ponieważ w każdej klatce animacji należy renderować obraz z kamery realizującej odbicie lustrzane. W tym celu w funkcji render() należy dodać instrukcję uaktualniającą kamerę. Żeby zapobiec sytuacji, w której część obiektu zasłania kamerę powodując powstanie artefaktów na powierzchni obiektu, należy przed uaktualnieniem kamery ukryć obiekt, natomiast po uaktualnieniu, ponownie go pokazać, używając właściwości visible: malpa.visible=false; kameralustrzana.updatecubemap( renderer, scena ); malpa.visible=true; Żeby sprawdzić poprawność działania mapowania środowiskowego można w funkcji animate() dodać obrót modelu: malpa.rotation.x+=0.01; Po zapisaniu pliku i uruchomieniu go w przeglądarce powinien wyświetlić się obracający się model głowy małpy z odbiciem środowiska na powierzchni. Systemy cząsteczkowe Podstawy systemów cząsteczkowych Systemy cząsteczkowe są techniką pozwalającą stosunkowo niewielkim nakładem pracy symulować wiele zjawisk fizycznych, takich jak: ogień, dym, poruszająca się woda, śnieg, deszcz itp. System cząsteczkowy składa się z wielu bardzo prostych elementów, które są animowane niezależnie od siebie. Ze względu na fakt, że aby uzyskać dobry efekt, cząsteczek musi być bardzo dużo, stosuje się wiele metod optymalizacji renderingu. Jedną z nich jest, stosowana w bibliotece Three.js, rezygnacja z geometrii cząsteczki. Są one płaskie i zawsze zwrócone w stronę kamery. W omawianym przykładzie system cząsteczkowy zostanie użyty do tworzenia prostych fajerwerków. System cząsteczkowy tak, jak każdy element w bibliotece Three.js wymaga zdefiniowania geometrii i materiału. Należy zdefiniować dwie nowe zmienne nielokalne fajerwerk, odpowiadającą za wskaźnik do modelu oraz materialfajerwerku, odpowiadającą za przechowywanie materiału: var fajerwerk, materialfajerwerku; Zmienna przechowująca geometrię nie jest potrzebna, ponieważ w omawianym przykładzie, będzie ona tworzona dynamicznie. Następnie w funkcji init(), należy przypisać im wartości: materialfajerwerku = new THREE.ParticleSystemMaterial({ size: 8, map: THREE.ImageUtils.loadTexture( 'tekstury/gwiazdka.png' ), opacity: 1.0, transparent: true, depthtest: false ); fajerwerk = new THREE.ParticleSystem( new THREE.SphereGeometry(30,15,15), materialfajerwerku ); scena.add(fajerwerk); 10

11 Materiał Fajerwerku jest typu ParticleSystem, co oznacza, że reprezentuje on system cząsteczkowy. Zdefiniowane parametry odpowiadają kolejno za: size rozmiar cząsteczki (domyślnie 1). map tekstura, która będzie wyświetlana. W tym przypadku gwiazdka. Jeśli tekstura nie byłaby zdefiniowana wyświetlany jest kwadrat. Jest to rozwiązanie akceptowalne, jeżeli rozmiar cząsteczki jest mały. opacity stopień przezroczystości cząsteczki w skali 0-1, gdzie 1 oznacza całkowicie nieprzezroczystą. transparent zmienna logiczna, jeśli ma wartość true, umozliwia sterowanie stopniem przezroczystości. depthtest parametr określający, czy cząsteczki mają mieć sprawdzany test głębii. Wartość false przyspiesza rendering i zapobiega powstawaniu artefaktów na krawędzi cząsteczek. Następnie stworzony zostaje system cząsteczkowy na bazie geometrii sfery i wcześniej zdefiniowanego materiału. Cząsteczki pojawiają się w miejsce wierzchołków geometrii. Ostatnim krokiem jest dodanie gotowego systemu do sceny (Rysunek 5). Rysunek 5: Scena z dodanym systemem cząsteczkowym 11

12 Kolejnym krokiem będzie symulacja efektu wybuchu. Najprostszym wyjściem jest sterowanie skalą systemu, w tym celu utworzone zostaną dwie nowe zmienne globalne skala, odpowiadająca za aktualną skalę systemu oraz maxskala, która będzie zapobiegać rozrostowi fajerwerku w nieskończoność. var skala=1, maxskala=150; Następnie tak przygotowane zmienne należy wykorzystać do sterowania rozmiarem systemu cząsteczkowego. Żeby zwiększyć czytelność kodu, poza funkcą init() zdefiniowane zostaną dwie nowe funkcje resetfajerwerku() i animacjafajerwerku(). function resetfajerwerku(){ skala=1; function animacjafajerwerku(){ skala+=10; fajerwerk.scale.set(skala, skala, skala); if (skala>maxskala) { resetfajerwerku(); Działanie kodu obu funkcji jest oczywiste. Funkcja animacjafajerwerku() zwiększa skalę i na jej podstawie ustawia nową skalę Fajerwerku. Następnie sprawdza czy przekroczona została wartość graniczna, jeśli tak, to wywołana zostaje funkcja resetfajerwerku(), która na obecnym etapie tylko ustawia wartość zmiennej skala z powrotem na 1. Aby rozpocząć animację Fajerwerku należy w funkcji animate() dodać wywołanie funkcji animacjafajerwerku(): function animate() { requestanimationframe( animate ); animacjafajerwerku(); kontrolakamery.update(); render(); Ostatnim krokiem jest zmiana promienia sfery w geometrii Fajerwerku, ponieważ rozrasta się on zdecydowanie za szybko. Należy zamienić: fajerwerk = new THREE.ParticleSystem( new THREE.SphereGeometry(30,15,15), materialfajerwerku ); na: fajerwerk = new THREE.ParticleSystem( new THREE.SphereGeometry(1,15,15), materialfajerwerku ); Po zapisaniu pliku i uruchomieniu go w przeglądarce gwiazdy dookoła małpy powinny pulsować. 12

13 Liczby losowe w JavaScript Emisję fajerwerku można opisać w bardzo prosty sposób. Wymagane będą do tego dwie nowe zmienne globalne prędkosc odpowiadająca za prędkość lotu fajerwerku i kierunekfajerwerku będąca jego kierunkiem ruchu: var kierunekfajerwerku, szybkosc=10; Następnie, aby tor ruchu każdego z fajerwerków był inny, należy zainicjalizować wektor kierunekfajerwerku trzema losowymi wartościami dzięki poleceniu Math.random(), które zwraca losową liczbę z przedziału (0-1): kierunekfajerwerku = new THREE.Vector3(-1+Math.random()*2, 0.8+Math.random()*0.2, 1+Math.random()*2) Zakres zmienności składowych wektora jest równy odpowiednio dla osi x i z: (-1,1), a dla osi y (0.81). Dzięki tak dobranym parametrom, fajerwerki będą zawsze leciały w kierunku górnej części skyboxa. Następnie należy uaktualnić funkcję animacjafajerwerku() do postaci: function animacjafajerwerku() { if (fajerwerk.position.y <500){ fajerwerk.position.x+=kierunekfajerwerku.x*szybkosc; fajerwerk.position.y+=kierunekfajerwerku.y*szybkosc; fajerwerk.position.z+=kierunekfajerwerku.z*szybkosc; else { skala+=10; fajerwerk.scale.set(skala, skala, skala); if (skala>maxskala) { resetfajerwerku(); Po zapisaniu pliku i uruchomieniu go w przeglądarce internetowej fajerwerk zostanie wystrzelony raz, a później będzie pulsował w górnej części skyboxa. Żeby stworzyć wyrzutnię fajerwerków, należy uaktualnić funkcję resetfajerwerku() do postaci: function resetfajerwerku(){ scena.remove(fajerwerk); fajerwerk = new THREE.ParticleSystem( new THREE.SphereGeometry(1,15,15), materialfajerwerku ); fajerwerk.position.set(0,0,0); scena.add(fajerwerk); skala=1; fajerwerk.scale.set(skala, skala, skala); kierunekfajerwerku = new THREE.Vector3(-1+Math.random()*2, 0.8+Math.random()*0.2, -1+Math.random()*2); 13

14 Najpierw ze sceny usuwany jest fajerwerk, żeby nie dopuścić do wycieku pamięci przy tworzeniu kolejnych fajerwerków, później na jego miejsce tworzony jest nowy i ustalana jest jego pozycja i skala początkowa, a następnie losowany jest nowy kierunek ruchu. Każdy z fajerwerków może wybuchać w trochę inny sposób. W tym celu można dodać małe składowe losowe do współrzędnych każdej cząsteczki. Do funkcji animacjafajerwerku(), w części odpowiadającej za zachowanie cząsteczek po wybuchu, należy dopisać pętlę iterującą po wszystkich cząsteczkach i dodającą bardzo małe losowe wartości do pozycji każdej z nich: for( var i=0; i<fajerwerk.geometry.vertices.length; i++) { fajerwerk.geometry.vertices[i].x +=(-0.01+Math.random()*0.02); fajerwerk.geometry.vertices[i].y +=(-0.01+Math.random()*0.02); fajerwerk.geometry.vertices[i].z +=(-0.01+Math.random()*0.02); fajerwerk.geometry.verticesneedupdate = true; Działanie powyższej pętli jest proste. W każdej klatce animacji do współrzędnych pozycji każdej cząsteczki dodawane są losowe wartości z przedziału ( ), powodując lekkie zaburzenia geometrii po wybuchu. Aby efekt tych zniekształceń był widoczny należy ustawić zmienną sygnalizującą konieczność uaktualnienia wierzchołków geometrii, co jest realizowane poleceniem: fajerwerk.geometry.verticesneedupdate = true; Parametry cząsteczek zależne od odległości Obecnie cząsteczki po wybuchu oddalają się od centrum wybuchu i po przekroczeniu maksymalnej wartości skali gwałtownie znikają. Dodana zostanie przezroczystość cząsteczek zależna od skali, a przez to od czasu i od odległości od miejsca wybuchu, a także w podobny sposób zmienny kolor. W funkcji animacjafajerwerku() należy dodać aktualizację przezroczystości i koloru na przykład: fajerwerk.material.color.r fajerwerk.material.color.g fajerwerk.material.color.b fajerwerk.material.opacity = = = = 1; 1-(skala/maxSkala); 1; 1-(skala/maxSkala); Dzięki temu w miarę oddalania się cząsteczek od miejsca wybuchu zwiększać się będzie przezroczystość i zmniejszać składowa koloru zielonego, co skutkować będzie fioletowym kolorem wybuchu. Ostatnim krokiem jest aktualizacja funkcji resetfajerwerku(), w której należy dopisać instrukcję odpowiadającą za ustawianie początkowej wartości przezroczystości: fajerwerk.material.opacity = 1; Po zapisaniu pliku i uruchomieniu go w przeglądarce powinien uruchomić się pokaz fioletowych fajerwerków. 14

15 Zadania 1. Znaleźć w Internecie i wczytać inną teksturę dla skyboxa. 2. Dodać sterowanie połyskiem materiału za pomocą suwaka. Rozdzielczość kamery powinna być zawsze potęgą liczby Wyeksportować dowolny model z Blendera i wczytać go z wykorzystaniem techniki prezentowanej w instrukcji. 4. Zmienić materiał modelu tak, aby zamodelować kolorowe szkło używane do produkcji bombek choinkowych materiał odbijający otoczenie, wrażliwy na światło i posiadający określony kolor (Rysunek 6). 5. Za pomocą systemów cząsteczkowych dodać kilka fajerwerków wystrzeliwanych jeden po drugim. Rysunek 6: Materiał z zadania 4. 15

Rysunek 1: Okno timeline wykorzystywane do tworzenia animacji.

Rysunek 1: Okno timeline wykorzystywane do tworzenia animacji. Ćwiczenie 5 - Tworzenie animacji Podczas tworzenia prostej animacji wykorzystywać będziemy okno Timeline domyślnie ustawione na dole okna Blendera (Rys. 1). Proces tworzenia animacji polega na stworzeniu

Bardziej szczegółowo

Aleksandra Zając. Raport. Blender. Pokemon: Eevee

Aleksandra Zając. Raport. Blender. Pokemon: Eevee Aleksandra Zając Raport Blender Pokemon: Eevee 1. Modelowanie Przed rozpoczęciem modelowania do Blendera załadowałam obraz przedstawiający wybranego pokemona, aby podczas modelowania jak najlepiej odwzorować

Bardziej szczegółowo

Ćwiczenie 4 - Podstawy materiałów i tekstur. Renderowanie obrazu i animacji

Ćwiczenie 4 - Podstawy materiałów i tekstur. Renderowanie obrazu i animacji Ćwiczenie 4 - Podstawy materiałów i tekstur. Renderowanie obrazu i animacji Materiał jest zbiorem informacji o właściwościach powierzchni. Składa się na niego kolor, sposób odbijania światła i sposób nakładania

Bardziej szczegółowo

Sieciowe Technologie Mobilne. Laboratorium 2

Sieciowe Technologie Mobilne. Laboratorium 2 Sieciowe Technologie Mobilne Laboratorium 2 Tworzenie wieloplatformowych aplikacji mobilnych przy użyciu biblioteki PhoneGap. Łukasz Kamiński Laboratorium 2 Na dzisiejszym laboratorium skupimy się na implementacji

Bardziej szczegółowo

Animacje z zastosowaniem suwaka i przycisku

Animacje z zastosowaniem suwaka i przycisku Animacje z zastosowaniem suwaka i przycisku Animacja Pole równoległoboku Naukę tworzenia animacji uruchamianych na przycisk zaczynamy od przygotowania stosunkowo prostej animacji, za pomocą, której można

Bardziej szczegółowo

Tworzenie nowego rysunku Bezpośrednio po uruchomieniu programu zostanie otwarte okno kreatora Nowego Rysunku.

Tworzenie nowego rysunku Bezpośrednio po uruchomieniu programu zostanie otwarte okno kreatora Nowego Rysunku. 1 Spis treści Ćwiczenie 1...3 Tworzenie nowego rysunku...3 Ustawienia Siatki i Skoku...4 Tworzenie rysunku płaskiego...5 Tworzenie modeli 3D...6 Zmiana Układu Współrzędnych...7 Tworzenie rysunku płaskiego...8

Bardziej szczegółowo

Systemy wirtualnej rzeczywistości. Komponenty i serwisy

Systemy wirtualnej rzeczywistości. Komponenty i serwisy Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Systemy wirtualnej rzeczywistości Laboratorium Komponenty i serwisy Wstęp: W trzeciej części przedstawione zostaną podstawowe techniki

Bardziej szczegółowo

Wprowadzenie do WebGL i Three.js

Wprowadzenie do WebGL i Three.js Piotr Siekański Wydział Mechatroniki PW Wprowadzenie do WebGL i Three.js Wprowadzenie do JavaScript...2 Co to jest WebGL?...3 Konfiguracja systemu...3 Debugowanie w WebGL...3 Biblioteka Three.js...3 Rysujemy

Bardziej szczegółowo

Aplikacje WWW - laboratorium

Aplikacje WWW - laboratorium Aplikacje WWW - laboratorium Serwlety Celem ćwiczenia jest przygotowanie kilku prostych serwletów ilustrujących możliwości tej technologii. Poszczególne ćwiczenia prezentują sposób przygotowania środowiska,

Bardziej szczegółowo

Oświetlenie. Modelowanie oświetlenia sceny 3D. Algorytmy cieniowania.

Oświetlenie. Modelowanie oświetlenia sceny 3D. Algorytmy cieniowania. Oświetlenie. Modelowanie oświetlenia sceny 3D. Algorytmy cieniowania. Chcąc osiągnąć realizm renderowanego obrazu, należy rozwiązać problem świetlenia. Barwy, faktury i inne właściwości przedmiotów postrzegamy

Bardziej szczegółowo

Funkcje i instrukcje języka JavaScript

Funkcje i instrukcje języka JavaScript Funkcje i instrukcje języka JavaScript 1. Cele lekcji a) Wiadomości Uczeń : zna operatory i typy danych języka JavaScript, zna konstrukcję definicji funkcji, zna pętlę If i For, Do i While oraz podaje

Bardziej szczegółowo

Przy dużej wielkości głębokości uzyskamy wrażenie nieskończoności: Dla głębokości zerowej uzyskamy tekst płaski:

Przy dużej wielkości głębokości uzyskamy wrażenie nieskończoności: Dla głębokości zerowej uzyskamy tekst płaski: Temat 6: Tekst w przestrzeni trójwymiarowej. Podstawy tworzenia animacji. Instrukcja warunkowa if. Program pozwala umieszczać na scenie nie tylko bryły, czy figury płaskie, ale też tekst. Polecenie tworzące

Bardziej szczegółowo

Ustawienia materiałów i tekstur w programie KD Max. MTPARTNER S.C.

Ustawienia materiałów i tekstur w programie KD Max. MTPARTNER S.C. Ustawienia materiałów i tekstur w programie KD Max. 1. Dwa tryby własności materiału Materiał możemy ustawić w dwóch trybach: czysty kolor tekstura 2 2. Podstawowe parametry materiału 2.1 Większość właściwości

Bardziej szczegółowo

IRONCAD. TriBall IRONCAD Narzędzie pozycjonujące

IRONCAD. TriBall IRONCAD Narzędzie pozycjonujące IRONCAD IRONCAD 2016 TriBall o Narzędzie pozycjonujące Spis treści 1. Narzędzie TriBall... 2 2. Aktywacja narzędzia TriBall... 2 3. Specyfika narzędzia TriBall... 4 3.1 Kula centralna... 4 3.2 Kule wewnętrzne...

Bardziej szczegółowo

Grafika Komputerowa Wykład 4. Synteza grafiki 3D. mgr inż. Michał Chwesiuk 1/30

Grafika Komputerowa Wykład 4. Synteza grafiki 3D. mgr inż. Michał Chwesiuk 1/30 Wykład 4 mgr inż. 1/30 Synteza grafiki polega na stworzeniu obrazu w oparciu o jego opis. Synteza obrazu w grafice komputerowej polega na wykorzystaniu algorytmów komputerowych do uzyskania obrazu cyfrowego

Bardziej szczegółowo

Wprowadzenie do rysowania w 3D. Praca w środowisku 3D

Wprowadzenie do rysowania w 3D. Praca w środowisku 3D Wprowadzenie do rysowania w 3D 13 Praca w środowisku 3D Pierwszym krokiem niezbędnym do rozpoczęcia pracy w środowisku 3D programu AutoCad 2010 jest wybór odpowiedniego obszaru roboczego. Można tego dokonać

Bardziej szczegółowo

Grafika Komputerowa Wykład 5. Potok Renderowania Oświetlenie. mgr inż. Michał Chwesiuk 1/38

Grafika Komputerowa Wykład 5. Potok Renderowania Oświetlenie. mgr inż. Michał Chwesiuk 1/38 Wykład 5 Potok Renderowania Oświetlenie mgr inż. 1/38 Podejście śledzenia promieni (ang. ray tracing) stosuje się w grafice realistycznej. Śledzone są promienie przechodzące przez piksele obrazu wynikowego

Bardziej szczegółowo

Ćwiczenie 1 Galeria zdjęć

Ćwiczenie 1 Galeria zdjęć Galeria zdjęć Pobierz przykład (http://jsekulska.kis.p.lodz.pl/studia.htm). Krok 1 Ustawienie stołu montażowego Otwieramy nowy plik i nazywamy go (np. gallery.fla). Ustawiamy wielkość pola roboczego na

Bardziej szczegółowo

BLENDER- Laboratorium 1 opracował Michał Zakrzewski, 2014 r. Interfejs i poruszanie się po programie oraz podstawy edycji bryły

BLENDER- Laboratorium 1 opracował Michał Zakrzewski, 2014 r. Interfejs i poruszanie się po programie oraz podstawy edycji bryły BLENDER- Laboratorium 1 opracował Michał Zakrzewski, 2014 r. Interfejs i poruszanie się po programie oraz podstawy edycji bryły Po uruchomieniu programu Blender zawsze ukaże się nam oto taki widok: Jak

Bardziej szczegółowo

Misja#3. Robimy film animowany.

Misja#3. Robimy film animowany. Po dzisiejszej lekcji będziesz: tworzyć programy animujące obiekty na ekranie komputera określać położenie i orientację obiektu w kartezjańskim układzie współrzędnych Zauważ że... Ludzkie oko charakteryzuje

Bardziej szczegółowo

Grafika Komputerowa Wykład 6. Teksturowanie. mgr inż. Michał Chwesiuk 1/23

Grafika Komputerowa Wykład 6. Teksturowanie. mgr inż. Michał Chwesiuk 1/23 Wykład 6 mgr inż. 1/23 jest to technika w grafice komputerowej, której celem jest zwiększenie szczegółowości renderowanych powierzchni za pomocą tekstur. jest to pewna funkcja (najczęściej w formie bitmapy)

Bardziej szczegółowo

GIMP. Ćwiczenie nr 6 efekty i filtry. Instrukcja. dla Gimnazjum 36 - Ryszard Rogacz Strona 18

GIMP. Ćwiczenie nr 6 efekty i filtry. Instrukcja. dla Gimnazjum 36 - Ryszard Rogacz Strona 18 Ćwiczenie nr 6 efekty i filtry Tak, jak każdy program graficzny GIMP posiada wbudowane narzędzia umożliwiające osiągnięcie różnego rodzaju efektów. Dostępne są one w menu edytowanego rysunku [filtry].

Bardziej szczegółowo

Badanie ruchu złożenia

Badanie ruchu złożenia Badanie ruchu złożenia W wersji Standard programu SolidWorks mamy do dyspozycji dwie aplikacje: Podstawowy ruch symulacja ruchu z użyciem grawitacji, sprężyn, napędów oraz kontaktu między komponentami.

Bardziej szczegółowo

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1 Podstawy programowania, Poniedziałek 30.05.2016, 8-10 Projekt, część 1 1. Zadanie Projekt polega na stworzeniu logicznej gry komputerowej działającej w trybie tekstowym o nazwie Minefield. 2. Cele Celem

Bardziej szczegółowo

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody Obiektowy PHP Czym jest obiekt? W programowaniu obiektem można nazwać każdy abstrakcyjny byt, który programista utworzy w pamięci komputera. Jeszcze bardziej upraszczając to zagadnienie, można powiedzieć,

Bardziej szczegółowo

weblsp Wybór przeglądarki i jej ustawienia Instrukcja ADH-Soft sp. z o.o., ul. 17 Stycznia 74, Warszawa

weblsp Wybór przeglądarki i jej ustawienia Instrukcja ADH-Soft sp. z o.o., ul. 17 Stycznia 74, Warszawa weblsp Wybór przeglądarki i jej ustawienia Instrukcja ADH-Soft sp. z o.o., ul. 17 Stycznia 74, 02-146 Warszawa www.adh.com.pl Spis treści 1. Wydajność aplikacji po stronie klienta... 3 2. Wybór przeglądarki

Bardziej szczegółowo

Grafika 3D program POV-Ray - 1 -

Grafika 3D program POV-Ray - 1 - Temat 1: Ogólne informacje o programie POV-Ray. Interfejs programu. Ustawienie kamery i świateł. Podstawowe obiekty 3D, ich położenie, kolory i tekstura oraz przezroczystość. Skrót POV-Ray to rozwinięcie

Bardziej szczegółowo

Techniki wizualizacji. Ćwiczenie 10. System POV-ray tworzenie animacji

Techniki wizualizacji. Ćwiczenie 10. System POV-ray tworzenie animacji Doc. dr inż. Jacek Jarnicki Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej jacek.jarnicki@pwr.wroc.pl Techniki wizualizacji Ćwiczenie 10 System POV-ray tworzenie animacji Celem ćwiczenia

Bardziej szczegółowo

Pętle. Dodał Administrator niedziela, 14 marzec :27

Pętle. Dodał Administrator niedziela, 14 marzec :27 Pętlami nazywamy konstrukcje języka, które pozwalają na wielokrotne wykonywanie powtarzających się instrukcji. Przykładowo, jeśli trzeba 10 razy wyświetlić na ekranie pewien napis, to można wykorzystać

Bardziej szczegółowo

Ćwiczenie 1 Automatyczna animacja ruchu

Ćwiczenie 1 Automatyczna animacja ruchu Automatyczna animacja ruchu Celem ćwiczenia jest poznanie procesu tworzenia automatycznej animacji ruchu, która jest podstawą większości projektów we Flashu. Ze względu na swoją wszechstronność omawiana

Bardziej szczegółowo

Przewodnik po soczewkach

Przewodnik po soczewkach Przewodnik po soczewkach 1. Wchodzimy w program Corel Draw 11 następnie klikamy Plik /Nowy => Nowy Rysunek. Następnie wchodzi w Okno/Okno dokowane /Teczka podręczna/ Przeglądaj/i wybieramy plik w którym

Bardziej szczegółowo

Mapowanie sześcienne otoczenia (cubic environment mapping)

Mapowanie sześcienne otoczenia (cubic environment mapping) Mapowanie sześcienne otoczenia (cubic environment mapping) Mapowanie środowiska jest techniką pozwalającą na odwzorowanie otoczenia na powierzchni przedmiotu przy użyciu specjalnie spreparowanej tekstury.

Bardziej szczegółowo

Gry Komputerowe Laboratorium 4. Teksturowanie Kolizje obiektów z otoczeniem. mgr inż. Michał Chwesiuk 1/29. Szczecin, r

Gry Komputerowe Laboratorium 4. Teksturowanie Kolizje obiektów z otoczeniem. mgr inż. Michał Chwesiuk 1/29. Szczecin, r Gry Komputerowe Laboratorium 4 Teksturowanie Kolizje obiektów z otoczeniem mgr inż. Michał Chwesiuk 1/29 Klasa Stwórzmy najpierw klasę TextureManager, która będzie obsługiwała tekstury w projekcie. 2/29

Bardziej szczegółowo

Opis funkcji modułu Konwerter 3D

Opis funkcji modułu Konwerter 3D Opis funkcji modułu Konwerter 3D www.cadprojekt.com.pl Kliknij na tytuł rozdziału, aby przejść do wybranego zagadnienia MODUŁ KONWERTER 3D...3 Wygląd i funkcje okna modułu Konwerter 3D...3 Konwertowanie

Bardziej szczegółowo

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE WINDOWS 1 SO i SK/WIN 006 Wydajność systemu 2 SO i SK/WIN Najprostszym sposobem na poprawienie wydajności systemu, jeżeli dysponujemy zbyt małą ilością pamięci RAM

Bardziej szczegółowo

Wyrażenie include(sciezka_do_pliku) pozwala na załadowanie (wnętrza) pliku do skryptu php. Plik ten może zawierać wszystko, co może się znaleźć w

Wyrażenie include(sciezka_do_pliku) pozwala na załadowanie (wnętrza) pliku do skryptu php. Plik ten może zawierać wszystko, co może się znaleźć w Wyrażenie include(sciezka_do_pliku) pozwala na załadowanie (wnętrza) pliku do skryptu php. Plik ten może zawierać wszystko, co może się znaleźć w obrębie skryptu. Wyrażenia include() i require() są niemal

Bardziej szczegółowo

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie Część X C++ Typ znakowy służy do reprezentacji pojedynczych znaków ASCII, czyli liter, cyfr, znaków przestankowych i innych specjalnych znaków widocznych na naszej klawiaturze (oraz wielu innych, których

Bardziej szczegółowo

Smarty PHP. Leksykon kieszonkowy

Smarty PHP. Leksykon kieszonkowy IDZ DO PRZYK ADOWY ROZDZIA SPIS TREœCI KATALOG KSI EK KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG Smarty PHP. Leksykon kieszonkowy Autor: Daniel Bargie³ ISBN: 83-246-0676-9 Format: B6, stron: 112 TWÓJ KOSZYK

Bardziej szczegółowo

Rys 3.2. 17 Odtwarzacz filmu. Możemy także skorzystać z programów służących do odtwarzania filmów np. Windows Media Player.

Rys 3.2. 17 Odtwarzacz filmu. Możemy także skorzystać z programów służących do odtwarzania filmów np. Windows Media Player. Powoduje to odtworzenie filmu : Rys 3.2. 17 Odtwarzacz filmu Możemy także skorzystać z programów służących do odtwarzania filmów np. Windows Media Player. 3.3 Ruch kamery Tematem tego ćwiczenia będzie

Bardziej szczegółowo

Google Earth. Co to jest Google Earth? Co to jest KML? Skąd można pobrać Google Earth?

Google Earth. Co to jest Google Earth? Co to jest KML? Skąd można pobrać Google Earth? Google Earth Co to jest Google Earth? Google Earth jest to program umożliwiający wyświetlanie na trójwymiarowym modelu kuli ziemskiej zdjęć lotniczych/satelitarnych, zdjęć zrobionych z poziomu powierzchni

Bardziej szczegółowo

Animacja. Instrukcja wykonania animacji metodą klatek kluczowych. Autor: Bartosz Kowalczyk. Blender 2.61

Animacja. Instrukcja wykonania animacji metodą klatek kluczowych. Autor: Bartosz Kowalczyk. Blender 2.61 Animacja Instrukcja wykonania animacji metodą klatek kluczowych Autor: Bartosz Kowalczyk Blender 2.61 Do wykonywania prostych animacji, np. ruchu, zmiany koloru, kształtu, itp. wykorzystuje się technikę

Bardziej szczegółowo

Studia Podyplomowe Grafika Komputerowa i Techniki Multimedialne, 2017, semestr II Modelowanie 3D - Podstawy druku 3D. Ćwiczenie nr 4.

Studia Podyplomowe Grafika Komputerowa i Techniki Multimedialne, 2017, semestr II Modelowanie 3D - Podstawy druku 3D. Ćwiczenie nr 4. Ćwiczenie nr 4 Metaobiekty 1 Materiały ćwiczeniowe Wszelkie materiały ćwiczeniowe: wykłady, instrukcje oraz ewentualne pliki ćwiczeniowe dla potrzeb realizacji materiału dydaktycznego z przedmiotu Modelowanie

Bardziej szczegółowo

2 Przygotował: mgr inż. Maciej Lasota

2 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 2 1/6 Grafika Komputerowa 3D Instrukcja laboratoryjna Temat: Manipulowanie przestrzenią 2 Przygotował: mgr inż. Maciej Lasota 1) Manipulowanie przestrzenią Istnieją dwa typy układów współrzędnych:

Bardziej szczegółowo

SUM Edukacja Techniczno Informatyczna Języki i Systemy Programowania. Wykład 3. dr Artur Bartoszewski - WYKŁAD: Języki i Systemy Programowania,

SUM Edukacja Techniczno Informatyczna Języki i Systemy Programowania. Wykład 3. dr Artur Bartoszewski - WYKŁAD: Języki i Systemy Programowania, SUM Edukacja Techniczno Informatyczna Języki i Systemy Programowania Wykład 3 1 SUM Edukacja Techniczno Informatyczna Języki i Systemy Programowania Przykład Bingo 2 Treść przykładu Jak wygląda karta do

Bardziej szczegółowo

przedmiot kilka razy, wystarczy kliknąć przycisk Wyczaruj ostatni,

przedmiot kilka razy, wystarczy kliknąć przycisk Wyczaruj ostatni, Baltie Zadanie 1. Budowanie W trybie Budowanie wybuduj domek jak na rysunku. Przedmioty do wybudowania domku weź z banku 0. Zadanie 2. Czarowanie sterowanie i powtarzanie W trybie Czarowanie z pomocą czarodzieja

Bardziej szczegółowo

Bartosz Bazyluk SYNTEZA GRAFIKI 3D Grafika realistyczna i czasu rzeczywistego. Pojęcie sceny i kamery. Grafika Komputerowa, Informatyka, I Rok

Bartosz Bazyluk SYNTEZA GRAFIKI 3D Grafika realistyczna i czasu rzeczywistego. Pojęcie sceny i kamery. Grafika Komputerowa, Informatyka, I Rok SYNTEZA GRAFIKI 3D Grafika realistyczna i czasu rzeczywistego. Pojęcie sceny i kamery. Grafika Komputerowa, Informatyka, I Rok Synteza grafiki 3D Pod pojęciem syntezy grafiki rozumiemy stworzenie grafiki

Bardziej szczegółowo

Polecenie ŚWIATPUNKT - ŚWIATŁO PUNKTOWE

Polecenie ŚWIATPUNKT - ŚWIATŁO PUNKTOWE Polecenie ŚWIATPUNKT - ŚWIATŁO PUNKTOWE Tworzy światło punktowe emitujące światło we wszystkich kierunkach. Lista monitów Wyświetlane są następujące monity. Określ położenie źródłowe : Podaj wartości

Bardziej szczegółowo

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie.

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie. Część XXII C++ w Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie. Ćwiczenie 1 1. Utwórz nowy projekt w Dev C++ i zapisz go na

Bardziej szczegółowo

TECHNOLOGIE INTERNETOWE WYKŁAD 6. JavaScript Funkcje i obiekty

TECHNOLOGIE INTERNETOWE WYKŁAD 6. JavaScript Funkcje i obiekty 1. Co to jest funkcja? Funkcja jest oddzielnym blokiem kodu, który może być wielokrotnie wykonywany w danym programie, poprzez jej wielokrotne wywoływanie. Do funkcji przekazujemy przeważnie jakieś argumenty,

Bardziej szczegółowo

DesignCAD 3D Max 24.0 PL

DesignCAD 3D Max 24.0 PL DesignCAD 3D Max 24.0 PL Październik 2014 DesignCAD 3D Max 24.0 PL zawiera następujące ulepszenia i poprawki: Nowe funkcje: Tryb RedSDK jest teraz dostępny w widoku 3D i jest w pełni obsługiwany przez

Bardziej szczegółowo

Jak zrobić klasyczny button na stronę www? (tutorial) w programie GIMP

Jak zrobić klasyczny button na stronę www? (tutorial) w programie GIMP Jak zrobić klasyczny button na stronę www? (tutorial) w programie GIMP Niniejszy tutorial jest wyłączną własnością Doroty Ciesielskiej Zapraszam na moją stronę http://www.direktorek03.wm studio.pl oraz

Bardziej szczegółowo

Raytracer. Seminaria. Hotline. początkujący zaawansowani na miejscu

Raytracer. Seminaria. Hotline. początkujący zaawansowani na miejscu Seminaria początkujący zaawansowani na miejscu Hotline wsparcie techniczne +420 571 894 330 zdalne sterowanie przez Team Viewer email carat@technodat.cz Zespół Spis treści Spis treści... - 2 - Informacja...

Bardziej szczegółowo

Liczby losowe i pętla while w języku Python

Liczby losowe i pętla while w języku Python Liczby losowe i pętla while w języku Python Mateusz Miotk 17 stycznia 2017 Instytut Informatyki UG 1 Generowanie liczb losowych Na ogół programy są spójne i prowadzą do przewidywanych wyników. Czasem jednak

Bardziej szczegółowo

Unity. Platforma do tworzenia gier dla różnych systemów docelowych, m.in.: Windows, macos, ios, Android, Powstała w 2005 r., obecnie wersja 5.3.

Unity. Platforma do tworzenia gier dla różnych systemów docelowych, m.in.: Windows, macos, ios, Android, Powstała w 2005 r., obecnie wersja 5.3. Unity Unity Platforma do tworzenia gier dla różnych systemów docelowych, m.in.: Windows, macos, ios, Android, Powstała w 2005 r., obecnie wersja 5.3.5 Unity Wymagania systemowe: Windows 7SP1, 8, 10 Mac

Bardziej szczegółowo

Ćwiczenie 22 Dynamiczne wczytywanie tekstu z pliku.txt

Ćwiczenie 22 Dynamiczne wczytywanie tekstu z pliku.txt Dynamiczne wczytywanie tekstu z pliku.txt Wykonamy dwa zadania z wczytywaniem zewnętrznych plików tekstowych. W pierwszym zadaniu wczytamy jeden plik tekstowy. W drugim podejściu za pomocą przycisków będziemy

Bardziej szczegółowo

wersja 1.0 ośrodek komputerowy uj cm ul. mikołaja kopernika 7e, Kraków tel

wersja 1.0 ośrodek komputerowy uj cm ul. mikołaja kopernika 7e, Kraków tel S Y S T E M B A D A Ń A N K I E T O W Y C H wersja 1.0 uj cm, 31-034 Kraków tel. 12 422 99 63 Opis konfiguracji Tworzenie ankiety rozpoczynamy ikoną znajdującą się w prawym górnym rogu ekranu. Ilustracja

Bardziej szczegółowo

1 TEMAT LEKCJI: 2 CELE LEKCJI: 3 METODY NAUCZANIA 4 ŚRODKI DYDAKTYCZNE. Scenariusz lekcji. Scenariusz lekcji. 2.1 Wiadomości: 2.

1 TEMAT LEKCJI: 2 CELE LEKCJI: 3 METODY NAUCZANIA 4 ŚRODKI DYDAKTYCZNE. Scenariusz lekcji. Scenariusz lekcji. 2.1 Wiadomości: 2. Motyle Scenariusz lekcji Scenariusz lekcji 1 TEMAT LEKCJI: Motyle 2 CELE LEKCJI: 2.1 Wiadomości: Uczeń potrafi: opisać sposób tworzenia animacji; opisać sposób zmiany postaci żółwia; wyjaśnić pojęcie klatki;

Bardziej szczegółowo

Grafika Komputerowa Materiały Laboratoryjne

Grafika Komputerowa Materiały Laboratoryjne Grafika Komputerowa Materiały Laboratoryjne Laboratorium 14 Blender, podstawy animacji Wstęp Zagadnienie tworzenia animacji 3D w Blenderze jest bardzo szerokie i wiąże się z wieloma grupami rozwiązao.

Bardziej szczegółowo

Sieciowe Technologie Mobilne. Laboratorium 4

Sieciowe Technologie Mobilne. Laboratorium 4 Sieciowe Technologie Mobilne Laboratorium 4 Tworzenie wieloplatformowych aplikacji mobilnych przy użyciu biblioteki PhoneGap. Łukasz Kamiński Laboratorium 4 Urozmaicone zostaną animacje potworów, aby odpowiadały

Bardziej szczegółowo

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main. Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo

Bardziej szczegółowo

Materiały dla studentów pierwszego semestru studiów podyplomowych Grafika komputerowa i techniki multimedialne rok akademicki 2011/2012 semestr zimowy

Materiały dla studentów pierwszego semestru studiów podyplomowych Grafika komputerowa i techniki multimedialne rok akademicki 2011/2012 semestr zimowy Materiały dla studentów pierwszego semestru studiów podyplomowych Grafika komputerowa i techniki multimedialne rok akademicki 2011/2012 semestr zimowy Temat: Przekształcanie fotografii cyfrowej w grafikę

Bardziej szczegółowo

Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych. Ćwiczenie 3 stos Laboratorium Metod i Języków Programowania

Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych. Ćwiczenie 3 stos Laboratorium Metod i Języków Programowania Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Ćwiczenie 3 stos Laboratorium Metod i Języków Programowania Celem ćwiczenia jest zapoznanie studentów z najprostszą dynamiczną strukturą

Bardziej szczegółowo

Wizualizacja płomienia

Wizualizacja płomienia Politechnika Wrocławska Instytut Informatyki Automatyki i Robotyki Wizualizacja danych sensorycznych Wizualizacja płomienia Autor: Weronika Matlakiewicz Opiekun projektu: dr inż. Bogdan Kreczmer 4 czerwca

Bardziej szczegółowo

Spora część kodu programu jest dla nas nieprzydatna. Dokonaj zmian tak, aby kod miał postać:

Spora część kodu programu jest dla nas nieprzydatna. Dokonaj zmian tak, aby kod miał postać: Temat 8: Rodzaje kamery. Ustawienia kamery. Animacja ruchu kamery. Aby prześledzić różne możliwości zastosowania kamery zbudujemy najpierw jakąś ciekawą scenę. Ćwiczenie 053 Otwórz nowy plik. Z menu programu

Bardziej szczegółowo

- dodaj obiekt tekstowy: /** Maciej */ Stage { title : "First JavaFX App" scene: Scene { width: 300 height: 300 content: [ ] } }

- dodaj obiekt tekstowy: /** Maciej */ Stage { title : First JavaFX App scene: Scene { width: 300 height: 300 content: [ ] } } 1. Krótki opis technologii JavaFX jest technologią do tworzenia bogatych wizualnie aplikacji internetowych (RIA Rich Internet Application), przeznaczona nie tylko pod wiele systemów operacyjnych, ale też

Bardziej szczegółowo

Unity 3D - własny ekran startowy i menu gry

Unity 3D - własny ekran startowy i menu gry www.math.uni.lodz.pl/ radmat Cel ćwiczeń Celem bieżących ćwiczeń jest stworzenie własnego ekranu startowego oraz menu gry. Własny ekran startowy Tworzymy nowy, pusty obiekt GameObject Create Empty i nadajemy

Bardziej szczegółowo

Zastosowania Robotów Mobilnych

Zastosowania Robotów Mobilnych Zastosowania Robotów Mobilnych Temat: Zapoznanie ze środowiskiem Microsoft Robotics Developer Studio na przykładzie prostych problemów nawigacji. 1) Wstęp: Microsoft Robotics Developer Studio jest popularnym

Bardziej szczegółowo

Politechnika Warszawska Wydział Mechatroniki Instytut Automatyki i Robotyki

Politechnika Warszawska Wydział Mechatroniki Instytut Automatyki i Robotyki Politechnika Warszawska Wydział Mechatroniki Instytut Automatyki i Robotyki Ćwiczenie laboratoryjne 2 Temat: Modelowanie powierzchni swobodnych 3D przy użyciu programu Autodesk Inventor Spis treści 1.

Bardziej szczegółowo

Zawartość. Wstęp. Moduł Rozbiórki. Wstęp Instalacja Konfiguracja Uruchomienie i praca z raportem... 6

Zawartość. Wstęp. Moduł Rozbiórki. Wstęp Instalacja Konfiguracja Uruchomienie i praca z raportem... 6 Zawartość Wstęp... 1 Instalacja... 2 Konfiguracja... 2 Uruchomienie i praca z raportem... 6 Wstęp Rozwiązanie przygotowane z myślą o użytkownikach którzy potrzebują narzędzie do podziału, rozkładu, rozbiórki

Bardziej szczegółowo

1. Opis okna podstawowego programu TPrezenter.

1. Opis okna podstawowego programu TPrezenter. OPIS PROGRAMU TPREZENTER. Program TPrezenter przeznaczony jest do pełnej graficznej prezentacji danych bieżących lub archiwalnych dla systemów serii AL154. Umożliwia wygodną i dokładną analizę na monitorze

Bardziej szczegółowo

Widżety KIWIPortal. tworzenie umieszczanie na stronach internetowych opcje zaawansowane. Autor: Damian Rebuś Data: 29.06.2015 Wersja: 1.

Widżety KIWIPortal. tworzenie umieszczanie na stronach internetowych opcje zaawansowane. Autor: Damian Rebuś Data: 29.06.2015 Wersja: 1. Widżety KIWIPortal tworzenie umieszczanie na stronach internetowych opcje zaawansowane Autor: Damian Rebuś Data: 29.06.2015 Wersja: 1.3 Strona 1 z 17 1 SPIS TREŚCI 2 Metody osadzania widżetów... 3 2.1

Bardziej szczegółowo

Dokąd on zmierza? Przemieszczenie i prędkość jako wektory

Dokąd on zmierza? Przemieszczenie i prędkość jako wektory A: 1 OK Muszę to powtórzyć... Potrzebuję pomocy Dokąd on zmierza? Przemieszczenie i prędkość jako wektory Łódź żegluje po morzu... Płynie z szybkością 10 węzłów (węzeł to 1 mila morska na godzinę czyli

Bardziej szczegółowo

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018 Informatyka I Klasy i obiekty. Podstawy programowania obiektowego dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Plan wykładu Pojęcie klasy Deklaracja klasy Pola i metody klasy

Bardziej szczegółowo

HELIOS pomoc społeczna

HELIOS pomoc społeczna Instrukcja przygotowania pliku wsadowego do zasilenia SEPI przy pomocy dodatkowej aplikacji HELSepi 1. Instalacja aplikacji Pobieramy plik instalacyjny HelSEPIsetup.exe ze strony internetowej www.ops.strefa.pl

Bardziej szczegółowo

Plan wykładu. Akcelerator 3D Potok graficzny

Plan wykładu. Akcelerator 3D Potok graficzny Plan wykładu Akcelerator 3D Potok graficzny Akcelerator 3D W 1996 r. opracowana została specjalna karta rozszerzeń o nazwie marketingowej Voodoo, którą z racji wspomagania procesu generowania grafiki 3D

Bardziej szczegółowo

Tytuły Wykonawcze. Opis systemu tworzenia dokumentacji TW-1

Tytuły Wykonawcze. Opis systemu tworzenia dokumentacji TW-1 Tytuły Wykonawcze Opis systemu tworzenia dokumentacji TW-1 Program pozwala na tworzenie tytułów wykonawczych według Rozporządzenia Ministra Finansów z dnia 16 maja 2014 r. 1.Główne cechy systemu -ewidencja

Bardziej szczegółowo

Laboratorium 7 Blog: dodawanie i edycja wpisów

Laboratorium 7 Blog: dodawanie i edycja wpisów Laboratorium 7 Blog: dodawanie i edycja wpisów Dodawanie nowych wpisów Tworzenie formularza Za obsługę formularzy odpowiada klasa Zend_Form. Dla każdego formularza w projekcie tworzymy klasę dziedziczącą

Bardziej szczegółowo

Ćwiczenie 14 Dmuchawce

Ćwiczenie 14 Dmuchawce Dmuchawce Celem ćwiczenia jest wykorzystanie właściwości programu Flash do generowania animacji o charakterze losowym. Prezentowany efekt można wykorzystać do wielu różnych celów np. spadające liście,

Bardziej szczegółowo

Unity 3D - podpowiedzi w grze. System cząstek

Unity 3D - podpowiedzi w grze. System cząstek www.math.uni.lodz.pl/ radmat Cel ćwiczeń Celem bieżących ćwiczeń jest dodanie podpowiedzi, które będą się wyświetlały nad przedmiotami, a także systemu cząstek. Wyświetlanie podpowiedzi Dodamy teraz do

Bardziej szczegółowo

Język C++ zajęcia nr 2

Język C++ zajęcia nr 2 Język C++ zajęcia nr 2 Inicjalizacja Definiowanie obiektu może być połączone z nadaniem mu wartości początkowej za pomocą inicjalizatora, który umieszczany jest po deklaratorze obiektu. W języku C++ inicjalizator

Bardziej szczegółowo

Chocofur szkolenie średniozaawansowane

Chocofur szkolenie średniozaawansowane Chocofur szkolenie średniozaawansowane Lech Sokołowski CHOCOFUR.COM Poniższe opracowanie stanowi esencję wiedzy przekazywanej na szkoleniu. Jest to zbiór notatek zawierający najważniejsze punkty omawianych

Bardziej szczegółowo

Załącznik techniczny przedmiotu zamówienia komponentu

Załącznik techniczny przedmiotu zamówienia komponentu Załącznik nr 1 mapowego dla portalu WWW Załącznik techniczny przedmiotu zamówienia komponentu 1.1 Komponent mapowy Zleceniodawcy pozostawia się wolną rękę w wyborze technologii w jakiej zostanie stworzony

Bardziej szczegółowo

TEMAT :Animacja Komputerowa. Projekt współfinansowany w ramach Europejskiego Funduszu Społecznego

TEMAT :Animacja Komputerowa. Projekt współfinansowany w ramach Europejskiego Funduszu Społecznego TEMAT :Animacja Komputerowa Projekt współfinansowany w ramach Europejskiego Funduszu Społecznego Animacja komputerowa: Animacja komputerowa jest generalnie rzecz biorąc cyfrowym spadkobiercą sztuki animacji

Bardziej szczegółowo

Spis treści. 1: Wyszukiwanie elementu : Do linii modelu : Powiel arkusze : Długość kabla : Rozmieszczenie widoków...

Spis treści. 1: Wyszukiwanie elementu : Do linii modelu : Powiel arkusze : Długość kabla : Rozmieszczenie widoków... Co nowego 2018 R2 Spis treści NOWOŚCI... 5 1: Wyszukiwanie elementu... 5 2: Do linii modelu... 6 3: Powiel arkusze... 7 4: Długość kabla... 8 5: Rzędne poziomów... 9 ULEPSZENIA... 10 1: Połączenie z Excel...

Bardziej szczegółowo

JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.

JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. IŚ ćw.8 JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. Skrypty JavaScript są zagnieżdżane w dokumentach HTML. Skrypt JavaScript

Bardziej szczegółowo

1 Tworzenie brył obrotowych

1 Tworzenie brył obrotowych 1 Tworzenie brył obrotowych Do tworzenia brył obrotowych w programie Blender służą dwa narzędzia: Spin i SpinDup. Idea tworzenia brył obrotowych jest prosta i polega na narysowania połowy przekroju poprzecznego

Bardziej szczegółowo

WSTĘP DO GRAFIKI KOMPUTEROWEJ

WSTĘP DO GRAFIKI KOMPUTEROWEJ WSTĘP DO GRAFIKI KOMPUTEROWEJ Miłosz Michalski Institute of Physics Nicolaus Copernicus University Październik 2015 1 / 15 Plan wykładu Światło, kolor, zmysł wzroku. Obraz: fotgrafia, grafika cyfrowa,

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Laboratorium 1. Wstęp do programowania w języku Java. Narzędzia 1. Aby móc tworzyć programy w języku Java, potrzebny jest zestaw narzędzi Java Development Kit, który można ściągnąć

Bardziej szczegółowo

0. OpenGL ma układ współrzędnych taki, że oś y jest skierowana (względem monitora) a) w dół b) w górę c) w lewo d) w prawo e) w kierunku do

0. OpenGL ma układ współrzędnych taki, że oś y jest skierowana (względem monitora) a) w dół b) w górę c) w lewo d) w prawo e) w kierunku do 0. OpenGL ma układ współrzędnych taki, że oś y jest skierowana (względem monitora) a) w dół b) w górę c) w lewo d) w prawo e) w kierunku do obserwatora f) w kierunku od obserwatora 1. Obrót dookoła osi

Bardziej szczegółowo

Badanie zależności położenia cząstki od czasu w ruchu wzdłuż osi Ox

Badanie zależności położenia cząstki od czasu w ruchu wzdłuż osi Ox A: 1 OK Muszę to powtórzyć... Potrzebuję pomocy Badanie zależności położenia cząstki od czasu w ruchu wzdłuż osi Ox 1. Uruchom program Modellus. 2. Wpisz x do okna modelu. 3. Naciśnij przycisk Interpretuj

Bardziej szczegółowo

RYSUNEK TECHNICZNY I GEOMETRIA WYKREŚLNA INSTRUKCJA DOM Z DRABINĄ I KOMINEM W 2D

RYSUNEK TECHNICZNY I GEOMETRIA WYKREŚLNA INSTRUKCJA DOM Z DRABINĄ I KOMINEM W 2D Politechnika Białostocka Wydział Budownictwa i Inżynierii Środowiska Zakład Informacji Przestrzennej Inżynieria Środowiska INSTRUKCJA KOMPUTEROWA z Rysunku technicznego i geometrii wykreślnej RYSUNEK TECHNICZNY

Bardziej szczegółowo

Animacje cz. 2. Rysujemy koło zębate

Animacje cz. 2. Rysujemy koło zębate Animacje cz. 2 1. Do wykonania poniższej animacji będziemy potrzebować dodatkowego desenia. Znajduje się on w folderze z instrukcją, żeby program Gimp mógł z niego skorzystać musimy wskazać mu ścieżkę

Bardziej szczegółowo

Multimedia i interfejsy. Ćwiczenie 5 HTML5

Multimedia i interfejsy. Ćwiczenie 5 HTML5 Multimedia i interfejsy Ćwiczenie 5 HTML5 Celem ćwiczenia jest poznanie nowych elementów wprowadzonych w HTML 5, do których należą m.in. video oraz canvas. Poniższy opis przedstawia sposób użycia tych

Bardziej szczegółowo

Języki i techniki programowania Ćwiczenia 2

Języki i techniki programowania Ćwiczenia 2 Języki i techniki programowania Ćwiczenia 2 Autor: Marcin Orchel Spis treści: Język C++... 5 Przekazywanie parametrów do funkcji... 5 Przekazywanie parametrów w Javie.... 5 Przekazywanie parametrów w c++...

Bardziej szczegółowo

Podstawy technologii WWW

Podstawy technologii WWW Podstawy technologii WWW Ćwiczenie 14 AJAX, czyli jak odświeżyć bez odświeżania, część trzecia Na dzisiejszych zajęciach będziemy kontynuować realizację serwisu do wymiany wiadomości z wykorzystaniem technologii

Bardziej szczegółowo

Tworzenie i modyfikacja modelu geologicznego

Tworzenie i modyfikacja modelu geologicznego Tworzenie i modyfikacja modelu geologicznego Program: Stratygrafia 3D Plik powiązany: Demo_manual_39.gsg Poradnik Inżyniera Nr 39 Aktualizacja: 12/2018 Wprowadzenie Celem niniejszego Przewodnika Inżyniera

Bardziej szczegółowo

Animacje oraz ciekawe efekty dostępne w programie GIMP

Animacje oraz ciekawe efekty dostępne w programie GIMP Animacje oraz ciekawe efekty dostępne w programie GIMP Tworzenie Gifów Aby zobrazować różnice w tworzeniu plików z rozszerzeniem gif wykonamy na początek krótkie ćwiczenie. 1.Utwórz niebieską warstwę nad

Bardziej szczegółowo

Zajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

Zajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej Zajęcia nr 2 Programowanie strukturalne dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej Pętla while #include using namespace std; int main ()

Bardziej szczegółowo

Funkcja Raytracer. Przed korzystaniem z funkcji Raytracer należy zmienić/dostosować jego ustawienia.

Funkcja Raytracer. Przed korzystaniem z funkcji Raytracer należy zmienić/dostosować jego ustawienia. Funkcja Raytracer Spis treści: 1. Ustawienia nowych profili 2. Ustawienia podglądu perspektywy 3. Porady i triki w pracy z Rytracer 4. Uruchomienie Raytracer w planowaniu 5. Administrator wizualizacji

Bardziej szczegółowo

KONSTRUKCJA TRÓJKĄTA 1 KONSTRUKCJA TRÓJKĄTA 2 KONSTRUKCJA CZWOROKĄTA KONSTRUKCJA OKRĘGU KONSTRUKCJA STYCZNYCH

KONSTRUKCJA TRÓJKĄTA 1 KONSTRUKCJA TRÓJKĄTA 2 KONSTRUKCJA CZWOROKĄTA KONSTRUKCJA OKRĘGU KONSTRUKCJA STYCZNYCH Wstęp Ten multimedialny program edukacyjny zawiera zadania konstrukcyjne pozwalające na samodzielne ćwiczenie i sprawdzenie wiadomości w zakresie konstrukcji podstawowych figur geometrycznych. Jest przeznaczony

Bardziej szczegółowo