Posté le 09/12/2013 13:45
Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 265 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements
Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd
Citer : Posté le 30/06/2014 14:08 | #
Sans vouloir être méchant, je te ferais remarquer que je n'ai fais que modifier le code que tu m'avais donné dans lequel elles étaient aussi absentes
Et pourquoi vouloir allouer dynamiquement tes deux points au lieu de faire Point points[2]; ?
Citer : Posté le 30/06/2014 14:11 | #
Comment initialiser un Point* points[2]???
Citer : Posté le 30/06/2014 14:12 | #
Enfin, je veux dire, pourquoi allouer dynamiquement tes pointeurs, ça n'a aucun intérêt ?
Citer : Posté le 30/06/2014 14:14 | #
parce que je sais pas initialiser Point* points[2];
Et après je vais de voir faire la même chose avec les faces( une face est composée d'un nombre de lignes variable)
Citer : Posté le 30/06/2014 14:15 | #
Point *tab;
tab = malloc(2*sizeof(Point));
Citer : Posté le 30/06/2014 14:19 | #
là, on crée un Point tab[2]; , pas un Point* tab[2];
Citer : Posté le 30/06/2014 14:26 | #
Et alors ? Le pointeur sur le premier point est tab est le second est tab+1.
Citer : Posté le 01/07/2014 13:47 | # | Fichier joint
GROS problèmes sur mon programme Kubic3D, je peux afficher seulement 2 lignes, si je veux afficher une 3ème ligne, le programme plante rien ne se passe et il y a le carré en haut à droite :huh:
je vous laisse les sources
Citer : Posté le 01/07/2014 13:49 | #
T'as une boucle infinie à tous les coups, ou alors ta droite part très loins vers les infinis.
Je te le dis juste comme ça, parce que c'est probablement ça -- tout de suite, je n'ai pas le Temps de m'y pencher.
Citer : Posté le 01/07/2014 15:43 | #
Non, la droite ne part pas vers l'infini car c'est 3 même s droites que je trace, quand je n'en trace que 2, ça va, mais quand je veux en tracer plus, ça bug
Ajouté le 01/07/2014 à 19:54 :
c'est draw_line_fixed_camera(X, def); qui pose problème
Ajouté le 03/07/2014 à 15:11 :
( cam.getFocal() *(cam.getLocation().getZp() - tableaupoints[0].getZp() ) ) / ( tableaupoints[0].getXp() - cam.getLocation().getXp() ) < (SCREEN_HEIGHT>>1)&&
( cam.getFocal() *(cam.getLocation().getZp() - tableaupoints[0].getZp() ) ) / ( tableaupoints[0].getXp() - cam.getLocation().getXp() ) > (-SCREEN_HEIGHT>>1)&&
( cam.getFocal() *(cam.getLocation().getYp() - tableaupoints[0].getYp() ) ) / ( tableaupoints[0].getXp() - cam.getLocation().getXp() ) < (SCREEN_WIDTH>>1)&&
( cam.getFocal() *(cam.getLocation().getYp() - tableaupoints[0].getYp() ) ) / ( tableaupoints[0].getXp() - cam.getLocation().getXp() ) > (-SCREEN_WIDTH>>1)&&
( cam.getFocal() *(cam.getLocation().getZp() - tableaupoints[1].getZp() ) ) / ( tableaupoints[1].getXp() - cam.getLocation().getXp() ) < (SCREEN_HEIGHT>>1)&&
( cam.getFocal() *(cam.getLocation().getZp() - tableaupoints[1].getZp() ) ) / ( tableaupoints[1].getXp() - cam.getLocation().getXp() ) > (-SCREEN_HEIGHT>>1)&&
( cam.getFocal() *(cam.getLocation().getYp() - tableaupoints[1].getYp() ) ) / ( tableaupoints[1].getXp() - cam.getLocation().getXp() ) < (SCREEN_WIDTH>>1)&&
( cam.getFocal() *(cam.getLocation().getYp() - tableaupoints[1].getYp() ) ) / ( tableaupoints[1].getXp() - cam.getLocation().getXp() ) > (-SCREEN_WIDTH>>1)
){
=
Citer : Posté le 03/07/2014 15:12 | #
La flemme de faire une boucle.
Citer : Posté le 03/07/2014 15:14 | #
je savais pas que l'on pouvait faire ça
Citer : Posté le 03/07/2014 15:16 | #
Tous tes morceaux ont exactement la même structure. Tu n'as qu'à faire une petite boucle qui passe au crible les résultats des tests, en ajustant simplement une variable d'incrémentation.
Citer : Posté le 03/07/2014 16:00 | #
Tu peux également utiliser la valeur absolue pour simplifier tes conditions
Citer : Posté le 03/07/2014 16:01 | #
Je ne crois pas qu'ajouter une fonction ou une macro (donc un ternaire) simplifie l'expression x)
Citer : Posté le 03/07/2014 16:04 | #
( cam.getFocal() *(cam.getLocation().getZp() - tableaupoints[0].getZp() ) ) / ( tableaupoints[0].getXp() - cam.getLocation().getXp() ) > (-SCREEN_HEIGHT>>1)
deviendrait
Donc ça pourrait quand même simplifier, non ? (même si je sais qu'une macro est remplacé telle quelle après)
Citer : Posté le 03/07/2014 16:05 | #
À voir... mais je pense que le remplacement du à la macro génère une expression encore plus complexe.
Citer : Posté le 03/07/2014 17:41 | #
Citer : Posté le 03/07/2014 17:43 | #
Ce n'est visiblement pas la déclaration de la fonction qui pose problème.
Essaie de supprimer le dossier Debug et de faire une recompilation complète ?
Citer : Posté le 03/07/2014 17:48 | #
non, ça ne
marchefonctionne pasCiter : Posté le 03/07/2014 17:51 | #
Tu as bien un fichier qui contient la fonction ? Et l'as-tu bien compilé en l'ajoutant au projet ?