Eingabe der Quadrik

quadrik:3*x^2+3*y^2+10*x*y-12*sqrt(2)*x-4*sqrt(2)*y=8;

Matrixform der quadratischen Form
X.A.transpose(X) + 2b.transpose(X)+c

A:matrix([3,5],[5,3]);

b:matrix([-6*sqrt(2),-2*sqrt(2)]);

X:matrix([x,y]);

c:-8;

Einsetzen

expand(X.A.transpose(X)+2*b.transpose(X)+c);

load("eigen")$

Bestimmung der Orthonormalbasis
Berechnung der normierten Eigenvektoren

uniteigenvectors(A);

Bestimmung der Basis der Drehung

U:1/sqrt(2)*matrix([1,-1],[1,1]);

Drehung durchführen

quadrik1:expand(
X.transpose(U).A.U.transpose(X)+2*b.U.transpose(X)+c
);

Quadratisch ergänzen - Translation

8*(x-1)^2-2*(y-2)^2-8;

quadrik2:8*x^2-2*y^2=8;

Es handelt sich um eine Hyperbel!
Bestimmung der Hauptachsen

expand(quadrik2/8);

a = 1, b = 2

Impliziter Plot
ursprünglich - gedreht - verschoben

load("implicit_plot")$

implicit_plot([quadrik,quadrik1,quadrik2],[x,-5,5],[y,-5,5]);