Le titre résume bien ce que fait mon programme. Il prend les fonctions
entrées et après calcul, permet de les affiches en graphique en tenant compte d'effet de perspective linéaire.
Symbolisme:
ü = sto ou -
÷ = =
ð = racine carré
Variable:
- fonction normal
Y = Y1
Y‚ = Y2
Yƒ = Y3
Y„ = Y4
Y… = Y5
Y† = Y6
Y‡ = Y7
Yˆ = Y8
Y‰ = Y9
Y€ = Y0
- parametrique
YÔ = Y1T
Y‚Ô = Y2T
YƒÔ = Y3T
...
Y€Ô = Y0T
Program: PLINEAIR
Lbl 1
ClrHome
Menu("MENU","VECT ET REF",2,"OPE cos()",3,"FONCT NORM",4,"FONCT
MATR",5,"PT PAR PT",6)
Lbl 4
ClrHome
Menu("FONCT NORM","ASSIGN REF",4A,"ENT FONCT",4B,"CALC",4C,"MENU",1)
Lbl 5
ClrHome
Menu("FONCT MATR","ENT FONCT",5A,"CALC",5B,"MENU",1)
Lbl 6
ClrHome
Menu("PT PAR PT","DONNEES",6A,"CALC",6B,"MENU",1)
Lbl 2
ClrHome
Disp "[A]={ORIGINES}","[B]={Á REF}"
Input "NB DE REF (A)",A
{1+A,3}üdim([A])
{2+3A,3}üdim([B])
{2+3A,3}üdim([C])
Prompt ([A],[B])
Goto 1
Lbl 3
ClrHome
1üB
While B÷2+3A
1üC
While C÷3
cos([B](B,C))ü[C](B,C)
C+1üC
End
B+1üB
End
[[0,[C](1,1)+[A](1,1),0][0,[C](1,2)+[A](1,2),0][0,[C](1,3)+[A](1,3),0]]ü[D]
[[0,0,[C](2,1)+[A](1,1)][0,0,[C](2,2)+[A](1,2)][0,0,[C](2,3)+[A](1,3)]]ü[E]
Goto 1
Lbl 4A
ClrHome
Input "REF DE XÔ (D)",D
Input "REF DE X‚Ô (E)",E
Input "REF DE XƒÔ (F)",F
Input "REF DE X„Ô (G)",G
Input "REF DE X…Ô (H)",H
Goto 4
Lbl 4B
ClrHome
Input "E1(T)=Y=",Y
Input "F1(T)=Y‚=",Y‚
Input "E2(T)=Yƒ=",Yƒ
Input "F2(T)=Y„=",Y„
Input "E3(T)=Y…=",Y…
Input "F3(T)=Y†=",Y†
Input "E4(T)=Y‡=",Y‡
Input "F4(T)=Yˆ=",Yˆ
Input "E5(T)=Y‰=",Y‰
Input "F5(T)=Y€=",Y€
Goto 4
Lbl 4C
ClrHome
"det(expr(Str1)+[D])/det(expr(Str1))"üXÔ
"det(expr(Str1)+[D])/det(expr(Str1))"üYÔ
"det(expr(Str2)+[D])/det(expr(Str2))"üX‚Ô
"det(expr(Str2)+[E])/det(expr(Str2))"üY‚Ô
"det(expr(Str3)+[D])/det(expr(Str3))"üXƒÔ
"det(expr(Str3)+[E])/det(expr(Str3))"üYƒÔ
"det(expr(Str4)+[D])/det(expr(Str4))"üX„Ô
"det(expr(Str4)+[E])/det(expr(Str4))"üY„Ô
"det(expr(Str5)+[D])/det(expr(Str5))"üX…Ô
"det(expr(Str5)+[E])/det(expr(Str5))"üY…Ô
"[[[A](1+D,1)+T[C](3D,1)+Y[C](3D+1,1)+Y‚[C](3D+2,1),ú[C](1,1),ú[C](2,1)][[A](1+D,2)+T[C](3D,2)+Y[C](3D+1,2)+Y‚[C](3D+2,2),ú[C](1,2),ú[C](2,2)][[A](1+D,3)+T[C](3D,3)+Y[C](3D+1,3)+Y‚[C](3D+2,3),ú[C](1,3),ú[C](2,3)]]"üStr1
"[[[A](1+E,1)+T[C](3E,1)+Yƒ[C](3E+1,1)+Y„[C](3E+2,1),ú[C](1,1),ú[C](2,1)][[A](1+E,2)+T[C](3E,2)+Yƒ[C](3E+1,2)+Y„[C](3E+2,2),ú[C](1,2),ú[C](2,2)][[A](1+E,3)+T[C](3E,3)+Yƒ[C](3E+1,3)+Y„[C](3E+2,3),ú[C](1,3),ú[C](2,3)]]"üStr2
"[[[A](1+F,1)+T[C](3F,1)+Y…[C](3F+1,1)+Y†[C](3F+2,1),ú[C](1,1),ú[C](2,1)][[A](1+F,2)+T[C](3F,2)+Y…[C](3F+1,2)+Y†[C](3F+2,2),ú[C](1,2),ú[C](2,2)][[A](1+F,3)+T[C](3F,3)+Y…[C](3F+1,3)+Y†[C](3F+2,3),ú[C](1,3),ú[C](2,3)]]"üStr3
"[[[A](1+G,1)+T[C](3G,1)+Y‡[C](3G+1,1)+Yˆ[C](3G+2,1),ú[C](1,1),ú[C](2,1)][[A](1+G,2)+T[C](3G,2)+Y‡[C](3G+1,2)+Yˆ[C](3G+2,2),ú[C](1,2),ú[C](2,2)][[A](1+G,3)+T[C](3G,3)+Y‡[C](3G+1,3)+Yˆ[C](3G+2,3),ú[C](1,3),ú[C](2,3)]]"üStr4
"[[[A](1+H,1)+T[C](3H,1)+Y‰[C](3H+1,1)+Y€[C](3H+2,1),ú[C](1,1),ú[C](2,1)][[A](1+H,2)+T[C](3H,2)+Y‰[C](3H+1,2)+Y€[C](3H+2,2),ú[C](1,2),ú[C](2,2)][[A](1+H,3)+T[C](3H,3)+Y‰[C](3H+1,3)+Y€[C](3H+2,3),ú[C](1,3),ú[C](2,3)]]"üStr5
Goto 4
Lbl 5A
ClrHome
Disp "[F]=MATR VAL","FONCT1 C(1,2,3)","FONCT2 C(4,5,6)","FONCT3
C(7,8,9)","Ans1 C(10,11)","Ans2 C(12,13)","Ans3 C(14,15)"
Pause
Input "REF F1 (I)",I
Input "REF F2 (J)",J
Input "REF F3 (K)",K
Disp "COMPLETER FUNCT.","DANS PLINFUNC"
Pause
Goto 5
Lbl 5B
ClrHome
"[[[A](I+1,1)+[F](L,1)[C](3I,1)+[F](L,2)[C](3I+1,1)+[F](L,3)[C](3I+2,1),ú[C](1,1),ú[C](2,1)][[A](I+1,2)+[F](L,1)[C](3I,2)+[F](L,2)[C](3I+1,2)+[F](L,3)[C](3I+2,2),ú[C](1,2),ú[C](2,2)][[A](I+1,3)+[F](L,1)[C](3I,3)+[F](L,2)[C](3I+1,3)+[F](L,3)[C](3I+2,3),ú[C](1,3),ú[C](2,3)]]"üStr6
"[[[A](J+1,1)+[F](M,4)[C](3J,1)+[F](M,5)[C](3J+1,1)+[F](M,6)[C](3J+2,1),ú[C](1,1),ú[C](2,1)][[A](J+1,2)+[F](M,4)[C](3J,2)+[F](M,5)[C](3J+1,2)+[F](M,6)[C](3J+2,2),ú[C](1,2),ú[C](2,2)][[A](J+1,3)+[F](M,4)[C](3J,3)+[F](M,5)[C](3J+1,3)+[F](M,6)[C](3J+2,3),ú[C](1,3),ú[C](2,3)]]"üStr7
"[[[A](K+1,1)+[F](N,7)[C](3K,1)+[F](N,8)[C](3K+1,1)+[F](N,9)[C](3K+2,1),ú[C](1,1),ú[C](2,1)][[A](K+1,2)+[F](N,7)[C](3K,2)+[F](N,8)[C](3K+1,2)+[F](N,9)[C](3K+2,2),ú[C](1,2),ú[C](2,2)][[A](K+1,3)+[F](N,7)[C](3K,3)+[F](N,8)[C](3K+1,3)+[F](N,9)[C](3K+2,3),ú[C](1,3),ú[C](2,3)]]"üStr8
prgmPLINFUNC
LüO
MüP
NüQ
For(L,1,O)
det(expr(Str6)+[D])/det(expr(Str6))ü[F](L,10)
det(expr(Str6)+[E])/det(expr(Str6))ü[F](L,11)
End
For(M,1,P)
det(expr(Str7)+[D])/det(expr(Str7))ü[F](M,12)
det(expr(Str7)+[E])/det(expr(Str7))ü[F](M,13)
End
For(N,1,Q)
det(expr(Str8)+[D])/det(expr(Str8))ü[F](N,14)
det(expr(Str8)+[E])/det(expr(Str8))ü[F](N,15)
End
{T-1,15}üdim([F])
Goto 5
Lbl 6A
ClrHome
Input "NB DE PTS (R)",R
{R,5}üdim([G])
Disp "[G]=MATR VAL","PT(REEL)","- C(1,2,3)","PT(PLIN)","- C(4,5)"
Pause
Goto 6
Lbl 6B
ClrHome
For(S,1,R)
[[[G](S,1),ú[C](1,1),ú[C](2,1)][[G](S,2),ú[C](1,2),ú[C](2,2)][[G](S,3),ú[C](1,3),ú[C](2,3)]]ü[H]
det([H]+[D])/det([H])ü[G](S,4)
det([H]+[E])/det([H])ü[G](S,5)
End
Goto 6
Programme de dessin de fonction avec perspective lineaire
37 posts
• Page 1 of 4 • 1, 2, 3, 4
-
Lem
Niveau 4: MC (Membre Confirmé)- Posts: 17
- Joined: 17 Jun 2007, 00:00
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: proletariat
Re: Programme de dessin de fonction avec perspective lineair
Attend un peu Mic ^^, il faut que je fasse tout l'explication avant.
1.Menu
1.1 "VECT REF" abrégé de Vecteur unitaire et reférenciel
Vecteur unitaire: Vecteur de norme (vul: longueur) = 1
Combinaison: Ex: aVA+bVB=VC (VC est la combinaison de V1 et V2 où a,b sont element des nombres réels (VA,VB,VC sont des vecteurs dits linéairement dépendants))
Référenciel: Element composé d'un point (o1,o2,o3,...,on) pour définir l'origine et de plusieurs vecteurs pour définir la dimension. Parmi ces
vecteurs-ci, il ne peut y avoir 1 seul vecteur qui soit la combinaison
des autres (Des vecteurs dits "linéairement indépendent"). Ces vecteur
sont généralement unitaire et orthogonaux entre eux. Ces éléments
composent un ensemble qu'on peut appeler "point" s'il n'est composé que
d'un point (0 dimension), "droite" s'il est composé d'un point et d'un
vecteur (1D), "surface" s'il est composé d'un point et de 2 vecteurs
(2D),"volume" s'il est composé d'un point et de 3 vecteurs (3D) et ainsi
de suite.
*
***
****** PLINEAIR_ref.bmp ****************

****
***
**
*
***
****** PLINEAIR_ref2.bmp ****************

****
***
**
Ex
ø = pas égal à
P: point quelconque
reférencielle 1:
O1: point d'origine 1
vA: Vecteur A
vB: Vecteur B
a: coefficient du vecteur A
b: coefficient du vecteur B
referencielle 2:
O2: point d'origine 2
vC: Vecteur C
vD: Vecteur D
c: coefficient du vecteur C
d: coefficient du vecteur D
Si
vA ø vB ø vC ø vD
O1 ø O2
P=O1+aVA+bVB = P=O2+cVC+dVD
alors en general
a ø c ø b ø d
Dépendant du référencielle qui sert à interpreter le positionnement du point P dans l'espace, les combinaisons linéaires qui amènent le
résultat P ne seront pas les memes.
Un référenciel est un peu comme un point de vue. Dans la vie, les gens
interpretent différement les faits parce qu'ils n'ont pas le meme point
de vue.
*
***
****** PLINEAIR_2ref.bmp ****************

****
***
**
Dans le context du programme, j'utilise les referenciels pour interpreter (imaginer mathematiquement la fonction qui se rattache à une forme) plus facilement les fonctions. Et pouvoir la retransposer facilement sur ecran juste en changeant de réferenciel. On peut faire pivoter le referenciels pour avoir un autre regard sur la fonction juste en changeant la position de l'origine ou/et en changeant les angles des vecteurs.
*
***
****** PLINEAIR_avec_sans.bmp ****************

****
***
**
*
***
****** PLINEAIR_matrice_A.bmp ****************

****
***
**
*
***
****** PLINEAIR_angle.bmp ****************

****
***
**
*
***
****** PLINEAIR_matrice_B.bmp ****************

****
***
**
1.Menu
1.1 "VECT REF" abrégé de Vecteur unitaire et reférenciel
Vecteur unitaire: Vecteur de norme (vul: longueur) = 1
Combinaison: Ex: aVA+bVB=VC (VC est la combinaison de V1 et V2 où a,b sont element des nombres réels (VA,VB,VC sont des vecteurs dits linéairement dépendants))
Référenciel: Element composé d'un point (o1,o2,o3,...,on) pour définir l'origine et de plusieurs vecteurs pour définir la dimension. Parmi ces
vecteurs-ci, il ne peut y avoir 1 seul vecteur qui soit la combinaison
des autres (Des vecteurs dits "linéairement indépendent"). Ces vecteur
sont généralement unitaire et orthogonaux entre eux. Ces éléments
composent un ensemble qu'on peut appeler "point" s'il n'est composé que
d'un point (0 dimension), "droite" s'il est composé d'un point et d'un
vecteur (1D), "surface" s'il est composé d'un point et de 2 vecteurs
(2D),"volume" s'il est composé d'un point et de 3 vecteurs (3D) et ainsi
de suite.
*
***
****** PLINEAIR_ref.bmp ****************

****
***
**
*
***
****** PLINEAIR_ref2.bmp ****************

****
***
**
Ex
ø = pas égal à
P: point quelconque
reférencielle 1:
O1: point d'origine 1
vA: Vecteur A
vB: Vecteur B
a: coefficient du vecteur A
b: coefficient du vecteur B
referencielle 2:
O2: point d'origine 2
vC: Vecteur C
vD: Vecteur D
c: coefficient du vecteur C
d: coefficient du vecteur D
Si
vA ø vB ø vC ø vD
O1 ø O2
P=O1+aVA+bVB = P=O2+cVC+dVD
alors en general
a ø c ø b ø d
Dépendant du référencielle qui sert à interpreter le positionnement du point P dans l'espace, les combinaisons linéaires qui amènent le
résultat P ne seront pas les memes.
Un référenciel est un peu comme un point de vue. Dans la vie, les gens
interpretent différement les faits parce qu'ils n'ont pas le meme point
de vue.
*
***
****** PLINEAIR_2ref.bmp ****************

****
***
**
Dans le context du programme, j'utilise les referenciels pour interpreter (imaginer mathematiquement la fonction qui se rattache à une forme) plus facilement les fonctions. Et pouvoir la retransposer facilement sur ecran juste en changeant de réferenciel. On peut faire pivoter le referenciels pour avoir un autre regard sur la fonction juste en changeant la position de l'origine ou/et en changeant les angles des vecteurs.
*
***
****** PLINEAIR_avec_sans.bmp ****************

****
***
**
- Code: Select all
Lbl 2
ClrHome
Disp "[A]={O1 ET O2}","[B]={Á REF}"
//explication abrégé de: [A] sert a stocker les coordonnées des origines (les coordonnées des origines sont definis avec le référenciel principal (nos yeux) où l'origine est le point (0,0,0), les 3 vecteurs formant un espace sont respectivement x=(1 0 0); y=(0 1 0); z=(0 0 1)) des réferentiels secondaires. [A] a 3 colonnes, C1: pour le positionnement de l'origine en x par rapport au réferenciel principal, C2: pour le positionnement de l'origine en y par rapport au réferenciel principal, C3: pour le positionnement de l'origine en z par rapport au réferenciel principal. Chaque ligne de [A] est un origine pour un referenciel secondaire. La premiere ligne est dédié à l'origine de la surface de dessin soit le milieu de la surface (dessin). Les autres lignes de [A] (2 et +) sont dédié aux referentiels secondaires pour les fonctions.
Input "NB DE REF (A)",A
//"NB DE DEF" = nombre de referenciels secondaire voulus pour les fonctions. La reponse est stocker dans A
{1+A,3}üdim([A])
// 1+A: Le nombre de ligne de [A] est le nombre de referenciel dédier au positionnement du dessin,1, ajouté du nombre de referenciels secondaire voulus, A.
*
***
****** PLINEAIR_matrice_A.bmp ****************
[URL=http://img266.imageshack.us/my.php?image=plineairmatriceair7.png][IMG]http://img266.imageshack.us/img266/2856/plineairmatriceair7.th.png[/IMG][/URL]
****
***
**
*
***
****** PLINEAIR_angle.bmp ****************
[URL=http://img372.imageshack.us/my.php?image=plineairangleia3.png][IMG]http://img372.imageshack.us/img372/2641/plineairangleia3.th.png[/IMG][/URL]
****
***
**
{2+3A,3}üdim([B])
{2+3A,3}üdim([C])
// 2+3A: Il faut 3 lignes pour definir les composantes des 3 vecteurs de chaque referenciel dédié aux fonctions, donc 3A ou 3*A. +2 parce que les 2 premieres lignes sont dediés aux 2 vecteurs du referenciel formant la "surface" de dessin.[B] est dédié au angle alpha, beta, gamma de chaque vecteur.(alpha = angle entre l'axe des x du referenciel principal et le vecteur concerné, beta = angle entre l'axe des y du referenciel principal et le vecteur concerné, gamma = angle entre l'axe des x du referenciel principal et le vecteur concerné) [C] est dédié au composante des vecteurs obtenu effectuent cos( sur les angles en [B].
*
***
****** PLINEAIR_matrice_B.bmp ****************
[URL=http://img266.imageshack.us/my.php?image=plineairmatricebvs9.png][IMG]http://img266.imageshack.us/img266/2504/plineairmatricebvs9.th.png[/IMG][/URL]
****
***
**
Prompt ([A],[B])
//A vous d'entrer les données
Goto 1
// retour au menu principal
*
***
****** PLINEAIR_matrice_A.bmp ****************

****
***
**
*
***
****** PLINEAIR_angle.bmp ****************

****
***
**
*
***
****** PLINEAIR_matrice_B.bmp ****************

****
***
**
-
Lem
Niveau 4: MC (Membre Confirmé)- Posts: 17
- Joined: 17 Jun 2007, 00:00
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: proletariat
Re: Programme de dessin de fonction avec perspective lineair
1.2 "OPE Cos()" abrégé de: Operation cos() sur chaque élément de [B] et les mettre aux memes lignes et colonnes dans [C]
*
***
****** PLINEAIR_matrice_C.bmp ****************

****
***
**
- Code: Select all
Lbl 3
ClrHome
1üB
While B÷2+3A
1üC
While C÷3
cos([B](B,C))ü[C](B,C)
C+1üC
End
B+1üB
End
//Le programme effectue le cosinus sur les 3 angle du vecteur1, et il passe au suivant jusqu'a ce qu'il ait terminé de le faire sur les 2+3A vecteurs dédiés aux différents référenciels. Autrement dit, il effectue le cosinus de chaque élement de [B] et les stock dans [C] dans le meme ordre.
*
***
****** PLINEAIR_matrice_C.bmp ****************
[URL=http://img252.imageshack.us/my.php?image=plineairmatricecaf1.png][IMG]http://img252.imageshack.us/img252/923/plineairmatricecaf1.th.png[/IMG][/URL]
****
***
**
[[0,[C](1,1)+[A](1,1),0][0,[C](1,2)+[A](1,2),0][0,[C](1,3)+[A](1,3),0]]ü[D]
[[0,0,[C](2,1)+[A](1,1)][0,0,[C](2,2)+[A](1,2)][0,0,[C](2,3)+[A](1,3)]]ü[E]
//Préparation des matrices qui permettront de déduire le positionnement des points formant les fonctions qui seront dessiné sur la surface de dessin (écran de calculatrice). Je procede par la [url=http://fr.wikipedia.org/wiki/R%C3%A8gle_de_Cramer]Règle de Cramer[/url]. [D] sert dans la determination du positionnement d'un point par rapport à l'axe des x du dessin (axe des x du dessin determiné par le vecteur en [C](1,C) passant par O1). [E] sert dans la determination du positionnement d'un point par rapport à l'axe des y du dessin (axe des y du dessin determiné par le vecteur en [C](1,C) passant par O1). Explication en rapport avec la regle de Cramer plus tard.
Goto 1
*
***
****** PLINEAIR_matrice_C.bmp ****************

****
***
**
-
Lem
Niveau 4: MC (Membre Confirmé)- Posts: 17
- Joined: 17 Jun 2007, 00:00
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: proletariat
Re: Programme de dessin de fonction avec perspective lineair
1.3 "FONCT NORM" abrégé de: Usage de fonction Y1, Y2, ...,Y0 pour stocker les fonctions. Entré des fonctions dans les Variables Y comme a la normal.
1.3.1 "ASSIGN REF" abrégé de: Assigner les référenciels aux fonctions"
1.3.2 "ENT FONCT" abrégé de: Entrer les fonctions
1.3.3 "CALC" abrégé de: calcule. Meme si ce n'est que du stockage de donnees, c'est tout de meme du stockage de calculs.Maintenant, il faut visualiser une fonction en 3D où les valeurs de l'ordonnee et de la cote du referenciel choisis dependent de T qui est en abscisse. Ex: Un point de la fonction = (T, E?(T), F?(T)); Un point de la fonction = (T, 100-T^2, T+2)
Dans cette étape, il faut connaitre les formules suivantes:
(1) - Determination de la position d'un point dans une droite:
p: point quelconque
K: coefficient du vecteur directeur nK
nK: vecteur directeur
o1: Origine 1
p = o1 + k(d)
(p1, p2, p3) = (o11, o12, o13) + k(nK1 nK2 nK3)
(2) - Determination de la position d'un point dans une surface:
p: point quelconque
o2: Origine 2
nA: vecteur A
nB: vecteur B
a: coefficient du vecteur nA
b: coefficient du vecteur nB
p = o2 + a(nA) + b(nB)
(p1, p2, p3) = (o21, o22, o23) + a(nA1 nA2 nA3) + b(nB1 nB2 nB3)
(3) - Determination de la position d'un point dans un espace:
p: point quelconque
o3: Origine 3
nD: Vecteur D
nE: Vecteur E
nF: Vecteur F
d: coefficient du vecteur nD
e: coefficient du vecteur nE
f: coefficient du vecteur nF
p = o3 + d(nD) + e(nE) + f(nF)
(p1, p2, p3) = (o31, o32, o33) + d(nD1 nD2 nD3) + e(nE1 nE2 nE3) + f(nF1 nF2 nF3)
- Règle de Cramer
Pour pouvoir appliquer la Règle de Cramer, il faut pouvoir etablir une matrice "coefficient de vecteur" et une matrice "constante". Pour cela, il faut jongler algébriquement avec les formules d'en haut.
Dans le cas présent, nous prendrons un point parmi tant d'autre dans l'espace. Normalement, pour percevoir un point comme il faut, il faut que son image soit projeter en "ligne directe" vers nos yeux. Les mots lignes et directes dans ce cas-ci rappel une droite passant par le point en question et nos yeux.
*
***
****** PLINEAIR_o_ligne_p.bmp ****************

****
***
**
Maintenant, supposons qu'il y a une surface de dessin entre le point p=(px, py, pz) et nos yeux. Etant donné qu'il y a une droite passant par nos yeux et le point en question, elle n'a d'autre choix que d'intercepter la surface de dessin. Le point d'intersection entre le dessin et la droite est la ou on doit dessiner un point pour que le dessin visuellement realiste.
*
***
****** PLINEAIR_intersection.bmp ****************

****
***
**
Pour pouvoir interpreter mathematiquement cette intersection sur la surface de dessin, il faut utiliser les formules (1) et (2):
(1) (p1, p2, p3) = (o11, o12, o13) + k(nK1 nK2 nK3)
La formule 1 correspondra a l'equation de la droite passant par le point (px, py, pz) et l'origine o=(0,0,0)
Pour les données de la formule 1:
"o11 = o12 = o13 = 0", car nous prendrons pour origine celle du referenciel principal, soit o=(0, 0, 0)
"nK1=px, nK2=py, nK3=pz", car le vecteur directeur inspiré des coordonnées du point quelconque de l'espace est parallele a la droite passant par ce point et l'origine "o". "(p1, p2, p3)" sera les coordonnées du point d'intersection sur la surface de dessin.
(2) (p1, p2, p3) = (o21, o22, o23) + a(nA1 nA2 nA3) + b(nB1 nB2 nB3)
La formule 2 correspondra à l'equation de la surface de dessin.
Pour les données de la formule 2:
"(o21, o22, o23)" sera l'origine (centre) de la surface de dessin. On determinera l'origine de cette surface en se fiant sur referenciel principal.
"(nA1 nA2 nA3)" sera les composantes du vecteur nA, qui doivent etre determiné préalablement des angles entrés en [B] et dont on a effectuer
le cos( sur chacun d'eux. "(nB1 nB2 nB3)" sera les composantes du vecteur nB, ... meme chose que pour nA.
Maintenant il faut joindre les 2 formules ensemble:
(p1, p2, p3) = (o11, o12, o13) + k(nK1 nK2 nK3) (1)
(p1, p2, p3) = (0, 0, 0) + k(nK1 nK2 nK3)
(p1, p2, p3) = k(nK1 nK2 nK3)
(p1, p2, p3) = (o21, o22, o23) + a(nA1 nA2 nA3) + b(nB1 nB2 nB3) (2)
k(nK1 nK2 nK3) = (o21, o22, o23) + a(nA1 nA2 nA3) + b(nB1 nB2 nB3)
Il faut maintenant separer les vecteurs avec les composantes des constantes (origine):
k(nK1 nK2 nK3) - a(nA1 nA2 nA3) - b(nB1 nB2 nB3) = (o21, o22, o23)
Il faut ensuite presenter cela sous le forme d'un system d'equation:
k(nK1) - a(nA1) - b(nB1) = o21
k(nK2) - a(nA2) - b(nB2) = o22
k(Nk3) - a(nA3) - b(nB3) = o23
Maintenant, vient la partie ou il faut impliquer un referenciel pour chaque fonction:
On se rappelle qu'au debut on a decidé d'utiliser directement les coordonnées du point p=(px, py, pz) pour former le vecteur directeur nK=(nK1 nK2 nK3) de la droite croisant la surface de dessin. Il se trouve que les coordonnees du point p sont aussi impliquées avec un autre referenciel qui a pour but de simplifier notre representation d'une fonction, permettre plus de facilite quand vient le temps de modifier l'orientation ou le positionnement de la fonction dans l'espace.
Il faudra utiliser la formule (3) pour interpreter mathematiquement le referenciel personalisé qui generera facilement les points p qui ensemble formeront une fonction:
(3) (p1, p2, p3) = (o31, o32, o33) + t(nD1 nD2 nD3) + e(nE1 nE2 nE3) + f(nF1 nF2 nF3)
"(o31, o32, o33)", sera les coordonnées de o servirons à positionner l'origine du referenciel personnalisé ainsi que la fonction qui s'y rattache. Le positionnement s'effectue en se fiant au referenciel principal.
"(nD1 nD2 nD3)", sera les composantes du vecteur nD, qui doivent etre determiné préalablement des angles entrés en [B] et dont on a effectuer le cos( sur chacun d'eux. Le vecteur nD jouera le role d'abscisse pour la fonction. Donc, par principe, le coefficient t sera la variable independante de la fonction.
"(nE1 nE2 nE3)", sera les composantes du vecteur nE, qui doivent etre determiné préalablement des angles entrés en [B] et dont on a effectuer le cos( sur chacun d'eux. Le vecteur nE jouera le role d'ordonnée pour la fonction. Donc, par principe, le coefficient e sera une fonction e(t) . ex: "(100-t^2)^(1/2)"
N.B. Il ne faut surtout pas oublier les "" lorsqu'on ecrit la fonction.
"(nF1 nF2 nF3)", sera les composantes du vecteur nE, qui doivent etre determiné préalablement des angles entrés en [B] et dont on a effectuer le cos( sur chacun d'eux. Le vecteur nF jouera le role de cote pour la fonction. Donc, par principe, le coefficient f sera une fonction f(t) . ex: "-(100-t^2)^(1/2)"
Comme le fut mentionné (2x) ^^, on a decidé d'utiliser directement les coordonnées du point p=(px, py, pz) pour former le vecteur directeur nK=(nK1 nK2 nK3) de la droite croisant la surface de dessin. Sachant que la creation de ce point p provient de la formule 3, on peut mettre
ensemble la formule 3 et le vecteur directeur nK:
(nK1 nK2 nK3) = (o31, o32, o33) + t(nD1 nD2 nD3) + e(nE1 nE2 nE3) +
f(nF1 nF2 nF3)
Mettons les en systeme d'equation:
nK1 = o31 + t(nD1) + e(nE1) + f(nF1)
nK2 = o32 + t(nD2) + e(nE2) + f(nF2)
nK3 = o33 + t(nD3) + e(nE3) + f(nF3)
Maintenant qu'on sait que les 3 formules sont liées, quoi de mieux que de mettre cette liaison en evidence:
k(nK1) - a(nA1) - b(nB1) = o21
k(nK2) - a(nA2) - b(nB2) = o22
k(nk3) - a(nA3) - b(nB3) = o23
et
nK1 = o31 + t(nD1) + e(nE1) + f(nF1)
nK2 = o32 + t(nD2) + e(nE2) + f(nF2)
nK3 = o33 + t(nD3) + e(nE3) + f(nF3)
donne
k(o31 + t(nD1) + e(nE1) + f(nF1)) - a(nA1) - b(nB1) = o21
k(o32 + t(nD2) + e(nE2) + f(nF2)) - a(nA2) - b(nB2) = o22
k(o33 + t(nD3) + e(nE3) + f(nF3)) - a(nA3) - b(nB3) = o23
*
***
****** PLINEAIR_1_2_3.bmp ****************

****
***
**
Maintenant qu'on a completement formuler notre systeme d'équation, il nous est plus qu'à le resoudre. Nous avons 3 equations et 6 variables. Etant donne que "t" est une variable independante et que e et f dependent de t, ca nous fait 2 variables de moins. Il nous reste une variable de trop par rapport au nombre d'equation. C'est normal. Quand viendra le temps d'afficher une fonction, il faut bien laisser une variable de libre. Cette variable libre sera "t". A chaque valeur de "t" on pourra trouver une valeur pour a et b en resolvant le systeme d'equation. Par deduction, on pourra trouver que la valeur de "a" correspondra au coordonnée en abscisse du dessin d'un des points de la fonction, et "b" au coordonnée en ordonné. L'écran de la calculatrice sera cette surface de dessin.
Maintenant qu'on parle de resolution de systeme d'equation, cela me rappelle qu'on a parlé de la "regle de Cramer" plus haut.
Si je suis grossierement la regle de Cramer, il faut tout d'abord creer une matrice à partir du systeme d'equation d'en haut:
k(o31 + t(nD1) + e(nE1) + f(nF1)) - a(nA1) - b(nB1) = o21
k(o32 + t(nD2) + e(nE2) + f(nF2)) - a(nA2) - b(nB2) = o22
k(o33 + t(nD3) + e(nE3) + f(nF3)) - a(nA3) - b(nB3) = o23
devient
[[o31 + t(nD1) + e(nE1) + f(nF1), -(nA1), -(nB1)]
[o32 + t(nD2) + e(nE2) + f(nF2), -(nA2), -(nB2)]
[o33 + t(nD3) + e(nE3) + f(nF3), -(nA3), -(nB3)]] = [M]
Ensuite, si on veut trouver la valeur de "a", il faur remplacer la colonne qui correspond au vecteur lié au coefficient "a" par un colonne constante.
[[o31 + t(nD1) + e(nE1) + f(nF1), -(nA1), -(nB1)]
[o32 + t(nD2) + e(nE2) + f(nF2), -(nA2), -(nB2)]
[o33 + t(nD3) + e(nE3) + f(nF3), -(nA3), -(nB3)]] = [M]
devient
[[o31 + t(nD1) + e(nE1) + f(nF1), o21, -(nB1)]
[o32 + t(nD2) + e(nE2) + f(nF2), o22, -(nB2)]
[o33 + t(nD3) + e(nE3) + f(nF3), o23, -(nB3)]] = [Ma]
Ensuite, si on veut trouver la valeur de "b", meme chose que pour "a", mais c'est la colonne qui correspond au vecteur lié au coefficient "b" qu'il faut remplacer.
[[o31 + t(nD1) + e(nE1) + f(nF1), -(nA1), -(nB1)]
[o32 + t(nD2) + e(nE2) + f(nF2), -(nA2), -(nB2)]
[o33 + t(nD3) + e(nE3) + f(nF3), -(nA3), -(nB3)]] = [M]
devient
[[o31 + t(nD1) + e(nE1) + f(nF1), -(nA1), o21]
[o32 + t(nD2) + e(nE2) + f(nF2), -(nA2), o22]
[o33 + t(nD3) + e(nE3) + f(nF3), -(nA3), o23]] = [Mb]
Maintenant qu'on a nos matrices, il ne reste plus qu'à appliquer le reste de la regle de cramer:
det([Ma]) / det([M]) = a
det([Mb]) / det([M]) = b
Quand vous voudrez faire "trace", il faut enlever tout les "det(expr(StrX)+[D])/det(expr(StrX))" "det(expr(StrX)+[E])/det(expr(StrX))" dont vous n'aurez pas besoin. Il faut aussi faire "MODE" et changer "Func" par "Par"
1.3.1 "ASSIGN REF" abrégé de: Assigner les référenciels aux fonctions"
- Code: Select all
Lbl 4A
ClrHome
Input "REF DE XÔ (D)",D
Input "REF DE X‚Ô (E)",E
Input "REF DE XƒÔ (F)",F
Input "REF DE X„Ô (G)",G
Input "REF DE X…Ô (H)",H
// Dans les variables D à H on y stock les choix de référenciel. Si on entre le choix 1, ce sera premier referentiel apres celui qui correspond à la surface de dessin ou l'ecran. Ex: E = 2, le reférenciel 2 aura pour origine la ligne [A](1+E,C) et pour les 3 vecteurs les lignes:
[C](3E,C),[C](3E+1,C),[C](3E+2,C) ou V1ref2=([C](6,1) [C](6,2) [C](6,3)), V2ref2=([C](7,1) [C](7,2) [C](7,3)), V1ref2=([C](8,1) [C](8,2) [C](8,3)).
Goto 4
// retour au menu "FONCT NORM"
1.3.2 "ENT FONCT" abrégé de: Entrer les fonctions
- Code: Select all
Lbl 4B
ClrHome
Input "E1(T)=Y=",Y
// E1(T): Yfonct1(T). Ici il faut marquer entre "" la fonction que décrit Y de la fonction 1 par rapport a T, la variable independante de la fonction. Ex: "100-T^2" Cette fonction sera stocker dans Y
Input "F1(T)=Y‚=",Y‚
// R1(T): Zfonct1(T). Ici il faut marquer entre "" la fonction que décrit Z de la fonction 1 par rapport a T, la variable independante de la fonction. Ex: "T+2" Cette fonction sera stocker dans Y‚
Input "E2(T)=Yƒ=",Yƒ
// E2(T): Yfonct1(T)....un peu comme en E1
Input "F2(T)=Y„=",Y„
// E2(T): Yfonct1(T)....un peu comme en E2
Input "E3(T)=Y…=",Y…
Input "F3(T)=Y†=",Y†
Input "E4(T)=Y‡=",Y‡
Input "F4(T)=Yˆ=",Yˆ
Input "E5(T)=Y‰=",Y‰
Input "F5(T)=Y€=",Y€
Goto 4
1.3.3 "CALC" abrégé de: calcule. Meme si ce n'est que du stockage de donnees, c'est tout de meme du stockage de calculs.Maintenant, il faut visualiser une fonction en 3D où les valeurs de l'ordonnee et de la cote du referenciel choisis dependent de T qui est en abscisse. Ex: Un point de la fonction = (T, E?(T), F?(T)); Un point de la fonction = (T, 100-T^2, T+2)
Dans cette étape, il faut connaitre les formules suivantes:
(1) - Determination de la position d'un point dans une droite:
p: point quelconque
K: coefficient du vecteur directeur nK
nK: vecteur directeur
o1: Origine 1
p = o1 + k(d)
(p1, p2, p3) = (o11, o12, o13) + k(nK1 nK2 nK3)
(2) - Determination de la position d'un point dans une surface:
p: point quelconque
o2: Origine 2
nA: vecteur A
nB: vecteur B
a: coefficient du vecteur nA
b: coefficient du vecteur nB
p = o2 + a(nA) + b(nB)
(p1, p2, p3) = (o21, o22, o23) + a(nA1 nA2 nA3) + b(nB1 nB2 nB3)
(3) - Determination de la position d'un point dans un espace:
p: point quelconque
o3: Origine 3
nD: Vecteur D
nE: Vecteur E
nF: Vecteur F
d: coefficient du vecteur nD
e: coefficient du vecteur nE
f: coefficient du vecteur nF
p = o3 + d(nD) + e(nE) + f(nF)
(p1, p2, p3) = (o31, o32, o33) + d(nD1 nD2 nD3) + e(nE1 nE2 nE3) + f(nF1 nF2 nF3)
- Règle de Cramer
Pour pouvoir appliquer la Règle de Cramer, il faut pouvoir etablir une matrice "coefficient de vecteur" et une matrice "constante". Pour cela, il faut jongler algébriquement avec les formules d'en haut.
Dans le cas présent, nous prendrons un point parmi tant d'autre dans l'espace. Normalement, pour percevoir un point comme il faut, il faut que son image soit projeter en "ligne directe" vers nos yeux. Les mots lignes et directes dans ce cas-ci rappel une droite passant par le point en question et nos yeux.
*
***
****** PLINEAIR_o_ligne_p.bmp ****************

****
***
**
Maintenant, supposons qu'il y a une surface de dessin entre le point p=(px, py, pz) et nos yeux. Etant donné qu'il y a une droite passant par nos yeux et le point en question, elle n'a d'autre choix que d'intercepter la surface de dessin. Le point d'intersection entre le dessin et la droite est la ou on doit dessiner un point pour que le dessin visuellement realiste.
*
***
****** PLINEAIR_intersection.bmp ****************

****
***
**
Pour pouvoir interpreter mathematiquement cette intersection sur la surface de dessin, il faut utiliser les formules (1) et (2):
(1) (p1, p2, p3) = (o11, o12, o13) + k(nK1 nK2 nK3)
La formule 1 correspondra a l'equation de la droite passant par le point (px, py, pz) et l'origine o=(0,0,0)
Pour les données de la formule 1:
"o11 = o12 = o13 = 0", car nous prendrons pour origine celle du referenciel principal, soit o=(0, 0, 0)
"nK1=px, nK2=py, nK3=pz", car le vecteur directeur inspiré des coordonnées du point quelconque de l'espace est parallele a la droite passant par ce point et l'origine "o". "(p1, p2, p3)" sera les coordonnées du point d'intersection sur la surface de dessin.
(2) (p1, p2, p3) = (o21, o22, o23) + a(nA1 nA2 nA3) + b(nB1 nB2 nB3)
La formule 2 correspondra à l'equation de la surface de dessin.
Pour les données de la formule 2:
"(o21, o22, o23)" sera l'origine (centre) de la surface de dessin. On determinera l'origine de cette surface en se fiant sur referenciel principal.
"(nA1 nA2 nA3)" sera les composantes du vecteur nA, qui doivent etre determiné préalablement des angles entrés en [B] et dont on a effectuer
le cos( sur chacun d'eux. "(nB1 nB2 nB3)" sera les composantes du vecteur nB, ... meme chose que pour nA.
Maintenant il faut joindre les 2 formules ensemble:
(p1, p2, p3) = (o11, o12, o13) + k(nK1 nK2 nK3) (1)
(p1, p2, p3) = (0, 0, 0) + k(nK1 nK2 nK3)
(p1, p2, p3) = k(nK1 nK2 nK3)
(p1, p2, p3) = (o21, o22, o23) + a(nA1 nA2 nA3) + b(nB1 nB2 nB3) (2)
k(nK1 nK2 nK3) = (o21, o22, o23) + a(nA1 nA2 nA3) + b(nB1 nB2 nB3)
Il faut maintenant separer les vecteurs avec les composantes des constantes (origine):
k(nK1 nK2 nK3) - a(nA1 nA2 nA3) - b(nB1 nB2 nB3) = (o21, o22, o23)
Il faut ensuite presenter cela sous le forme d'un system d'equation:
k(nK1) - a(nA1) - b(nB1) = o21
k(nK2) - a(nA2) - b(nB2) = o22
k(Nk3) - a(nA3) - b(nB3) = o23
Maintenant, vient la partie ou il faut impliquer un referenciel pour chaque fonction:
On se rappelle qu'au debut on a decidé d'utiliser directement les coordonnées du point p=(px, py, pz) pour former le vecteur directeur nK=(nK1 nK2 nK3) de la droite croisant la surface de dessin. Il se trouve que les coordonnees du point p sont aussi impliquées avec un autre referenciel qui a pour but de simplifier notre representation d'une fonction, permettre plus de facilite quand vient le temps de modifier l'orientation ou le positionnement de la fonction dans l'espace.
Il faudra utiliser la formule (3) pour interpreter mathematiquement le referenciel personalisé qui generera facilement les points p qui ensemble formeront une fonction:
(3) (p1, p2, p3) = (o31, o32, o33) + t(nD1 nD2 nD3) + e(nE1 nE2 nE3) + f(nF1 nF2 nF3)
"(o31, o32, o33)", sera les coordonnées de o servirons à positionner l'origine du referenciel personnalisé ainsi que la fonction qui s'y rattache. Le positionnement s'effectue en se fiant au referenciel principal.
"(nD1 nD2 nD3)", sera les composantes du vecteur nD, qui doivent etre determiné préalablement des angles entrés en [B] et dont on a effectuer le cos( sur chacun d'eux. Le vecteur nD jouera le role d'abscisse pour la fonction. Donc, par principe, le coefficient t sera la variable independante de la fonction.
"(nE1 nE2 nE3)", sera les composantes du vecteur nE, qui doivent etre determiné préalablement des angles entrés en [B] et dont on a effectuer le cos( sur chacun d'eux. Le vecteur nE jouera le role d'ordonnée pour la fonction. Donc, par principe, le coefficient e sera une fonction e(t) . ex: "(100-t^2)^(1/2)"
N.B. Il ne faut surtout pas oublier les "" lorsqu'on ecrit la fonction.
"(nF1 nF2 nF3)", sera les composantes du vecteur nE, qui doivent etre determiné préalablement des angles entrés en [B] et dont on a effectuer le cos( sur chacun d'eux. Le vecteur nF jouera le role de cote pour la fonction. Donc, par principe, le coefficient f sera une fonction f(t) . ex: "-(100-t^2)^(1/2)"
Comme le fut mentionné (2x) ^^, on a decidé d'utiliser directement les coordonnées du point p=(px, py, pz) pour former le vecteur directeur nK=(nK1 nK2 nK3) de la droite croisant la surface de dessin. Sachant que la creation de ce point p provient de la formule 3, on peut mettre
ensemble la formule 3 et le vecteur directeur nK:
(nK1 nK2 nK3) = (o31, o32, o33) + t(nD1 nD2 nD3) + e(nE1 nE2 nE3) +
f(nF1 nF2 nF3)
Mettons les en systeme d'equation:
nK1 = o31 + t(nD1) + e(nE1) + f(nF1)
nK2 = o32 + t(nD2) + e(nE2) + f(nF2)
nK3 = o33 + t(nD3) + e(nE3) + f(nF3)
Maintenant qu'on sait que les 3 formules sont liées, quoi de mieux que de mettre cette liaison en evidence:
k(nK1) - a(nA1) - b(nB1) = o21
k(nK2) - a(nA2) - b(nB2) = o22
k(nk3) - a(nA3) - b(nB3) = o23
et
nK1 = o31 + t(nD1) + e(nE1) + f(nF1)
nK2 = o32 + t(nD2) + e(nE2) + f(nF2)
nK3 = o33 + t(nD3) + e(nE3) + f(nF3)
donne
k(o31 + t(nD1) + e(nE1) + f(nF1)) - a(nA1) - b(nB1) = o21
k(o32 + t(nD2) + e(nE2) + f(nF2)) - a(nA2) - b(nB2) = o22
k(o33 + t(nD3) + e(nE3) + f(nF3)) - a(nA3) - b(nB3) = o23
*
***
****** PLINEAIR_1_2_3.bmp ****************

****
***
**
Maintenant qu'on a completement formuler notre systeme d'équation, il nous est plus qu'à le resoudre. Nous avons 3 equations et 6 variables. Etant donne que "t" est une variable independante et que e et f dependent de t, ca nous fait 2 variables de moins. Il nous reste une variable de trop par rapport au nombre d'equation. C'est normal. Quand viendra le temps d'afficher une fonction, il faut bien laisser une variable de libre. Cette variable libre sera "t". A chaque valeur de "t" on pourra trouver une valeur pour a et b en resolvant le systeme d'equation. Par deduction, on pourra trouver que la valeur de "a" correspondra au coordonnée en abscisse du dessin d'un des points de la fonction, et "b" au coordonnée en ordonné. L'écran de la calculatrice sera cette surface de dessin.
Maintenant qu'on parle de resolution de systeme d'equation, cela me rappelle qu'on a parlé de la "regle de Cramer" plus haut.
Si je suis grossierement la regle de Cramer, il faut tout d'abord creer une matrice à partir du systeme d'equation d'en haut:
k(o31 + t(nD1) + e(nE1) + f(nF1)) - a(nA1) - b(nB1) = o21
k(o32 + t(nD2) + e(nE2) + f(nF2)) - a(nA2) - b(nB2) = o22
k(o33 + t(nD3) + e(nE3) + f(nF3)) - a(nA3) - b(nB3) = o23
devient
[[o31 + t(nD1) + e(nE1) + f(nF1), -(nA1), -(nB1)]
[o32 + t(nD2) + e(nE2) + f(nF2), -(nA2), -(nB2)]
[o33 + t(nD3) + e(nE3) + f(nF3), -(nA3), -(nB3)]] = [M]
Ensuite, si on veut trouver la valeur de "a", il faur remplacer la colonne qui correspond au vecteur lié au coefficient "a" par un colonne constante.
[[o31 + t(nD1) + e(nE1) + f(nF1), -(nA1), -(nB1)]
[o32 + t(nD2) + e(nE2) + f(nF2), -(nA2), -(nB2)]
[o33 + t(nD3) + e(nE3) + f(nF3), -(nA3), -(nB3)]] = [M]
devient
[[o31 + t(nD1) + e(nE1) + f(nF1), o21, -(nB1)]
[o32 + t(nD2) + e(nE2) + f(nF2), o22, -(nB2)]
[o33 + t(nD3) + e(nE3) + f(nF3), o23, -(nB3)]] = [Ma]
Ensuite, si on veut trouver la valeur de "b", meme chose que pour "a", mais c'est la colonne qui correspond au vecteur lié au coefficient "b" qu'il faut remplacer.
[[o31 + t(nD1) + e(nE1) + f(nF1), -(nA1), -(nB1)]
[o32 + t(nD2) + e(nE2) + f(nF2), -(nA2), -(nB2)]
[o33 + t(nD3) + e(nE3) + f(nF3), -(nA3), -(nB3)]] = [M]
devient
[[o31 + t(nD1) + e(nE1) + f(nF1), -(nA1), o21]
[o32 + t(nD2) + e(nE2) + f(nF2), -(nA2), o22]
[o33 + t(nD3) + e(nE3) + f(nF3), -(nA3), o23]] = [Mb]
Maintenant qu'on a nos matrices, il ne reste plus qu'à appliquer le reste de la regle de cramer:
det([Ma]) / det([M]) = a
det([Mb]) / det([M]) = b
- Code: Select all
Lbl 4C
ClrHome
"det(expr(Str1)+[D])/det(expr(Str1))"üXÔ
"det(expr(Str1)+[E])/det(expr(Str1))"üYÔ
"det(expr(Str2)+[D])/det(expr(Str2))"üX‚Ô
"det(expr(Str2)+[E])/det(expr(Str2))"üY‚Ô
"det(expr(Str3)+[D])/det(expr(Str3))"üXƒÔ
"det(expr(Str3)+[E])/det(expr(Str3))"üYƒÔ
"det(expr(Str4)+[D])/det(expr(Str4))"üX„Ô
"det(expr(Str4)+[E])/det(expr(Str4))"üY„Ô
"det(expr(Str5)+[D])/det(expr(Str5))"üX…Ô
"det(expr(Str5)+[E])/det(expr(Str5))"üY…Ô
// Ici, on entre les formules det([Ma]) / det([M]) = a , det([Mb]) / det([M]) = b, vues en théorie dans les fonctions parametriques de la calculatrice. Pour changer les matrices [M] ci-dessous, il faut utiliser la matrice [D] pour les rendre en [Ma] et [E] pour les rendre en [Mb]
"[[[A](1+D,1)+T[C](3D,1)+Y[C](3D+1,1)+Y‚[C](3D+2,1),ú[C](1,1),ú[C](2,1)][[A](1+D,2)+T[C](3D,2)+Y[C](3D+1,2)+Y‚[C](3D+2,2),ú[C](1,2),ú[C](2,2)][[A](1+D,3)+T[C](3D,3)+Y[C](3D+1,3)+Y‚[C](3D+2,3),ú[C](1,3),ú[C](2,3)]]"üStr1
"[[[A](1+E,1)+T[C](3E,1)+Yƒ[C](3E+1,1)+Y„[C](3E+2,1),ú[C](1,1),ú[C](2,1)][[A](1+E,2)+T[C](3E,2)+Yƒ[C](3E+1,2)+Y„[C](3E+2,2),ú[C](1,2),ú[C](2,2)][[A](1+E,3)+T[C](3E,3)+Yƒ[C](3E+1,3)+Y„[C](3E+2,3),ú[C](1,3),ú[C](2,3)]]"üStr2
"[[[A](1+F,1)+T[C](3F,1)+Y…[C](3F+1,1)+Y†[C](3F+2,1),ú[C](1,1),ú[C](2,1)][[A](1+F,2)+T[C](3F,2)+Y…[C](3F+1,2)+Y†[C](3F+2,2),ú[C](1,2),ú[C](2,2)][[A](1+F,3)+T[C](3F,3)+Y…[C](3F+1,3)+Y†[C](3F+2,3),ú[C](1,3),ú[C](2,3)]]"üStr3
"[[[A](1+G,1)+T[C](3G,1)+Y‡[C](3G+1,1)+Yˆ[C](3G+2,1),ú[C](1,1),ú[C](2,1)][[A](1+G,2)+T[C](3G,2)+Y‡[C](3G+1,2)+Yˆ[C](3G+2,2),ú[C](1,2),ú[C](2,2)][[A](1+G,3)+T[C](3G,3)+Y‡[C](3G+1,3)+Yˆ[C](3G+2,3),ú[C](1,3),ú[C](2,3)]]"üStr4
"[[[A](1+H,1)+T[C](3H,1)+Y‰[C](3H+1,1)+Y€[C](3H+2,1),ú[C](1,1),ú[C](2,1)][[A](1+H,2)+T[C](3H,2)+Y‰[C](3H+1,2)+Y€[C](3H+2,2),ú[C](1,2),ú[C](2,2)][[A](1+H,3)+T[C](3H,3)+Y‰[C](3H+1,3)+Y€[C](3H+2,3),ú[C](1,3),ú[C](2,3)]]"üStr5
// Nous savons que nous avons à notre disposition 10 variables Y dédiées aux fonctions. Nous savons aussi que je dois entrer 2 fonctions, une pour les ordonnées et une pour la cote pour chaque fonction 3D. Cela fait que si j'utilise 2 "y" pour chaque fonction, je pourrais faire maximum 5 fonctions 3D. Je dedirai donc pour chacune des fonctions 3D un "strig" qui contient la matrice [M] vue en theorie.
// Dans les 5 strings, il y a des variables de D à H. Elles servent à stocker le numéro du referenciel voulu pour la fonction. il faut se rapporter à la matrice [A] en dessin en haut et regarder l'encadré brun, de meme que pour la matrice [C]. C'est de là que viennent les règle 1+n, 3n, 3n+1, 3n+2 etc.
Goto 4
Quand vous voudrez faire "trace", il faut enlever tout les "det(expr(StrX)+[D])/det(expr(StrX))" "det(expr(StrX)+[E])/det(expr(StrX))" dont vous n'aurez pas besoin. Il faut aussi faire "MODE" et changer "Func" par "Par"
-
Lem
Niveau 4: MC (Membre Confirmé)- Posts: 17
- Joined: 17 Jun 2007, 00:00
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: proletariat
Re: Programme de dessin de fonction avec perspective lineair
1.4 "FONCT MATR" abrégé de: Usage de matrice pour stocker coordonnées des points composants les fonctions.
1.4.1 "ENT FONCT" abrégé de: Entrer Fonction.
1.4.2 "CALC" abrégé de : Calculer les coordonnées sur la surface de dessin de chaque point.
Pour afficher les fonctions, il faut transferer les colonnes en liste. Pour faire cela il faut faire "2nd", "x^-1", "-", "8", "2nd", "x^-1", "6". Résultat : MatrList([F] A partir d'ici il y a beaucoup de possibilité. On peut faire MatrList([F],10,L1); MatrList([F],11,L2) pour que la colonne 10 de [F] soit transferer dans la liste 1, et la colonne 11 de [F] dans la liste 2. Ensuite, se mettre sur Func dans "Mode" et utiliser un plot pour afficher la fonction.
1.4.1 "ENT FONCT" abrégé de: Entrer Fonction.
- Code: Select all
Lbl 5A
ClrHome
Disp "[F]=MATR VAL","FONCT1 C(1,2,3)","FONCT2 C(4,5,6)","FONCT3 C(7,8,9)","Ans1 C(10,11)","Ans2 C(12,13)","Ans3 C(14,15)"
//"[F]=MATR VAL": [F] sera la matrice dans laquelle se trouvera les coordonnées de 3 fonction dans l'espace et les coordonnées de leur dessin sur la surface de dessin.
//"FONCT1 C(1,2,3)": les coordonnées en abscisse de la fonction 1 seront dans la colonne 1 de [F], la colonne 2 pour les ordonnées de la fonction 1, la colonne 3 pour les ordonnées de la fonction 1.
//"FONCT2 C(4,5,6)": les coordonnées en abscisse de la fonction 2 seront dans la colonne 4 de [F], la colonne 5 pour les ordonnées de la fonction 2, la colonne 6 pour les ordonnées de la fonction 2.
//"FONCT3 C(7,8,9)": les coordonnées en abscisse de la fonction 3 seront dans la colonne 7 de [F], la colonne 8 pour les ordonnées de la fonction 3, la colonne 9 pour les ordonnées de la fonction 3.
//"Ans1 C(10,11)": les coordonnées en abscisse sur la surface de dessin de la fonction 1 seront dans la colonne 10, la colonne 11 pour les ordonnées de la fonctions 1
//"Ans2 C(12,13)": les coordonnées en abscisse sur la surface de dessin de la fonction 2 seront dans la colonne 12, la colonne 13 pour les ordonnées de la fonctions 2
//"Ans3 C(14,15)": les coordonnées en abscisse sur la surface de dessin de la fonction 3 seront dans la colonne 14, la colonne 15 pour les ordonnées de la fonctions 3
// Nous avons droit à 3 fonctions, parce qu'il y a 3 plot disponible dans la calculatrice.
Pause
Input "REF F1 (I)",I
Input "REF F2 (J)",J
Input "REF F3 (K)",K
//Le referenciel qu'utilisera chaque fonction.
Disp "COMPLETER FUNCT.","DANS PLINFUNC"
//Abrégé de: Il faut programmer les fonctions en editant le programme PLINFUNC.
// Oui, oui, il faut programmer. J'ai decidé qu'il était bien de procéder de cette facon, vu qu'il y a tout une panopli possibilité qui s'ouvre a nous ainsi. On peut poser des conditions, des intervalles et bien plus avec nos fonctions.
Pause
Goto 5
1.4.2 "CALC" abrégé de : Calculer les coordonnées sur la surface de dessin de chaque point.
- Code: Select all
Lbl 5B
ClrHome
"[[[A](I+1,1)+[F](L,1)[C](3I,1)+[F](L,2)[C](3I+1,1)+[F](L,3)[C](3I+2,1),ú[C](1,1),ú[C](2,1)][[A](I+1,2)+[F](L,1)[C](3I,2)+[F](L,2)[C](3I+1,2)+[F](L,3)[C](3I+2,2),ú[C](1,2),ú[C](2,2)][[A](I+1,3)+[F](L,1)[C](3I,3)+[F](L,2)[C](3I+1,3)+[F](L,3)[C](3I+2,3),ú[C](1,3),ú[C](2,3)]]"üStr6
"[[[A](J+1,1)+[F](M,4)[C](3J,1)+[F](M,5)[C](3J+1,1)+[F](M,6)[C](3J+2,1),ú[C](1,1),ú[C](2,1)][[A](J+1,2)+[F](M,4)[C](3J,2)+[F](M,5)[C](3J+1,2)+[F](M,6)[C](3J+2,2),ú[C](1,2),ú[C](2,2)][[A](J+1,3)+[F](M,4)[C](3J,3)+[F](M,5)[C](3J+1,3)+[F](M,6)[C](3J+2,3),ú[C](1,3),ú[C](2,3)]]"üStr7
"[[[A](K+1,1)+[F](N,7)[C](3K,1)+[F](N,8)[C](3K+1,1)+[F](N,9)[C](3K+2,1),ú[C](1,1),ú[C](2,1)][[A](K+1,2)+[F](N,7)[C](3K,2)+[F](N,8)[C](3K+1,2)+[F](N,9)[C](3K+2,2),ú[C](1,2),ú[C](2,2)][[A](K+1,3)+[F](N,7)[C](3K,3)+[F](N,8)[C](3K+1,3)+[F](N,9)[C](3K+2,3),ú[C](1,3),ú[C](2,3)]]"üStr8
// Formation de matrices [M] (theorie) comme pour "FONCT NORM" mais, ici, on remplace les "Y" par les colonnes appropriées de la matrice [F].
prgmPLINFUNC
// Programme auxiliaire servant à générer les coordonnées des points de l'espace composant les 3 fonctions
// Expliqué à la fin
LüO
//Nombre maximum de valeurs dédiées au fonction 1 stocké dans O
MüP
//Nombre maximum de valeurs dédiées au fonction 2 stocké dans P
NüQ
//Nombre maximum de valeurs dédiées au fonction 3 stocké dans Q
For(L,1,O)
// "L" redevient égale à 1 au debut. La calculatrice devra effectuer la regle de Cramer et recommencer avec un "L" de valeur 2, jusqu'à ce que "L" atteint la valeur "O"
det(expr(Str6)+[D])/det(expr(Str6))ü[F](L,10)
det(expr(Str6)+[E])/det(expr(Str6))ü[F](L,11)
End
For(M,1,P)
// "M" redevient égale à 1 au debut. La calculatrice devra effectuer la regle de Cramer et recommencer avec un "M" de valeur 2, jusqu'à ce que "M" atteint la valeur "P"
det(expr(Str7)+[D])/det(expr(Str7))ü[F](M,12)
det(expr(Str7)+[E])/det(expr(Str7))ü[F](M,13)
End
For(N,1,Q)
// "N" redevient égale à 1 au debut. La calculatrice devra effectuer la regle de Cramer et recommencer avec un "N" de valeur 2, jusqu'à ce que "N" atteint la valeur "Q"
det(expr(Str8)+[D])/det(expr(Str8))ü[F](N,14)
det(expr(Str8)+[E])/det(expr(Str8))ü[F](N,15)
End
{T-1,15}üdim([F])
// "T" est la valeur maximale de lignes necessaires pour [F]. "T" doit etre entier et entre 1 et 99. "T-1" car meme si on a 99 lignes de disponible, le programme ne peut dédier que "T-1" lignes pour les coordonnées. Pour éviter que la derniere ligne détruisent l'esthétisme du dessin à la fin, il faut l'élininer en réduisant de 1 le nombre de ligne disponible.
Goto 5
Pour afficher les fonctions, il faut transferer les colonnes en liste. Pour faire cela il faut faire "2nd", "x^-1", "-", "8", "2nd", "x^-1", "6". Résultat : MatrList([F] A partir d'ici il y a beaucoup de possibilité. On peut faire MatrList([F],10,L1); MatrList([F],11,L2) pour que la colonne 10 de [F] soit transferer dans la liste 1, et la colonne 11 de [F] dans la liste 2. Ensuite, se mettre sur Func dans "Mode" et utiliser un plot pour afficher la fonction.
-
Lem
Niveau 4: MC (Membre Confirmé)- Posts: 17
- Joined: 17 Jun 2007, 00:00
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: proletariat
Re: Programme de dessin de fonction avec perspective lineair
1.5 "PT PAR PT" abrégé de: Point par point. Des fois, nos besoins ne sont pas aussi grandes et ne necessitent pas autant de complication pour les combler.
1.5.1 "DONNEES" abrégé de: données
Ici, sorté du programme ("ON","ENTER"). Faite "2nd", "x^-1","7" et entrez directement les coordonnées des points de l'espace dans les colonne 1,2,3.
1.5.2 "CALC" abrégé de: Calculer les coordonnées sur la surface de dessin de chaque point.
Pour afficher les points, il faut transferer les colonnes en liste. Pour faire cela il faut faire "2nd", "x^-1", "-", "8", "2nd", "x^-1", "6".
Résultat : MatrList([G]
A partir d'ici, on peut faire MatrList([G],4,L1); MatrList([G],5,L2) pour que la colonne 4 de [G] soit transferer dans la liste 1, et la colonne 5 de [G] dans la liste 2. Ensuite, se mettre sur Func dans "Mode" et utiliser un plot pour afficher la fonction.
1.5.1 "DONNEES" abrégé de: données
- Code: Select all
Lbl 6A
ClrHome
Input "NB DE PTS (R)",R
{R,5}üdim([G])
// Il faut donner le nombre de point necessaire pour definir la dimension de la matrice donnée, [G]
Disp "[G]=MATR VAL","PT(REEL)","- C(1,2,3)","PT(PLIN)","- C(4,5)"
// "[G]=MATR VAL": [G] est la matrice donnée
// "PT(REEL)": Les points de l'espace
// "- C(1,2,3)": Ils sont stockés dans les colonne 1,2,3; 1 est la colonne des abscisses, 2 est la colonne des ordonnées, 3 est la colonne cotes.
// "PT(PLIN)": Les images des points de l'espace sur la surface de dessin.
// "- C(4,5)": Ils sont stockés dans les colonne 4,5; 4 est la colonne des abscisses, 5 est la colonne des ordonnées.
Pause
Goto 6
Ici, sorté du programme ("ON","ENTER"). Faite "2nd", "x^-1","7" et entrez directement les coordonnées des points de l'espace dans les colonne 1,2,3.
1.5.2 "CALC" abrégé de: Calculer les coordonnées sur la surface de dessin de chaque point.
- Code: Select all
ClrHome
For(S,1,R)
// "S" est égale à 1 au debut. La calculatrice devra effectuer la regle de Cramer et recommencer avec un "S" de valeur 2, jusqu'à ce que "S" atteint la valeur "R"
[[[G](S,1),ú[C](1,1),ú[C](2,1)][[G](S,2),ú[C](1,2),ú[C](2,2)][[G](S,3),ú[C](1,3),ú[C](2,3)]]ü[H]
// Formation de matrices [M] (theorie) comme pour "FONCT NORM", mais sans la 3e formule, seulement inspiré de la formule 1 et 2.
// k(nK1) - a(nA1) - b(nB1) = o21
// k(nK2) - a(nA2) - b(nB2) = o22
// k(nk3) - a(nA3) - b(nB3) = o23
// où nK1, nK2, Nk3 seront les coordonnées des points de l'espace.
// nK1=[G](S,1), nK2=[G](S,2), nK3=[G](S,3)
det([H]+[D])/det([H])ü[G](S,4)
det([H]+[E])/det([H])ü[G](S,5)
End
Goto 6
Pour afficher les points, il faut transferer les colonnes en liste. Pour faire cela il faut faire "2nd", "x^-1", "-", "8", "2nd", "x^-1", "6".
Résultat : MatrList([G]
A partir d'ici, on peut faire MatrList([G],4,L1); MatrList([G],5,L2) pour que la colonne 4 de [G] soit transferer dans la liste 1, et la colonne 5 de [G] dans la liste 2. Ensuite, se mettre sur Func dans "Mode" et utiliser un plot pour afficher la fonction.
-
Lem
Niveau 4: MC (Membre Confirmé)- Posts: 17
- Joined: 17 Jun 2007, 00:00
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: proletariat
Re: Programme de dessin de fonction avec perspective lineair
Exemple de PLINFUNC
PLINFUNC est tres malleable, l'exemple qui suit n'est qu'une petite portion d'une multitude de possibilités.
Les valeurs de "L", "M", "N" doivent toujours varier entre 1 et 98.
Fonction 1
Fonction 2
Fonction 3
Pour que le programme auxiliaire PLINFUNC correctement de concert avec PLINEAIR, la valeur maximale de For(L,1,98) ne doit pas depasser 98 et ne doit pas etre inferieur a 1. La variable "L" est dédié à la repetition For( de la fonction 1. La variable "M" est dédié à la repetition For( de la fonction 2. La variable "N" est dédié à la repetition For( de la fonction 3. La colonne 1 est dédiée à l'abscisse de la fonction 1, la colonne 2, à l'ordonnée, la colonne 3, à la cote. La colonne 4 est dédiée à l'abscisse de la fonction 2, la colonne 5, à l'ordonnée, la colonne 6, à la cote. La colonne 7 est dédiée à l'abscisse de la fonction 3, la colonne 8, à l'ordonnée, la colonne 9, à la cote. La colonne 10 est dédiée à l'abscisse sur la surface de dessin pour la fonction 1, la colonne 11, à l'ordonnée. La colonne 12 est dédiée à l'abscisse sur la surface de dessin pour la fonction 2, la colonne 13, à l'ordonnée. La colonne 14 est dédiée à l'abscisse sur la surface de dessin pour la fonction 3, la colonne 15, à l'ordonnée.
Voila comment fonctionne mon programme.
PLINFUNC est tres malleable, l'exemple qui suit n'est qu'une petite portion d'une multitude de possibilités.
- Code: Select all
99üT
{T,15}üdim([F])
For(L,1,98)
L/2ü[F](L,1)
ú10cos(36[F](L,1))ü[F](L,2)
If int([F](L,1)/5)-2int([F](L,1)/10)=0:Then
ð(100-[F](L,2)Ü)ü[F](L,3)
End
If int([F](L,1)/5)-2int([F](L,1)/10)=1:Then
úð(100-[F](L,2)Ü)ü[F](L,3)
End
End
For(M,1,98)
M/2ü[F](M,4)
ú10cos(36[F](M,4))ü[F](M,5)
If int([F](M,4)/5)-2int([F](M,4)/10)=0:Then
ð(100-[F](M,5)Ü)ü[F](M,6)
End
If int([F](M,4)/5)-2int([F](M,4)/10)=1:Then
úð(100-[F](M,5)Ü)ü[F](M,6)
End
End
For(N,1,98)
N/2ü[F](N,7)
ú10cos(36[F](N,7))ü[F](N,8)
If int([F](N,7)/5)-2int([F](N,7)/10)=0:Then
ð(100-[F](N,8)Ü)ü[F](N,9)
End
If int([F](N,7)/5)-2int([F](N,7)/10)=1:Then
úð(100-[F](N,8)Ü)ü[F](N,9)
End
End
- Code: Select all
PLINFUNC
99üT
// Le nombre maximal de lignes necessaires. Toujours en mettre 1 de plus que necessaire etant donne que le programme ne peut remplir que T-1 lignes. Une matrice peut accueillir maximum 99 lignes et 99 colonnes.
{T,15}üdim([F])
// Definition de la taille de la matrice donnees.
Les valeurs de "L", "M", "N" doivent toujours varier entre 1 et 98.
Fonction 1
- Code: Select all
For(L,1,98)
// "L" est égale à 1 au debut.
L/2ü[F](L,1)
ú10cos(36[F](L,1))ü[F](L,2)
If int([F](L,1)/5)-2int([F](L,1)/10)=0:Then
ð(100-[F](L,2)Ü)ü[F](L,3)
End
If int([F](L,1)/5)-2int([F](L,1)/10)=1:Then
úð(100-[F](L,2)Ü)ü[F](L,3)
End
End
// Pour chaque valeur de L, la calculatrice devra diviser cette valeur par 2 et la stocker dans [F](L,1), ú10cos(36[F](L,1)) et stocker cette valeur dans [F](L,2). Si int([F](L,1)/5)-2int([F](L,1)/10)=0, alors l'opération à effectuer avec chaque [F](L,2) sera: ð(100-[F](L,2)Ü) et sera stocker dans [F](L,3); si int([F](L,1)/5)-2int([F](L,1)/10)=1, alors l'opération à effectuer avec chaque [F](L,2) sera: úð(100-[F](L,2)Ü) et sera stocker dans [F](L,3)
//Ici il y a condition, ce dont on ne peut faire normalement avec les Y.
Fonction 2
- Code: Select all
For(M,1,98)
M/2ü[F](M,4)
ú10cos(36[F](M,4))ü[F](M,5)
If int([F](M,4)/5)-2int([F](M,4)/10)=0:Then
ð(100-[F](M,5)Ü)ü[F](M,6)
End
If int([F](M,4)/5)-2int([F](M,4)/10)=1:Then
úð(100-[F](M,5)Ü)ü[F](M,6)
End
End
Fonction 3
- Code: Select all
For(N,1,98)
N/2ü[F](N,7)
ú10cos(36[F](N,7))ü[F](N,8)
If int([F](N,7)/5)-2int([F](N,7)/10)=0:Then
ð(100-[F](N,8)Ü)ü[F](N,9)
End
If int([F](N,7)/5)-2int([F](N,7)/10)=1:Then
úð(100-[F](N,8)Ü)ü[F](N,9)
End
End
Pour que le programme auxiliaire PLINFUNC correctement de concert avec PLINEAIR, la valeur maximale de For(L,1,98) ne doit pas depasser 98 et ne doit pas etre inferieur a 1. La variable "L" est dédié à la repetition For( de la fonction 1. La variable "M" est dédié à la repetition For( de la fonction 2. La variable "N" est dédié à la repetition For( de la fonction 3. La colonne 1 est dédiée à l'abscisse de la fonction 1, la colonne 2, à l'ordonnée, la colonne 3, à la cote. La colonne 4 est dédiée à l'abscisse de la fonction 2, la colonne 5, à l'ordonnée, la colonne 6, à la cote. La colonne 7 est dédiée à l'abscisse de la fonction 3, la colonne 8, à l'ordonnée, la colonne 9, à la cote. La colonne 10 est dédiée à l'abscisse sur la surface de dessin pour la fonction 1, la colonne 11, à l'ordonnée. La colonne 12 est dédiée à l'abscisse sur la surface de dessin pour la fonction 2, la colonne 13, à l'ordonnée. La colonne 14 est dédiée à l'abscisse sur la surface de dessin pour la fonction 3, la colonne 15, à l'ordonnée.
Voila comment fonctionne mon programme.
-
Lem
Niveau 4: MC (Membre Confirmé)- Posts: 17
- Joined: 17 Jun 2007, 00:00
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: proletariat
Re: Programme de dessin de fonction avec perspective lineair
Ouf j'ai faille manquer de souffle
La Problematique
Le programme met un temps fou à effectuer les calculs et prend des tonnes de memoire lorsqu'il a fini de generer la matrice [F]. Si vous avez des suggestions pour ameliorer mon programme, je suis tout ouie.

La Problematique
Le programme met un temps fou à effectuer les calculs et prend des tonnes de memoire lorsqu'il a fini de generer la matrice [F]. Si vous avez des suggestions pour ameliorer mon programme, je suis tout ouie.
-
Lem
Niveau 4: MC (Membre Confirmé)- Posts: 17
- Joined: 17 Jun 2007, 00:00
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: proletariat
Re: Programme de dessin de fonction avec perspective lineair
déja faut lire .....
tu peux le donner en 8xp stp qu'on voit tous ce que ça donne ^^ ?
tu peux le donner en 8xp stp qu'on voit tous ce que ça donne ^^ ?
MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)My calculator programs
Mes programmes pour calculatrices
-
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)- Posts: 14840
- Images: 1133
- Joined: 01 Jun 2007, 00:00
- Location: France
- Gender:
- Calculator(s):→ MyCalcs profile
- Twitter: adriweb
- GitHub: adriweb
Re: Programme de dessin de fonction avec perspective lineair
Il est maintenant disponible ici
Mon program n'est pas du tout independant des fonctions de base de la calculatrice. Quand on doit modifier des matrices pré-dimensionner par le program, il est mieux de passer par "2nd","x^-1". Quand on n'a pas besoin d'entrer certaines données (ex.: Je n'ai pas besoin d'une 5e fonction..), on doit faire "2nd","mode" pour quitter une entrée de données et "ON","Enter" pour quitter un menu, interrompre une procedure de calcule ou de traçage de graphique etc. Quand on a les coordonnées stocker dans la matrice [F], il faut aller dans "2nd","x^-1",(MATH),"8" pour placer la matrice dans une liste et le faire tracer avec un plot. Quand, on veut modifier les fonctions dans les Y-VARS, il est possible et meme recommandé de passer dans "MODE" et jouer entre (func)/(par) puis d'aller dans "Y=" .
C'est tres compliquer a comprendre comme cela l'est pour expliquer, mais je suis loin du bout du rouleau alors c'est bon
Mon program n'est pas du tout independant des fonctions de base de la calculatrice. Quand on doit modifier des matrices pré-dimensionner par le program, il est mieux de passer par "2nd","x^-1". Quand on n'a pas besoin d'entrer certaines données (ex.: Je n'ai pas besoin d'une 5e fonction..), on doit faire "2nd","mode" pour quitter une entrée de données et "ON","Enter" pour quitter un menu, interrompre une procedure de calcule ou de traçage de graphique etc. Quand on a les coordonnées stocker dans la matrice [F], il faut aller dans "2nd","x^-1",(MATH),"8" pour placer la matrice dans une liste et le faire tracer avec un plot. Quand, on veut modifier les fonctions dans les Y-VARS, il est possible et meme recommandé de passer dans "MODE" et jouer entre (func)/(par) puis d'aller dans "Y=" .
C'est tres compliquer a comprendre comme cela l'est pour expliquer, mais je suis loin du bout du rouleau alors c'est bon

-
Lem
Niveau 4: MC (Membre Confirmé)- Posts: 17
- Joined: 17 Jun 2007, 00:00
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: proletariat
37 posts
• Page 1 of 4 • 1, 2, 3, 4
Who is online
Users browsing this forum: ClaudeBot [spider] and 9 guests