Szerző |
Üzenet |
Xman
arany tag
Csatlakozott: szer. júl. 14, 2004 9:26 Hozzászólások: 391 Tartózkodási hely: TiszaNewCity
|
Mi bajod van vele ? Mindenkinek megvan a hobbyja.
Van aki köveket gyűjt és van aki szoftveres kockákat
|
szer. aug. 02, 2006 7:26 |
|
|
_optikus_
arany tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 474
|
Te joszagu! Micsoda egy topic
|
kedd aug. 01, 2006 17:44 |
|
|
tlaci2006
ezüst tag
Csatlakozott: kedd júl. 04, 2006 13:40 Hozzászólások: 40
|
Thanks!
|
kedd aug. 01, 2006 13:37 |
|
|
Xman
arany tag
Csatlakozott: szer. júl. 14, 2004 9:26 Hozzászólások: 391 Tartózkodási hely: TiszaNewCity
|
TP-ben Fillpoly.
A helpjében benne van.
|
kedd aug. 01, 2006 12:13 |
|
|
tlaci2006
ezüst tag
Csatlakozott: kedd júl. 04, 2006 13:40 Hozzászólások: 40
|
Néztem fillpolygon eljárást,de nem ismeri fel a tp7...
Ilyenkor mit tudok tenni?
|
kedd aug. 01, 2006 11:57 |
|
|
tlaci2006
ezüst tag
Csatlakozott: kedd júl. 04, 2006 13:40 Hozzászólások: 40
|
Köszi!
|
kedd aug. 01, 2006 11:51 |
|
|
Xman
arany tag
Csatlakozott: szer. júl. 14, 2004 9:26 Hozzászólások: 391 Tartózkodási hely: TiszaNewCity
|
ax regiszterbe tölti a 13-as értéket.
MCGA 320x200 256 színű grafikus üzemmód beállításának első sora szokott lenni.
Kód: procedure setmcga;assembler; asm { mcga videomod beallitasa 320x200 256color } mov ax,13h int 10h end;
procedure settext;assembler; asm { karakteres uzemmod beallitasa 80x25 } mov ax,03h int 10h end;
|
kedd aug. 01, 2006 10:20 |
|
|
tlaci2006
ezüst tag
Csatlakozott: kedd júl. 04, 2006 13:40 Hozzászólások: 40
|
Oks,köszi a segítséget! Remélem előbb-utóbb belejövök.
Amúgy mit jelent az alábbi kifejezés: asm mov ax, $13? Mert van egy fehérzajos progi amit leszedtem netről abban van valami ilyesmi kifejezés. Ez valami memóriába továbbító eljárás vagy mi lehet?
Előre is köszi!
|
kedd aug. 01, 2006 10:12 |
|
|
Xman
arany tag
Csatlakozott: szer. júl. 14, 2004 9:26 Hozzászólások: 391 Tartózkodási hely: TiszaNewCity
|
Izé...
A Bar3D-t én nem nevezném 3d-s kocka "ojjektumnak". Ha jól emlékszem azt főleg statisztikai adatok ábrázolásának "szépítésére" használták. Másra nem nagyon jó. Elforgatni meg főleg nem lehet...
Amiket írtam természetesen graph módot igényelnek. TP7-ben is használható bár te Delphi kódot kértél, ezért volt a canvas. A canvas egy "rajzlap" amire rajzolni lehet (ezt jól megmondtam ). Pl.: van egy image komponens a form-on akkor form1.image1.canvas.lineto(x,y); Ha az image1 640x480 méretű, akkor a canvas is annyi.
Ha "igazi" kockát akarsz, akkor írd le 3d-ben x,y,z-ben, majd a képlettel képezd le 2d-re. Ha forgatni akarod, a forgatóképleteket engedd rá az x,y,z-re majd az eredményt újra képezd le 2d-re. Persze az eredménnyel sose írd felül az eredeti koordinátákat mert egy idő múlva a torzulástól szétesne a tárgyad. Ha lehet ne TP7-ben csináld hanem Delphiben. Sokkal egyszerűbb. Szerintem...
Ha más-más színű "fillezett" oldalakat akarsz, akkor fillpolygont kell használni, bár ehhez már nem árt a láthatóságokat is kiszámolni, hacsak nem akarsz egy Picasso-szerű elvont ábrát
|
kedd aug. 01, 2006 7:27 |
|
|
tlaci2006
ezüst tag
Csatlakozott: kedd júl. 04, 2006 13:40 Hozzászólások: 40
|
Megoldódott a probléma! Mostmár műxik a Graph Unit is!
És sikerült kockát csinálnom Turbo Pascal 7 alatt,igaz segítséggel.
Így néz ki:
program kocka;
uses graph,crt;
var gd,gm: integer;
begin
clrscr;
detectgraph(gd,gm);
initgraph(gd , gm , 'c:\Progra~1\Tp\Bgi');
Bar3D(200, 200, 400, 400, 100 , true);
readln;
closegraph;
end.
Annyiban szeretném kérni a segítségeteket,hogy hogyan tudom azt megcsinálni,hogy a kocka mindegyik oldala más színű legyen? Próbálkoztam textcolor-ral de semmi sem változott. A kocka egyik oldala fehér a többi pedig fekete volt továbbra is...
És Turbo Pascal 7 alatt hogy tudnám ezt a legegyszerűbben elforgatni vagy mozgatni ill. szélességét állítani?
Előre is köszönöm!
|
hétf. júl. 31, 2006 21:59 |
|
|
tlaci2006
ezüst tag
Csatlakozott: kedd júl. 04, 2006 13:40 Hozzászólások: 40
|
Szia Xman! Köszi,hogy segítesz!
Amúgy légyszi magyarázzátok el mit jelent a canvas? És amit most leírtál Xman az Turbo Pascal 7-re is érvényes? Nem kell a forgatáshoz külön unitot még meghívni a crt-n kívül?
Pl. a Turbo Pascal 7-emben az Istennek sem tudok meghívni olyan unitot,hogy pl. graph.
Vagy amit leírtál ehhez kéne a graph unit is külön?
Előre is köszi!
|
hétf. júl. 31, 2006 18:46 |
|
|
Xman
arany tag
Csatlakozott: szer. júl. 14, 2004 9:26 Hozzászólások: 391 Tartózkodási hely: TiszaNewCity
|
Még annyit:
A gép a szögeket radiánban várja tehát át kell számolni:
radalfa:=alfa*(PI/180);
Ha jól emlékszem a zoff konstans a kamera távolsága vagy valami hasonló. Próbáld 0-val és -256-al. Az egyik az FPS a másik a TPS "nézet". De ez nem biztos
Az n kostansra már végképp nem emlékszem de lehet, hogy a kamera torzítását szabályozza (halszem effektus és a többi)... Ez se biztos
|
hétf. júl. 31, 2006 12:54 |
|
|
Xman
arany tag
Csatlakozott: szer. júl. 14, 2004 9:26 Hozzászólások: 391 Tartózkodási hely: TiszaNewCity
|
Régen próbálkoztam ilyennel, nem nagyon éri meg a fáradságot...
Van egy könyv, "3D programozás pascalban", abban minden benne van.
3D-s koordináta leképezése 2D-re, mondjuk 640x480-as canvassal:
xoff:=320; canvas közepe
yoff:=240; canvas közepe
zoff:=-256; konstans
n:=256; konstans
"Gyári" képlet:
newx:=(n*x)/(z-zoff)+xoff;
newy:=(n*y)/(z-zoff)+yoff;
4 pontból álló lap láthatósága:
an=y1*(z2-z3)+y2*(z3-z1)+y3*(z1-z2)
bn=z1*(x2-x3)+z2*(x3-x1)+z3*(x1-x2)
cn=x1*(y2-y3)+x2*(y3-y1)+x3*(y1-y2)
ap=-x1
bp=-y1
cp=zoff-z1
if an*ap+bn*bp+cn*cp>0 then visible:=true
else visible:=false;
Forgatás:
x tengelyen forgat
fx:=x;
fy:=(y*cos(alfa))-(z*sin(alfa));
fz:=(y*sin(alfa))+(z*cos(alfa));
y tengelyen forgat
fx:=(x*cos(alfa))+(z*sin(alfa));
fy:=y;
fz:=(-x*sin(alfa))+(z*cos(alfa));
z tengelyen forgat
fx:=(x*cos(alfa))-(y*sin(alfa));
fy:=(x*sin(alfa))+(y*cos(alfa));
fz:=z;
|
hétf. júl. 31, 2006 7:29 |
|
|
MotoHacker
gyémánt tag
Csatlakozott: pén. jan. 28, 2005 20:39 Hozzászólások: 3683 Tartózkodási hely: Bp
|
Ez jó... ) 5hónapja sincs..azalatt egy idegennyelvet meg lehet folyékonyan tanulni ha muszáj.
Ilyenkor a lusta diák 2 dolgot tehet,vagy keres valakit akinek fizet,hogy helyette produkáljon,vagy,ha ennyire nem májer,akkor szépen önmaga keresgél az intrneten valami morzsát,jó eséllyel alapfeladatokra lehet is találni.
Ez a kockás pl jó képernyővédő,biztos akad valamerre ilyen forrás.
Különben egy drótváz kockához nem kell semmiféle directx,a sima canvas rajzolás is elég gyors..oké kicsit villog,de kezdőktől itt mást várnak el (gondolom),nem azt,hogy rögtön full 3D demót kódoljanak,esetleg 200sprite-os videójátékot írjanak egyedi grafikával
|
szomb. júl. 29, 2006 15:16 |
|
|
tlaci2006
ezüst tag
Csatlakozott: kedd júl. 04, 2006 13:40 Hozzászólások: 40
|
Köszi a linket!
De figyi,még 5 hónapja sincs szinte,hogy Delphiben progizom!!! Kérlek írj le csak egy kocka megtervezéséhez egy forráskódot! Pls!!!
Üdv. Laci
|
pén. júl. 28, 2006 21:51 |
|
|
Salvatore Salvataggio
a fórum lelke
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 8673 Tartózkodási hely: Ahol fikázni könnyű alkotni nehéz!
|
|
pén. júl. 28, 2006 21:34 |
|
|
tlaci2006
ezüst tag
Csatlakozott: kedd júl. 04, 2006 13:40 Hozzászólások: 40
|
Köszi! De mivel nemrég óta progizom Delphiben nagyon megköszönném ha valamelyikőtök leírná a forráskódot és,hogy hogyan kell opengl-t aktiválni a Delphiben. Előre is köszönöm!
Üdv. Laci
|
pén. júl. 28, 2006 21:06 |
|
|
Salvatore Salvataggio
a fórum lelke
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 8673 Tartózkodási hely: Ahol fikázni könnyű alkotni nehéz!
|
openGL, vagy direct x
|
pén. júl. 28, 2006 19:35 |
|
|
tlaci2006
ezüst tag
Csatlakozott: kedd júl. 04, 2006 13:40 Hozzászólások: 40
|
3d-s kocka létrehozása / kép forgatása Delphi 6-ban
Annyiban szeretném a segítségeteket kérni,hogy hogyan lehet a legegyszerűbben létrehozni egy 3d-s kockát delphiben ill. egy képet forgatni úgy,hogy folyamatosan forogjon? Előre is köszönöm!
Üdv. Laci
|
pén. júl. 28, 2006 14:33 |
|
|