PDA

Voir la version complète : dynamics,coffee, Xpresso ou rien...



deck
22/04/2004, 16h51
Bonjour à tous,

Voilà j'ai comme projet de créer un objet, qui sera peu etre usiné par la suite, et je vais donc, pour commencer, utiliser C4d pour le modeliser. Pour simplifier les choses c'est une roue dans laquel se trouve des poids, mais pour vous poser ma question on va faire comme si il y en avait qu'un seul, donc imaginez une roue posée sur un trepied, sur le haut de cette roue et légérement decalé vers l'avant par rapport à l'axe, je place un poids cylindrique dans un emplacement prevu, et donc sous l'effet de la gravité la roue va se mettre à tourner et le poids va se retrouver en bas.

Ma question: est ce que Cinema4d est capable de simuler la rotation de la roue suivant ce poids de maniére réel?
Si oui , qu'elle est le module le plus adapté pour le faire, dynamics, coffee ou Xpresso? je sais que les dynamics sont capable de simuler la gravité mais etant sous la version 6CE je n'ai pas le module, alors avant d'acquerir une version superieur ou d'acheter un module, je voulais avoir votre avis sur la question et savoir si c'est réalisable.
Merci .

Piero69
22/04/2004, 16h58
Dynamics n'est carrément pas assez précis pour faire ca...ca fonctionne bien pour les chocs et les chutes d'objets, mais le reste.... a mon avis, le plus simple reste de calculer "à la main" la formule correspondant au mouvement (c'est une rotation simple, mais la vitesse varie) ca doit pas etre trop dur : en gros c'est un pendule !

Et après, il "suffit" de mettre cette formule dans du coffee (puisque avec la 6, tu n'as pas expresso) et roule cocotte !

deck
22/04/2004, 18h21
merci Piero69, donc si j'ai bien compris, coffee est la solution si je trouve la formule mathematique qui correspond au mouvement. Je vais me pencher sur ça alors, et je posterai la solution si j'y arrive.

base80
23/04/2004, 02h35
Vas voir dans le WIP/TUT Formules. Il y a des lien vers des sites qui traite le sujet.
Pour la pendule il y a des formules toute faite, mais dans ton cas particulier il y a de la décélération aussi et ça complique un peu.

Si tu envoie ton prob dan le WIP/TUT Formules il y aurais peut-être qq. qui pourras t'aider.

Joscar Amell
23/04/2004, 16h12
Salut,

Le problème de la décélération n'en n'est pas un, je pense, il y a les courbes de fonction pour cela.

deck
23/04/2004, 18h17
Merci de ta proposition base80 mais je vais encore un peu chercher de mon coté et si je bloque vraiment je viens faire un tour du coté de ton Wip. Joscar, c'est vrai que les courbes de fonctions peuvent faire l'affaire pour la deceleration mais comme je l'ai dit je cherche surtout à faire une simulation au plus proche du reel donc je les utiliserai peut etre si je n'y arrive pas sans.

Donc voila j'ai commencé le script, la premiere etape c'est de simuler la vitesse de chute de l'objet selon un cercle, pour l'instant peu importe l'acceleration et le mouvement réel, je ferais ça par petite etape et je pense ensuite qu'avec une instruction du style "Si mon poids" en partant du sommet du cercle "depasse les 180°" alors la rotation s'inverse, mais j'en suis pas là:


// Expression Gravité selon un cercle


// On va Creer une variable "speed_fall" qui correspond à la vitesse
//d'acceleration d'un objet soumis à la gravité

const var speed_fall = 9.81 ; // ce qui correspond au nombre de metres/seconde

const var resistance = 1 ; // la variable resistance correspond au frottement dans l'air et à celui de l'axe, à "1" il n'y a plus de resistance

const var diametre_roue = 10; // c'est le diametre de la roue


main ( the_Document, the_Object )

{

//on recupere le temps en secondes

var time = the_Document->GetTime()->GetSecond() ;


//on calcule la distance parcouru par le poids autour du cercle
var distance_poids= diametre_roue * PI;


//on calcule le temps mis par le poids pour faire une rotation
var vitesse_rotation = distance_poids / speed_fall ;


//et du coup on peu deduire le nombre de rotation par seconde
var tour_par_seconde = 1 / vitesse_rotation ;


//on calcule l'angle de rotation du poids
var Angle = 2* time * PI * tour_par_seconde * resistance;


//maintenant on va faire en sorte que l'objet se deplace de maniere circulaire

the_Object->SetPosition (vector(diametre_roue*cos(Angle), -diametre_roue * sin(Angle), 0));

}


Mon raisonnement : etant donné qu'un objet soumis à la gravité tombe à une vitesse de 9,81 m/s alors le poids, quelque soit sa masse devrait tourner à la meme vitesse et le temps qu'il met à faire une rotation doit etre en fonction du diametre du cercle, pour ça c'est ok ca marche mais est ce que lors de l'animation la roue tourne à une vitesse réel, ça je sais pas.

Je me suis servi de l'expression "orbit" pour determiner l'angle de rotation , c'est à dire la variable "Angle", est ce que quelqu'un pourrait me detailler ce calcul parce que je suis pas sur du resultat et tout le resultat tient sur cette formule.
Merci.

Floby
24/04/2004, 11h50
j'arrive un peu en retard, mais avant de t'attaquer au coffee il aurait, je pense, fallu approfondir les courbes de fonctions ou mieux les courbes temporelles, relativement simple sur la version 6.

d'un autre côté ton expression coffee m'interesse (j'ai j'amais vraiment réussi à faire quelque chose de potable) donc fais-le comme tu le sens. :poucehaut:

deck
24/04/2004, 13h24
Salut, non Floby t'arrives pas trop tard et t'as peu etre raison (comme Joscar) je devrais peu etre me pencher plus sur les courbes de fonctions ou temporelles, en meme temps c'est une bonne occasion de me lancer dans coffee et d'apprendre donc si t'as envie de partager tes scripts meme si ils sont pas fini, hesites pas, moi ca me tente bien d'en apprendre plus. Je continue à chercher la solution..

Piero69
24/04/2004, 15h31
Salut !

Tu es sur la bonne piste, mais je ne suis pas sur qu'au niveau phisique ce soit correct... c'est l'accélération (et pas la vitesse) qui vaut g si l'objet est seulement soumis à son poids !
Fait des recherches sur internet ou regarde sur un bouquin de terminale...tu devrais trouver (le pb c'est que ces formules sont pour des pendules à angle faible... mais en bidouillant un peu ca devrait aller !)

Red
24/04/2004, 15h56
M'est avis que t'arriveras plus rapidement à un résultat satisfaisant en utilisant les outils d'animation traditionnels.