tmp
This commit is contained in:
@@ -628,7 +628,7 @@ Dna je sestavljen iz dveh struktur (@dna_objekt). Zanimliv del, ki ga opazimo, j
|
||||
#pagebreak()
|
||||
|
||||
|
||||
Če pogledamo definicijo od `newDna` (@dna_funkcije) vidimo pretvorbo(cast) iz `Dna` v `uint8_t*` in sedaj se lahko enostavno sprehodimo čez objekt in spremenimo vrednosti.
|
||||
Če pogledamo definicijo od `newDna` (@dna_funkcije), vidimo pretvorbo (cast) iz `Dna` v `uint8_t*` in sedaj se lahko enostavno sprehodimo čez objekt in spremenimo vrednosti.
|
||||
|
||||
#figure(caption: [Primer DNA funkcije])[
|
||||
```cpp
|
||||
@@ -651,10 +651,10 @@ Dna je sestavljen iz dveh struktur (@dna_objekt). Zanimliv del, ki ga opazimo, j
|
||||
```
|
||||
]<dna_funkcije>
|
||||
|
||||
Ostale funkcije so podobne najprej pretvorimo v `uint_8*` in nato:
|
||||
- `makeChild` naključno kopiramo iz staršev
|
||||
- `clone` naključno kopiramo iz starša in vstavljamo naključne vrednosti
|
||||
- `mutate` pa sprecificirano število vrednosti spremenimo v naključne vrednosti
|
||||
Ostale funkcije so podobne; najprej pretvorimo v `uint_8*` in nato:
|
||||
- `makeChild` naključno kopiramo iz staršev,
|
||||
- `clone` naključno kopiramo iz starša in vstavljamo naključne vrednosti,
|
||||
- `mutate` pa sprecificirano število vrednosti spremenimo v naključne vrednosti.
|
||||
|
||||
|
||||
|
||||
@@ -668,7 +668,7 @@ Ostale funkcije so podobne najprej pretvorimo v `uint_8*` in nato:
|
||||
caption: [Končna slika po vizualizaciji],
|
||||
)
|
||||
|
||||
Je sestavljena iz treh razredov `Canvas`, `BackGround`, `Tree`(@razredi_vizualizacije). Tukaj Canvas je samo umesni razred ki postavi risanje na teksturo in nato pokliče BackGround in Tree
|
||||
Je sestavljena iz treh razredov: `Canvas`, `BackGround`, `Tree` (@razredi_vizualizacije). Tukaj je Canvas samo vmesni razred, ki postavi risanje na teksturo in nato pokliče BackGround in Tree.
|
||||
|
||||
#figure(caption: [Razredi za vizualizacijo])[
|
||||
#grid(
|
||||
@@ -728,20 +728,20 @@ Je sestavljena iz treh razredov `Canvas`, `BackGround`, `Tree`(@razredi_vizualiz
|
||||
=== Ozadje
|
||||
Postopek izrisa ozadja je sestavljen iz 5 korakov
|
||||
|
||||
+ Nebo je narisano z pomočjo raylib funkcije `DrawRectangleGradientV`(@steps_nebo)
|
||||
+ Nebo je narisano s pomočjo raylib funkcije `DrawRectangleGradientV` (@steps_nebo).
|
||||
|
||||
+ Če je noč, zvezde narišemo z naključnim semenom iz DNA ki se uporabi za pozicijo, in funkcijo `DrawTriangle` (@steps_zvezde)
|
||||
+ Če je noč, zvezde narišemo z naključnim semenom iz DNA, ki se uporabi za pozicijo, in funkcijo `DrawTriangle` (@steps_zvezde).
|
||||
|
||||
+ Sonce in Luna so narisane z raylib funkcijo `DrawCircle` (@steps_sonce)
|
||||
+ Sonce in luna sta narisana z raylib funkcijo `DrawCircle` (@steps_sonce).
|
||||
|
||||
+ Gore so bile težje za narisat odločil sem se da bom uporabil triangle strip, (@Triangle_Strip) @wiki_triangle_strip najprej se odlocimo iz koliko segmentov jo bomo narisali v aplikaciji uporabljamo 150 segmentov s tem imamo širino segmenta. Sedaj sledimo tem korakom:
|
||||
+ Prvo točko postavimo v spodnjem levem kotu (0,0)
|
||||
+ Za drugo točko si izberemo naključno številko za višino gore (0,80)
|
||||
+ Naslednja točka je spet na telh samo zamaknjena za širino segmenta na desno(20,0)
|
||||
+ Za naslednjo točko si zberemo naključno število za višino gore in zamaknjeno na desno od prejšne višine (20, 90)
|
||||
+ Sedaj ponavljamo točko 3 in 4 dokler ne pridemo do desnega roba slike
|
||||
+ Gore so bile težje za narisati, zato smo se odločili, da bomo uporabili triangle strip (@Triangle_Strip) @wiki_triangle_strip. Najprej smo se odločili, iz koliko segmentov jo bomo narisali v aplikaciji; uporabljamo 150 segmentov, s tem imamo širino segmenta. Sedaj sledimo tem korakom:
|
||||
+ Prvo točko postavimo v spodnji levi kot (0,0).
|
||||
+ Za drugo točko si izberemo naključno številko za višino gore (0,80).
|
||||
+ Naslednja točka je spet na tleh, samo zamaknjena za širino segmenta na desno (20,0).
|
||||
+ Za naslednjo točko si zberemo naključno število za višino gore in zamaknjeno na desno od prejšne višine (20, 90).
|
||||
+ Sedaj ponavljamo točki 3 in 4, dokler ne pridemo do desnega roba slike.
|
||||
|
||||
+ Ponovimo korak 4 še dvakrat da dobimo gorovje (@steps_gora_5)
|
||||
+ Ponovimo korak 4 še dvakrat, da dobimo gorovje (@steps_gora_5).
|
||||
|
||||
#block(breakable: false)[
|
||||
#grid(
|
||||
@@ -811,23 +811,23 @@ Postopek izrisa ozadja je sestavljen iz 5 korakov
|
||||
#let da = `DrawArgs`
|
||||
#let dn = `Branch`
|
||||
|
||||
Algoritem za izris drevesa je iterativni proceduralni generator. Za izdris uporabljamo strukturo #dn (@dna_objekt) in `std::list` (FIFO) #da (@razredi_vizualizacije)
|
||||
Algoritem za izris drevesa je iterativni proceduralni generator. Za izris uporabljamo strukturo #dn (@dna_objekt) in `std::list` (FIFO) #da (@razredi_vizualizacije).
|
||||
|
||||
==== DNA Branch
|
||||
Veja je struktura ki vsebuje podatke o:
|
||||
Veja je struktura, ki vsebuje podatke o:
|
||||
|
||||
- Začetni barvi (`colorX`) [0, 255]
|
||||
- Spremembi barve (`colorX_change`) za koliko se barva spremeni čez dolžino veje [0, 255]
|
||||
- Variaciji zečetne barve (`colorVar`) za koliko se lahko naključno spremeni začetna barva [-15, -15]
|
||||
- Začetna debelina (`size`) [2, 20]
|
||||
- Debelina glede na starša (`sizeParent`) [0.0, 1.0]
|
||||
- Debelina glede na globino (`sizeLevel`) iz @table_glob_data procent koliko je podoben predefinirani velikosti [0.0, 1.0]
|
||||
- Sprememba debeline (`sizeChange`) za končna debelina veje [-5, 5]
|
||||
- Variacija debeline (`sizeVar`) za koliko se lahko naključno spremeni začetna debelina [-5, 5]
|
||||
- Dolžina (`length`) veje [0.5, 1.3]
|
||||
- Variacija dolžine (`lengthVar`) za koliko se lahko nakključno spremeni dolžina veje [-0.15, 0.15]
|
||||
- Stevilo otrokov (`branchCount`) koliko vej bo nadaljevalo [2, 3]
|
||||
- Variacija kota med vejami (`branchAngleVar`) naključna variacija kota med vejami za to da ni enakomerno razporejeno [0, 20]
|
||||
- začetni barvi (`colorX`) [0, 255],
|
||||
- spremembi barve (`colorX_change`), za koliko se barva spremeni čez dolžino veje [0, 255],
|
||||
- variaciji začetne barve (`colorVar`), za koliko se lahko naključno spremeni začetna barva [-15, -15],
|
||||
- začetni debelini (`size`) [2, 20],
|
||||
- debelini glede na starša (`sizeParent`) [0.0, 1.0],
|
||||
- debelini glede na globino (`sizeLevel`); iz @table_glob_data procent, koliko je podoben predefinirani velikosti [0.0, 1.0],
|
||||
- spremembi debeline (`sizeChange`) za končno debelino veje [-5, 5],
|
||||
- variaciji debeline (`sizeVar`), za koliko se lahko naključno spremeni začetna debelina [-5, 5],
|
||||
- dolžini (`length`) veje [0.5, 1.3],
|
||||
- variaciji dolžine (`lengthVar`), za koliko se lahko naključno spremeni dolžina veje [-0.15, 0.15],
|
||||
- številu otroki (`branchCount`), koliko vej bo nadaljevalo [2, 3],
|
||||
- variaciji kota med vejami (`branchAngleVar`) naključna variacija kota med vejami zato, da ni enakomerno razporejeno [0, 20].
|
||||
|
||||
#figure(caption: [Globalni podatki])[
|
||||
#table(
|
||||
|
||||
Reference in New Issue
Block a user