programme principal
- Code: Tout sélectionner
« "Prod scalaire" {
{ "p.s.coordonee" 'sp1' }
{ "p.s.norme + somme" 'sp2' }
{ p.s.norme + COS 'sp3' } } 1 CHOOSE
IF
THEN EVAL CLLCD 1
DISP 1 FREEZE
END
»
sp1
- Code: Tout sélectionner
« "prod scalaire" { {
"xv =" "Coord v1" 0
} { "yv ="
"Coord v1" 0 } {
"zv =" "coord v1" 0
} { "xt ="
"Coord v2" 0 } {
"yt =" "Coord v2" 0
} { "zt ="
"Coord v2" 0 } } { 3
} { 0 0 0 0 0 0 } DUP
INFORM
IF
THEN 0 2 ROLL OBJ->
DROP -> s xv yv zv xt
yt zt
« xv xt * yv yt *
+ zv zt * + R->I 's'
STO
CASE s 0 ==
THEN
"PERPENDICULAIRE
u.v ="
s +
END s 0 ‹
THEN
"u.v = xx'+yy'+zz':
="
s +
END
END
»
»
sp2
- Code: Tout sélectionner
« "prod scalaire"
{{ "u" "norme de u" 0}
{ "v" "norme de v" 0 }
{ "w" "u+v" 0 }
{1} {0 0 0} DUP
INFORM
IF
THEN 0 2 ROLL OBJ->
DROP -> e u v w
« w 2 ^ u 2 ^ v 2 ^ + - 2 / 'e' STO
CASE e 0 ==
THEN
"PERPENDICULAIRE
u.v ="
e +
END e 0 ‹
THEN
"u.v = 1/2 [||u+v||² - (||u||²+||v||²)] :
u.v ="
e +
END
END
»
»
sp3
- Code: Tout sélectionner
« prod scalaire
{ { "u" "norme de u" 0 }
{"v" "norme de v" 0 }
{ "w" "angle (u;v)" 0 }
{1} { 0 0 0 }
DUP
INFORM
IF
THEN 0 2 ROLL OBJ->
DROP -> e u v w
« u v w COS * * 'e' STO
CASE e 0 ==
THEN
"PERPENDICULAIRE
u.v ="
e +
END e 0 ‹
THEN
"u.v = ||u||*||v||*cos(w) :
u.v ="
e +
END
END
»
»