cwiczenia 5 trees in environment

This commit is contained in:
duszekjk 2021-05-07 12:01:29 +02:00
parent 69db38c34c
commit b85d37858e
4 changed files with 11 additions and 8 deletions

File diff suppressed because one or more lines are too long

15
Opis.md
View File

@ -8,7 +8,7 @@ Klasa environment zawiera voxel space z informacją o zacienieniu.
### addShadow ### addShadow
Funkcja addShadow zwiększa wartość cienia w zadanej pozycji. Następnie przechodzi w pentlach w dół, zmniejszając z każdym poziomem siłę cienia, ale zwiększając szerokość oddziałowywania. Funkcja addShadow implementuje metodę shadow propagation. Najpierw zwiększa wartość cienia w zadanej pozycji. Następnie przechodzi w pentlach w dół, zmniejszając z każdym poziomem siłę cienia, ale zwiększając szerokość oddziałowywania.
```C# ```C#
for(int j = (int)voxelPosition.y; j >= 0; j--) for(int j = (int)voxelPosition.y; j >= 0; j--)
@ -69,14 +69,14 @@ bool inVoxelSpace(int a, int b, int c)
2. Do objektu shadowBox jest przypięty skrypt Cast Shadow. Otwórz ten skrypt. 2. Do objektu shadowBox jest przypięty skrypt Cast Shadow. Otwórz ten skrypt.
3. Zmodyfikuj skrypt, tak aby ten obiekt rzucał cień w dół. 3. Zmodyfikuj skrypt, tak aby ten obiekt rzucał cień w dół.
1. Wykorzystaj funkcję środowiska (Environment) 1. Wykorzystaj funkcję środowiska (Environment)
2. public void addShadow(Vector3 position, sbyte strength) // ujemna siła, aby usunąć 2. public void addShadow(Vector3 position, sbyte strength) // ujemna siła, aby usunąć (Vector3 position to pozycja shadowBox)
## Zadanie 2 ## Zadanie 2
<img src="images/treesinenvironment/inShadow.gif" alt="inShadow" style="zoom:50%;" /> <img src="images/treesinenvironment/inShadow.gif" alt="inShadow" style="zoom:50%;" />
1. W objekcie inShadow jest skrypt receiveShadow 1. W objekcie inShadow jest skrypt receiveShadow
2. Zmodyfikuj skrypt - jak na ten objekt spadnie cień, to zmień materiał 2. Zmodyfikuj skrypt - jak na ten objekt spadnie cień, to zmień materiał na **inShadow**, jak nie będzie w cieniu, to na **noShadow**
1. Wykorzystaj funkcję środowiska (Environment) 1. Wykorzystaj funkcję środowiska (Environment)
2. public byte shadowStrength(Vector3 pos) 2. public byte shadowStrength(Vector3 pos)
@ -121,13 +121,16 @@ S(a,c) : c<50 -> G\(90)[-S(0,0)]S(0,0)
<img src="images/treesinenvironment/manytrees.png" alt="manytrees" style="zoom:50%;" /> <img src="images/treesinenvironment/manytrees.png" alt="manytrees" style="zoom:50%;" />
1. Dodaj do objektu Environment więcej drzew (Trees) i zobacz jak drzewa wpływają na siebie nawzajem 1. Dodaj do objektu Environment więcej drzew (Trees) i zobacz jak drzewa wpływają na siebie nawzajem
2. Napisz skrypt, który utworzy 9 drzew (3x3) rozmieszczonych co równą odległość 2. Napisz skrypt, który utworzy 9 drzew (3 wiersze i 3 kolumny) rozmieszczonych co równą odległość, przetestuj różne odległości
3. Zobacz jak się w takim układzie rozwijają 3. Zobacz jak się w takim układzie rozwijają
## Zadanie 5 - domowe ## Zadanie 5 - domowe
Wybierz zdjęcie dowolnego drzewa (każdy inne) i stwórz L-System podobny do tego drzewa, ale zależny od cienia Zintegruj L-System pipe model z wcześniejszych ćwiczeń z obsługą cienia
Napisz L-System, który modeluje wybrany przez ciebie kształt drzewa. Kształt ma być twój indywidualny, ale możesz się wspomóc:
http://www.algorithmicbotany.org/papers/abop/abop.pdf
Do rozwiązania dodaj zdjęcie drzewa i zdjęcie odtworzonego drzewa. L-System nazwij imięnazwiskoShadow.

BIN
Opis.pdf

Binary file not shown.

BIN
images/.DS_Store vendored

Binary file not shown.