Droga Czytelniczko, Drogi Czytelniku,

Czerniak złośliwy jest często występującym nowotworem złośliwym skóry. Niestety wyniki leczenia czerniaka w Polsce należą do najgorszych w Europie. Niezrozumiałe pozostają przyczyny późnego rozpoznawania czerniaka skóry, którego diagnostyka jest najprostszą i najtańszą w całej onkologii.

Kierujemy do Ciebie prośbę o wypełnienie anonimowej ankiety, która pozwoli na ocenę naszej wiedzy o czerniaku skóry, a w szczególności o profilaktyce i leczeniu tej choroby.
Czas jaki to zajmie - około 10-15 minut.

Czy chcesz pomóc w badaniach naukowych - odpowiedzieć na nasze pytania?

TAK, wypełniam
NIE, odmawiam

Zebrane informacje wykorzystane zostaną wyłącznie do celów naukowych
Polski Serwis Naukowy - OnLine od 1999 roku RSS RSS
  auto?
Czwartek, 31 maja 2012
Petronia, Bożysława, Ernestyna, Teodor
 1891: budowa Kolei Transsyberyjskiej
 1970: zagłada miasta Yungay w Peru
 WHO: Dzień bez Papierosa
Dodaj do: 
Dodaj link do serwisu Facebook   Dodaj link do opisu GG  Dodaj link do serwisu Wykop   Dodaj link do serwisu Google   Dodaj link do serwisu Twitter  Dodaj link do serwisu Wyczaj.to   Dodaj link do serwisu Gwar  

Dodaj link do serwisu Delicious  Dodaj link do serwisu Digg   Dodaj link do serwisu Furl   Dodaj link do serwisu Reddit   Dodaj link do serwisu Slashdot  Dodaj link do serwisu Technorati   Dodaj link do serwisu YahooMyWeb
Nowe publikacje
Artykuły
Wydarzenia
Kompendium
Skocz do:  
OPENGL - nie wiem jak sobie poradzic :(
Post dodany: |20 Lis 2008|, 2008 21:54
Data rejestracji: 20 Lis 2008 postów: 1
cytuj
" "

witam was.

od jakiegos czasu probuje napisac w devC++ malutka gierke, konkretniej snake.. zaczalem od zdefiniowania graficznie pola oraz granic.. jestem teraz na etapie kiedy po kliknieciu przycisku w , a , s , d moj waz (zielona kula) zaczyna sie poruszac.. przesowa bez zatrzymania sie jednak kiedy naciskam kolejny przycisk automatycznie znika mi z pola ?!?!?!?!?!

mam takze problem z funkcja RAND(), chcialbym aby zmienialo sie losowo polozenie "robaczka" (zoltej kuli), kiedy wpisuje po prostu funkcje rand() do glTranslatef losuje mi sie bez konca nowe polozenie ktore powinno po jednym razie sie zakonczyc. Zamiescilem zatem funkcje w void-dzie ale ten z koleji nie chce mi dzialac?!?!?!?!?!?!?!



tutaj podsylam kod:


#include <GL/glut.h>

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>

float ratio;
float x = 80.0f;
float y = 40.0f;
float z = 140.0f;
float lx = 0.0f;
float ly = 0.0f;
float lz = -1.0f;

float myszx, myszy;
int ruch = 0;
float alfa=0;
float beta=0;
float r = 100;

float KulaRot = 0;
float RobaczekRot = 0;

int ruszw = 0;
int ruszs = 0;
int rusza = 0;
int ruszd = 0;

int pierwszyx;
int pierwszyy;

int lewa = 200;
int gora = 100;

//////////////////////////////////////////////////////////////////////////////////////

void losuj (int konieclosowania){

srand(time(0));

if (konieclosowania == 1){
for (int i = 0; i < 1; i++){
pierwszyx = (rand()%650)-250 ;
pierwszyy = (rand()%350)-120 ;
}
}
}

void init()
{
losuj(0);
}

void changeSize(int width, int height) //skalowanie okna
{
if(height == 0)
height = 1;
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glViewport(0, 0, width, height);
gluPerspective(45,(double)width/(double)height,1,1000);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(x, y, z, x + lx, y + ly, z + lz, 0.0f, 1.0f, 0.0f);
}

void drawScena(void)
{
glPushMatrix();

glEnable( GL_LINE );
glColor3f(0,0,255);

glBegin( GL_LINES );
glVertex3f( 0.0f, 88.0f, 0.0f);
glVertex3f( 160.0f, 88.0f, 0.0f);

glVertex3f( 160.0f, 88.0f, 0.0f);
glVertex3f( 160.0f, 0.0f, 0.0f);

glVertex3f( 160.0f, 0.0f, 0.0f);
glVertex3f( 0.0f, 0.0f, 0.0f);

glVertex3f( 0.0f, 0.0f, 0.0f);
glVertex3f( 0.0f, 88.0f, 0.0f);

glEnd();
glDisable( GL_LINE );

glPopMatrix();
}

void drawPole(void)
{

glBegin(GL_QUADS); // pole
glColor3f(0.0f,0.0f,0.1f);
glVertex3f(0.0f, 88.0f, 0.0f); // górny lewy

glColor3f(0.0f,0.0f,0.1f);
glVertex3f( 160.0f, 88.0f, 0.0f); // górny prawy

glColor3f(0.0f,0.0f,0.7f);
glVertex3f( 160.0f,0.0f, 0.0f); // dolny prawy

glColor3f(0.0f,0.0f,0.1f);
glVertex3f(0.0f,0.0f, 0.0f); // dolny lewy
glEnd(); // kiniec pola

}

void drawKuladuza(void)
{
glPushMatrix();
glColor3f(0, 255, 0);

if(ruszw == 1){
glTranslatef(lewa,gora, -500.0f);
}

if(ruszs == 1){
glTranslatef(lewa,gora, -500.0f);
}

if(rusza == 1){
glTranslatef(lewa,gora, -500.0f);
}

if(ruszd == 1){
glTranslatef(lewa,gora, -500.0f);
}

glRotatef(KulaRot, 1, 1, 1)/ obrot wokol osi
KulaRot += 0.2;
glutWireSphere(15,15,10);
glPopMatrix();
}

void drawKulasrednia(void)
{
glPushMatrix();
glColor3f(0, 255, 0);
glTranslatef(230,100, -500.0f);
glRotatef(KulaRot, 1, 1, 1)/obrot wokol osi
KulaRot += 0.2;
glutWireSphere(14,15,10);
glPopMatrix();
}

void drawKulamala(void)
{
glPushMatrix();
glColor3f(0, 255, 0);
glTranslatef(259,100, -500.0f);
glRotatef(KulaRot,1 , 1, 1)/ obrot wokol osi
KulaRot += 0.2;
glutWireSphere(13,15,10);
glPopMatrix();
}

void drawRobaczek(void)
{
glPushMatrix();
glColor3f(100, 255, 0);
losuj(0);
glTranslatef(pierwszyx,pierwszyy, -500.0f);
glRotatef(RobaczekRot, 1, 1, 1)/ obrot wokol osi
RobaczekRot += 0.2;
glutWireSphere(15,15,10);
glPopMatrix();
}

//tworzysz motion-a , polozenie oraz roch punktow w przestrzeni

void motion(){

glTranslatef(0,0,0);
drawPole();
// Linie krawedzi sceny
drawScena();
drawRobaczek();
drawKuladuza();
drawKulasrednia();
drawKulamala();

glColor3f(1, 1, 1);
glLoadIdentity();
gluLookAt(x, y, z, x + lx, y + ly, z + lz, 0.0f, 1.0f, 0.0f);
}

// koniec motion-a

void klawisze (unsigned char key,int a,int b)
{
switch(key)
{
case 27:
exit(0);
break;

case 'w':
ruszw = 1;
break;

case 's':
ruszs = 1;
break;

case 'a':
rusza = 1;
break;

case 'd':
ruszd = 1;
break;

}

}

void kSpecjalne (int key, int a , int b )
{
switch(key)
{
case GLUT_KEY_UP:
gora = gora+1;
break;

case GLUT_KEY_DOWN:
gora = gora-1;
break;

case GLUT_KEY_LEFT:
lewa = lewa-1;
break;

case GLUT_KEY_RIGHT:
lewa = lewa+1;
break;

}
}

void processMouse(int button, int state, int x, int y) {
if (state == GLUT_DOWN) {
myszx = x;
myszy = y;
ruch=1;
}
else
ruch=0;
}

void motionMouse(int nowex, int nowey){
if(ruch){
alfa+=(nowey-myszy)*1.0;
beta-=(nowex-myszx)*1.0;

lx = r*cos(alfa*(M_PI/180))*cos(beta*(M_PI/180));
ly = r*sin(alfa*(M_PI/180));
lz = r*cos(alfa*(M_PI/180))*sin(beta*(M_PI/180));

myszx= nowex;
myszy=nowey;


}
}


void renderScene(void)
{
glClearColor (0.0f, 0.0f, 0.0f, 0.0);
glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

if(ruszw==1)
{
gora++;
}

if(ruszs==1)
{
gora--;
}

if(ruszd==1)
{
lewa++;
}

if(rusza==1)
{
lewa--;
}

motion();
glutSwapBuffers();
}

int main(int argc, char **argv)
{

glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGBA);
glutInitWindowPosition(0,0);
glutInitWindowSize(800,600);
glutCreateWindow("Snake");

glutDisplayFunc(renderScene);
glutIdleFunc(renderScene);

glutMouseFunc(processMouse);
glutMotionFunc(motionMouse);

init();

glutReshapeFunc(changeSize);
glutKeyboardFunc(klawisze);
glutSpecialFunc(kSpecjalne);
glutMainLoop();
return(0);
}
 
^
Skocz do:  
Wyświetl posty z ostatnich:   
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Nie możesz ściągać załączników na tym forum
Wersja do druku
Dodaj temat do Ulubionych





Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group