Chulien Utilisateur confirmé: Rang *****
Messages : 2232
| Sujet: 3D cylindre tendu du point A au point B Dim 7 Juin 2009 - 3:07 | |
| un cylindre en d3d est vertical et on le crée comme une boite avec deux "points" qui n'appartiennent pas au cylindre je voudrais faire un cylindre qui parte d'un point et arrive à un autre, comme si c'était une ligne épaisse, dont on donne le rayon pour faire simple, l'appel du script serait: d3d_draw_cylinder_chu(x1,y1,z1, x2,y2,z2, rayon) - Spoiler:
- Code:
-
d3d_transform_set_identity()
x1=argument0 y1=argument1 z1=argument2
x2=argument3 //les variables en arguments y2=argument4 //pour plus de clarté.. z2=argument5
rayon=argument6
//distance entre les deux points distance=sqrt(sqr(x2-x1)+sqr(y2-y1)+sqr(z2-z1))
if(y2-y1!=0)d3d_transform_set_rotation_x(arctan((z2-z1)/(y2-y1))) if(x2-x1!=0)d3d_transform_set_rotation_y(arctan((z2-z1)/(x1-x2))) if(x2-x1!=0)d3d_transform_set_rotation_z(arctan((y2-y1)/(x2-x1))) //division par zéro qui bloque //et les rotations ne sont pas forcément les bonnes.....
d3d_transform_set_translation((x1+x2)/2,(y1+y2)/2,(z1+z2)/2)
d3d_draw_cylinder(-rayon/2,-rayon/2,-distance/2, rayon/2,rayon/2,distance/2, -1,0,0,1,5)
d3d_transform_set_identity()
les cylindres se placent bien entre les points, mais restent verticaux le problème c'est la division par zéro qui apparait souvent on dirait, donc les rotations ne se font pas quelqu'un aurait une idée pour contourner ce problème? ou faire en sorte que x2-x1 par exemple ne soit jamais nul ? j'ai uploadé le gmk toutes mes excuses pour megaupload, mais mediafire a bien buggé http://www.megaupload.com/?d=VF1ULMECedit: - Spoiler:
- Code:
-
d3d_transform_set_identity()
x1=argument0 y1=argument1 z1=argument2
x2=argument3 y2=argument4 z2=argument5
rayon=argument6
distance=sqrt(sqr(x2-x1)+sqr(y2-y1)+sqr(z2-z1))
if(y2-y1=0) y1+=0.001 d3d_transform_add_rotation_x(radtodeg(arctan((z2-z1)/(y2-y1))))
if(x2-x1=0) x1+=0.001 d3d_transform_add_rotation_y(radtodeg(arctan((z2-z1)/(x1-x2))))
if(x2-x1=0) x1+=0.001 d3d_transform_add_rotation_z(radtodeg(arctan((y2-y1)/(x2-x1))))
d3d_transform_add_translation((x1+x2)/2,(y1+y2)/2,(z1+z2)/2)
d3d_draw_cylinder(-rayon,-rayon,-distance/2, rayon,rayon,distance/2, -1,0,0,1,5)
d3d_transform_set_identity()
ah oui aussi le radian to degrés que j'avais oublié j'ai changé le code et la division par zéro n'est plus le soucis, c'est les rotations, qui partent dans tous les sens ça doit être au niveau des arctan |
|
[TheDarkTiger] Modérateur
Messages : 7420 Localisation : Essonne
| Sujet: Re: 3D cylindre tendu du point A au point B Dim 7 Juin 2009 - 20:38 | |
| j'essaye de te faire ça ok? _________________ Bonne chance pour vos projets actuels ! Prêt à aider ceux qui en ont besoin ^^ l'antiqueBienvenue au 2629eme utilisateur : Mike Jones ! |
|
Chulien Utilisateur confirmé: Rang *****
Messages : 2232
| Sujet: Re: 3D cylindre tendu du point A au point B Dim 7 Juin 2009 - 21:44 | |
| |
|
Chulien Utilisateur confirmé: Rang *****
Messages : 2232
| Sujet: Re: 3D cylindre tendu du point A au point B Mar 9 Juin 2009 - 21:01 | |
| when i was a child, i was a jedi wheeen i waas a chii iiild iii was a jediiii edit: c'est juste que j'attends beaucoup ton script ça débloquerait pas mal de choses |
|
Invité Invité
| Sujet: Re: 3D cylindre tendu du point A au point B Mar 9 Juin 2009 - 22:44 | |
| attend je vais te "fèr ze cekripteu " |
|
Chulien Utilisateur confirmé: Rang *****
Messages : 2232
| Sujet: Re: 3D cylindre tendu du point A au point B Mar 9 Juin 2009 - 23:02 | |
| |
|
[TheDarkTiger] Modérateur
Messages : 7420 Localisation : Essonne
| Sujet: Re: 3D cylindre tendu du point A au point B Mer 10 Juin 2009 - 1:34 | |
| _________________ Bonne chance pour vos projets actuels ! Prêt à aider ceux qui en ont besoin ^^ l'antiqueBienvenue au 2629eme utilisateur : Mike Jones ! |
|
Invité Invité
| Sujet: Re: 3D cylindre tendu du point A au point B Mer 10 Juin 2009 - 12:49 | |
| heureusement que j'ai SkipScreen, plus besoin d'attendre pour télécharger :oue: anyway, - Spoiler:
j'ai fait un rêve hier, que je t'ai fait ton script. c'est la première fois que je fais un rêve geek de gm :gniah: |
|
Chulien Utilisateur confirmé: Rang *****
Messages : 2232
| Sujet: Re: 3D cylindre tendu du point A au point B Mer 10 Juin 2009 - 13:23 | |
| |
|
[TheDarkTiger] Modérateur
Messages : 7420 Localisation : Essonne
| Sujet: Re: 3D cylindre tendu du point A au point B Mer 10 Juin 2009 - 16:42 | |
| c'est pas mal . c'est un bon début. Par contre, je t'en prie, optimise tes textures ! tu divisera ton temps de chargement !
SHM -> moi, un moment, au réveil, je pensait que je ne pouvais pas parler aux autres car je n'était pas sur le bus CAN... (http://fr.wikipedia.org/wiki/Controller_area_network) c'est quand je faisait ma compète de robotique et que j'ai dormis moins de 10h en 4 jours... Je peut te dire que ça fait bizarre ... et un de mes potes à rêvé qu'il était dans un while(1)... ça fait mal y parait XD _________________ Bonne chance pour vos projets actuels ! Prêt à aider ceux qui en ont besoin ^^ l'antiqueBienvenue au 2629eme utilisateur : Mike Jones ! |
|
Chulien Utilisateur confirmé: Rang *****
Messages : 2232
| Sujet: Re: 3D cylindre tendu du point A au point B Mer 10 Juin 2009 - 17:29 | |
| - Citation :
- et un de mes potes à rêvé qu'il était dans un while(1)
oh là là... on pourrait changer de sujet? je risque de faire de sales cauchemards optimiser les textures, quest-ce que tu entends pas là? déjà je les ai exportées en png, après je pourrais réduire le nombre de couleurs, ne découper que les parties utiles? c'est ça? si c'est ça il faudrait que je fasse autre chose qu'une sphère pour les immeubles au loin ben.. un cylindre :p edit: vraiment nickel le plugin pour megaupload et compagnie.. espérons que ça marche encore longtemps |
|
Contenu sponsorisé
| Sujet: Re: 3D cylindre tendu du point A au point B | |
| |
|