#canvas{
width:500px;
height:500px;
background-color:#eeeeee;
}
function plotVect(A,B,ctx){
ctx.beginPath();
ctx.strokeStyle='000000';
ctx.moveTo(A.x, A.y);
ctx.lineTo(B.x, B.y);
ctx.closePath();
ctx.stroke();
}
function plotPoint(A,ctx){
ctx.fillStyle = '#FF1C0A';
ctx.strokeStyle='000000';
ctx.beginPath();
ctx.arc(A.x, A.y, 2, 0, Math.PI*2, true);
ctx.closePath();
ctx.fill();
ctx.stroke();
}
function Point(ax,ay){
this.x = ax;
this.y = ay;
}
function solve(F,D,C,A,O){
var a = 0;
var r1 = D.x - F.x,
r2 = D.y - F.y,
s1 = A.x - C.x,
s2 = A.y - C.y;
var bl = s2*O.x - r2*O.x - r1*C.y - F.x*s2,
al = -r1*s2,
cl = O.x*C.y - O.x*F.y - F.x*C.y;
var br = s1*O.y - O.y*r1 - r2*C.x - F.y*s1,
ar = -r2*s1,
cr = O.y*C.x-O.y*F.x - F.y*C.x;
var bs = bl - br;
as = al - ar;
cs = cl - cr;
var sqrtDelta = Math.sqrt(bs*bs-4*as*cs);
return [(-bs - sqrtDelta)/(2*as), (-bs + sqrtDelta)/(2*as)];
}
window.onload=function(){
var canvas = document.getElementById('canvas');
var ctx = canvas.getContext('2d');
var D = new Point(20,2),
F = new Point(10,100),
C = new Point(100,100),
A = new Point(60,3),
O = new Point(40,50);
plotVect(F,D, ctx);
plotVect(C,A, ctx);
plotPoint(F, ctx);
plotPoint(D, ctx);
plotPoint(C, ctx);
plotPoint(A, ctx);
plotPoint(O, ctx);
var a = solve(F,D,C,A,O);
var as = a[0];
if(a[1]>0 && a[1]
var D = new Point(20,2),
F = new Point(10,100),
C = new Point(100,100),
A = new Point(60,3),
O = new Point(40,50);Dlzlogic a écrit:Bonjour SphinxDeLOblast,
Là, j'ai rien compris.
Il n'est pas possible de calculer indépendamment CB er EF, puisque justement ces deux dimensions sont liées par le fait que EOB sont alignés.
SphinxDeLOblast a écrit:Salut Dlzlogic
Utilise ce théorême en prenant la base que j'indique il n'y a rien à comprendre en fait
Certes il est vrai qu'ensuite tu n'est pas obligé d'utiliser la même méthode tu n'a plus qu'à utiliser l'inconnue k que tu as préalablement déterminée
fatal_error a écrit:ben c'est un peu ce que j'ai fait...
voir la methode solve, qui n'est que limplem de la resolution de leq [ xO - xE][yB - yE] = [yO - yE][xB - xE] d'inconnue a.
Dlzlogic a écrit:Bravo, mais pour l'application numérique, je préfère encore l'itération par dichotomie.
Les ordinateurs n'aiment pas beaucoup calculer des racines carrées tant que ce n'est pas indispensable.
SphinxDeLOblast a écrit:mais c'etait oublier Heron (Ier siecle)
et là l'ordinateur et les machines ne servent à rien :ptdr:
SphinxDeLOblast a écrit:Cette fois-ci ça y est je l'ai (et encore une fois méa culpa pour les bêtises que j'ai précédemment dites)
Pas besoin d'utiliser des vecteurs[...]
Le systeme d'équation obtenu
Permet de résoudre l'inconnue k et les deux distances d(OB) et d(OE) par la même occasion et au final obtenir ce que l'on recherche en appliquant:
d(BC) = k.d(AC)
d(AB) = (1-k).d(AC)
d(EF) = k.d(DF)
d(ED) = (1-k).d(DF)
Doraki a écrit:Non tu as 6 équations et 7 inconnues (k,h1,h2,h1',h2',d(OB),d(OE)).
Ton système permet par exemple de calculer d(OB) et d(OE) en fonction de k, mais il ne te donne pas ce que tu attends.
D'autre part tu n'as jamais utilisé le fait que E,O et B devaient être alignés donc ta démarche ne peut pas être complète.
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 24 invités
Tu pars déja ?
Identification
Pas encore inscrit ?
Ou identifiez-vous :