Právě je pát lis 22, 2024 10:49 pm

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 12 ] 
Autor Zpráva
 Předmět příspěvku: Generování meshe pro zeď
PříspěvekNapsal: úte úno 07, 2006 12:59 pm 
Offline
..............
..............

Registrován: úte črc 13, 2004 12:18 am
Příspěvky: 2550
Tak jsem rozepsal svůj další skriptík, až ho vyladím tak ho semka pošlu.


Naposledy upravil Ragnos dne ned úno 12, 2006 1:57 pm, celkově upraveno 1

Nahoru
 Profil  
 
 Předmět příspěvku:
PříspěvekNapsal: úte úno 07, 2006 1:50 pm 
Offline
..............
..............

Registrován: úte črc 13, 2004 12:18 am
Příspěvky: 2550
tady je zdroják, něco málo přibylo... hlavně mě nebijte za tu přehlednost zdrojáku, jsem se k programování dostal téměř po roce.


Naposledy upravil Ragnos dne ned úno 12, 2006 1:55 pm, celkově upraveno 1

Nahoru
 Profil  
 
 Předmět příspěvku:
PříspěvekNapsal: úte úno 07, 2006 7:18 pm 
Offline
....
....
Uživatelský avatar

Registrován: stř kvě 25, 2005 3:23 pm
Příspěvky: 714
Bydliště: Pardubice
Zkoušel jsem to a funguje bez prblémů..chystám se něco tvořit do soutěže "město",tak to zkusim využít..


Nahoru
 Profil  
 
 Předmět příspěvku:
PříspěvekNapsal: úte úno 07, 2006 8:55 pm 
Offline
....
....
Uživatelský avatar

Registrován: stř kvě 25, 2005 3:23 pm
Příspěvky: 714
Bydliště: Pardubice
ještě mě napadlo,že tenhle skript by se dal použít i na tvorbu dlažby apod..vyzkouším..


Nahoru
 Profil  
 
 Předmět příspěvku:
PříspěvekNapsal: úte úno 07, 2006 9:08 pm 
Offline
....
....
Uživatelský avatar

Registrován: sob srp 27, 2005 11:05 am
Příspěvky: 337
Bydliště: Brno/Olomouc
Skvelej napad, potom staci dat nekterym vybranym cihlam extrude fractal a budou aji omlety, to se hodi!! :idea:


Nahoru
 Profil  
 
 Předmět příspěvku:
PříspěvekNapsal: úte úno 07, 2006 9:28 pm 
Offline
..............
..............

Registrován: úte črc 13, 2004 12:18 am
Příspěvky: 2550
lz:tvorba podlahy mě nenapadla, ale nápad na generování zdi mi ležel pěkně dlouho v hlavě...


Nahoru
 Profil  
 
 Předmět příspěvku:
PříspěvekNapsal: stř úno 08, 2006 12:46 am 
Offline
....
....
Uživatelský avatar

Registrován: čtv led 06, 2005 3:29 pm
Příspěvky: 233
Bydliště: Praha
Zkus to upravit tak, aby se dalo nastavit, aby cyhly nezačínaly v jedné přímce, ale rozdíly byly na obou stranách. A pak aby to šlo dát do kruhu (věž apod..)


Nahoru
 Profil  
 
 Předmět příspěvku:
PříspěvekNapsal: stř úno 08, 2006 8:32 am 
Offline
____
____
Uživatelský avatar

Registrován: úte črc 13, 2004 7:58 am
Příspěvky: 717
Bydliště: Prostějov
to není špatné ale ještě přidej i znepravidelnění vodorovné spáry...


Nahoru
 Profil  
 
 Předmět příspěvku:
PříspěvekNapsal: ned úno 12, 2006 1:11 am 
Offline
..............
..............

Registrován: úte črc 13, 2004 12:18 am
Příspěvky: 2550
D@vi$: to by slo, mrknu na to

AD:no to je problem udelat ,aby se ty cihly neprekryvali


Nahoru
 Profil  
 
 Předmět příspěvku:
PříspěvekNapsal: ned úno 12, 2006 10:52 am 
Offline
____
____
Uživatelský avatar

Registrován: úte črc 13, 2004 7:58 am
Příspěvky: 717
Bydliště: Prostějov
G_Taurus píše:
D@vi$: to by slo, mrknu na to

AD:no to je problem udelat ,aby se ty cihly neprekryvali


..........ty to zvládneš......stačilo by neměnit jejich velikost, jen náhodně upravit jejich polohu ...nahoru, dolů... v rozsahu spáry...

obdobně by to šlo uplatnit i na velikost cihly...

udělat to ve větším rozsahu je opravdu problém, to už by jsi vlastně dělal script na generování kamenné zdi :D ... ale tam by asi bylo snadnější jít cestou generování klikatých spár, pak přes extrude a uzavření ploch mezi nimi...


Nahoru
 Profil  
 
 Předmět příspěvku:
PříspěvekNapsal: ned úno 12, 2006 1:57 pm 
Offline
..............
..............

Registrován: úte črc 13, 2004 12:18 am
Příspěvky: 2550
tak jsem dodelal rozhozeni cihel nahoru a dolu a aby nezacinala rada cihel v jedne rovine i kdyz nenavazuje na konec

Kód:
#!BPY

#********Importovani Knihoven****
import whrandom
import math

import Blender
from Blender import NMesh
from Blender.BGL import *
from Blender.Draw import *



#Events
EVENT_NOEVENT=1
EVENT_DRAW=2
EVENT_EXIT=3

#promenne pro slidery
cihel_x2= Create(15)
cihel_y2= Create(20)
xx_ofset2 = Create(0.1)
yy_ofset2 = Create(1.25)
faktor_x2 = Create(2.0)
faktor_y2 = Create(0.1)

cihla_vel_y2= Create(1.0)
cihla_vel_x2= Create(1.0)

pole_krok_z= Create(2.5)

pole_scale_z= Create(1.0)

pole_rot_z= Create(0)

pole_krok_rand_z= Create(0.0)

pole_scale_min_z= Create(1.0)
pole_scale_max_z= Create(1.0)

pole_rot_min_z= Create(0)
pole_rot_max_z= Create(0)

rankrokz = Create(0)






def cihly(cihel_x,cihel_y,yy_ofset,cihla_vel_y,cihla_vel_x,faktor_x,xx_ofset,faktor_y):
   me = NMesh.GetRaw()
   lastvelx=0
   for i2 in range(cihel_y):
      lastvelx=(whrandom.random()*faktor_x+cihla_vel_x)
      for i in range(cihel_x):
         randx=whrandom.random()
         finishvelx=randx*faktor_x+cihla_vel_x
         randy=whrandom.random()*faktor_y
         randy2=whrandom.random()*faktor_y
         
         v=NMesh.Vert(lastvelx,i2*yy_ofset+randy-randy2,0.0)
         me.verts.append(v)
         v=NMesh.Vert(lastvelx+finishvelx,cihla_vel_y+(i2*yy_ofset)+randy-randy2,0.0)
         me.verts.append(v)
         v=NMesh.Vert(lastvelx,cihla_vel_y+(i2*yy_ofset)+randy-randy2,0.0)
         me.verts.append(v)
         v=NMesh.Vert(lastvelx+finishvelx,i2*yy_ofset+randy-randy2,0.0)
         me.verts.append(v)
         lastvelx=lastvelx+finishvelx+xx_ofset
      lastvelx=0

   for i in range(cihel_x*cihel_y):
      f=NMesh.Face()
      f.v.append(me.verts[0+i*4])
      f.v.append(me.verts[3+i*4])
      f.v.append(me.verts[1+i*4])
      f.v.append(me.verts[2+i*4])
      me.faces.append(f)

   NMesh.PutRaw(me,"test",1)
   Blender.Redraw
   
   

def draw():
   ####Promenne pro offset tlacitek
   tlac_y=-100
   ####promenne pro slidery
   global cihel_x2,cihel_y2,yy_ofset2,faktor_x2,cihla_vel_y2,cihla_vel_x2,xx_ofset2,faktor_y2

   ####Popisky
   glClear(GL_COLOR_BUFFER_BIT)

   ###Parametry GUI tlacitek
#   glRasterPos2d(15,360+tlac_y)
#   Text("Text")
   cihel_x2= Number("Pocet cihel x:",EVENT_NOEVENT,10,295+tlac_y+60,120,18,cihel_x2.val,0,1000,"Pocet cihel na ose x");
   cihel_y2= Number("Pocet cihel y:",EVENT_NOEVENT,10,295+tlac_y+30,120,18,cihel_y2.val,0,1000,"Pocet cihel na ose y");
   cihla_vel_x2=  Number("Velikost cihly na ose x:",EVENT_NOEVENT,10,295+tlac_y-90,220,18,cihla_vel_x2.val,0,10,"Velikost cihly na ose x")
   cihla_vel_y2 = Number("Velikost cihly na ose y:",EVENT_NOEVENT,10,295+tlac_y-120,220,18,cihla_vel_y2.val,0,10,"Velikost cihly na ose y");
   faktor_x2=Number("Faktor nahody pro osu X:",EVENT_NOEVENT,10,295+tlac_y-30,220,18,faktor_x2.val,0,10,"Faktor nahody pro velikost cihly na ose x");
   faktor_y2=Number("Faktor nahody pro osu Y:",EVENT_NOEVENT,10,295+tlac_y-60,220,18,faktor_y2.val,0,10,"Faktor nahody pro velikost cihly na ose y");

   xx_ofset2= Number("Offset na ose x:",EVENT_NOEVENT,150,295+tlac_y+60,150,18,xx_ofset2.val,0,200,"Offset na ose x");
   yy_ofset2= Number("Offset na ose y:",EVENT_NOEVENT,150,295+tlac_y+30,150,18,yy_ofset2.val,0,200,"Offset na ose y");
      



#  *****Tlacitka pro randomize
   
   ###Nakreslit tlacitka
   Button("Make Wall",EVENT_DRAW,20,10,80,18)
   Button("Exit",EVENT_EXIT,270,10,80,18)

def event(evt,val):
   if(evt == QKEY and not val):
      Exit()

def bevent(evt):
   ###Ovladani  GUI soucasti
   if(evt== EVENT_EXIT):
      Exit()
   if (evt==EVENT_DRAW):
      cihly(cihel_x2.val,cihel_y2.val,yy_ofset2.val,cihla_vel_y2.val,cihla_vel_x2.val,faktor_x2.val,xx_ofset2.val,faktor_y2.val)
      Blender.Redraw


Register(draw,event,bevent)


Nahoru
 Profil  
 
 Předmět příspěvku:
PříspěvekNapsal: čtv bře 23, 2006 1:13 pm 
Offline
 ...
 ...

Registrován: úte pro 06, 2005 10:09 pm
Příspěvky: 166
Tak tohle se mi mooc líbí. Obdivuju lidi co se s tím píšou a co to vůbec umí :wink:


Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 12 ] 

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 11 návštevníků


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
cron
Založeno na phpBB® Forum Software © phpBB Group
Český překlad – phpBB.cz