{{ 'ml-label-loading-course' | message }}
{{ toc.name }}
{{ toc.signature }}
{{ tocHeader }} {{ 'ml-btn-view-details' | message }}
{{ tocSubheader }}
{{ 'ml-toc-proceed-mlc' | message }}
{{ 'ml-toc-proceed-tbs' | message }}
Lektion
Övningar
Rekommenderade
Tester
Ett fel uppstod, försök igen senare!
Kapitel {{ article.chapter.number }}
{{ article.number }}. 

{{ article.displayTitle }}

{{ article.intro.summary }}
{{ 'ml-btn-show-less' | message }} {{ 'ml-btn-show-more' | message }} expand_more
{{ 'ml-heading-abilities-covered' | message }}
{{ ability.description }} {{ ability.displayTitle }}
{{ 'ml-heading-lesson-settings' | message }}
{{ 'ml-lesson-number-slides' | message : article.intro.bblockCount}}
{{ 'ml-lesson-number-exercises' | message : article.intro.exerciseCount}}
{{ 'ml-lesson-time-estimation' | message }}
Estellecapor1@gmail.com (Diskussion | bidrag)
(Den här versionen är märkt för översättning)
Jonas (Diskussion | bidrag)
Rad 5: Rad 5:
  
 
<jsxgpre id="symmetrilinje345">
 
<jsxgpre id="symmetrilinje345">
//Skapa koordinatsystemet
+
/* Skapa koordinatsystemet */
  
//Dimensioner för det utritade koordinatsystemet
+
/* Dimensioner för det utritade koordinatsystemet */
 
var xLeft = -11;
 
var xLeft = -11;
 
var xRight = 11;
 
var xRight = 11;
Rad 17: Rad 17:
 
var yax = b.yaxis(25,0);
 
var yax = b.yaxis(25,0);
  
//Kontrollvariabler så att man inte kan göra saker medan animationen körs
+
/* Kontrollvariabler så att man inte kan göra saker medan animationen körs */
 
var isAnimating = false;
 
var isAnimating = false;
 
var hasPressedDown = false;
 
var hasPressedDown = false;
  
//De rörliga punkterna samt funktionen de definierar
+
/* De rörliga punkterna samt funktionen de definierar */
//p1 är extrempunkten, p2 är den andra punkten
+
/* p1 är extrempunkten, p2 är den andra punkten */
 +
 
 +
var p1 = b.point(-4.5,-3,{fixed:false, fillcolor:mlg.blue});
 +
var p2 = b.point(1.5,3,{fixed:false, fillcolor:mlg.blue});
 +
 
 
function fnc(x) {
 
function fnc(x) {
 
return (p1.Y() - p2.Y())*JXG.Math.pow((x-p2.X())/(p1.X() - p2.X()), 2) + p2.Y();
 
return (p1.Y() - p2.Y())*JXG.Math.pow((x-p2.X())/(p1.X() - p2.X()), 2) + p2.Y();
};
+
}
  
var p1 = b.point(-4.5,-3,{fixed:false, fillcolor:mlg.blue});
 
var p2 = b.point(1.5,3,{fixed:false, fillcolor:mlg.blue});
 
 
var xdist = Math.sqrt(-p2.Y() * Math.pow(p1.X() - p2.X(), 2) / (p1.Y() - p2.Y()));
 
var xdist = Math.sqrt(-p2.Y() * Math.pow(p1.X() - p2.X(), 2) / (p1.Y() - p2.Y()));
  
Rad 54: Rad 56:
 
var flyttaMig2 = b.textA(2,0.75,'<translate><!--T:24--> Drag mig</translate>!',{anchor:p2});
 
var flyttaMig2 = b.textA(2,0.75,'<translate><!--T:24--> Drag mig</translate>!',{anchor:p2});
  
//Symmetrilinje
+
/* Symmetrilinje */
 
var n1 = b.node(p2.X(), yTop + 0.9);
 
var n1 = b.node(p2.X(), yTop + 0.9);
 
var n2 = b.node(p2.X(), yBottom - 1);
 
var n2 = b.node(p2.X(), yBottom - 1);
 
var symLine = b.segment(n1, n2, {dash:3});
 
var symLine = b.segment(n1, n2, {dash:3});
  
//Label till symmetrilinjen
+
/* Label till symmetrilinjen */
 
var symText = b.textA(9,10,'<translate><!--T:14--> Symmetrilinje</translate>',{flag:true});
 
var symText = b.textA(9,10,'<translate><!--T:14--> Symmetrilinje</translate>',{flag:true});
 
$(b.getId(symText)).css({
 
$(b.getId(symText)).css({
Rad 68: Rad 70:
 
symText.moveTo([p2.X(), yBottom + 1.5]);
 
symText.moveTo([p2.X(), yBottom + 1.5]);
  
//Prototypvinkel och avstånd till flaggan på extrempunkten
+
/* Prototypvinkel och avstånd till flaggan på extrempunkten */
 
var fAngle = 30;
 
var fAngle = 30;
 
var fDist = 3.5;
 
var fDist = 3.5;
  
//Flagga till extrempunkten
+
/* Flagga till extrempunkten */
 
var nFlag = b.node(fAngle, fDist);
 
var nFlag = b.node(fAngle, fDist);
 
var nFlagPos = b.node(
 
var nFlagPos = b.node(
Rad 91: Rad 93:
  
  
//Begränsningar för var punkterna får vara.
+
/* Begränsningar för var punkterna får vara. */
 
var xmax = xRight - 1.75;
 
var xmax = xRight - 1.75;
 
var xmin = xLeft + 1.75;
 
var xmin = xLeft + 1.75;
Rad 97: Rad 99:
 
var ymin = yBottom + 2.75;
 
var ymin = yBottom + 2.75;
  
//Hur nära punkterna får vara varandra i x- och y-led
+
/* Hur nära punkterna får vara varandra i x- och y-led */
 
var clipDistX = 0.25;
 
var clipDistX = 0.25;
 
var clipDistY = 0.05;
 
var clipDistY = 0.05;
Rad 120: Rad 122:
 
}
 
}
 
 
//Se till att punkten håller sig inom ramarna
+
/* Se till att punkten håller sig inom ramarna */
 
if (p2.X() < xmin) {
 
if (p2.X() < xmin) {
 
p2.moveTo([xmin, p2.Y()]);
 
p2.moveTo([xmin, p2.Y()]);
Rad 134: Rad 136:
 
}
 
}
  
//Se till att punkten inte kommer för nära den andra punkten
+
/* Se till att punkten inte kommer för nära den andra punkten */
 
if (Math.abs(p2.X() - p1.X()) < clipDistX) {
 
if (Math.abs(p2.X() - p1.X()) < clipDistX) {
var dSign = Math.sign(p2.X() - p1.X());
+
dSign = Math.sign(p2.X() - p1.X());
 
if (dSign === 0) {
 
if (dSign === 0) {
 
dSign = 1;
 
dSign = 1;
Rad 151: Rad 153:
  
 
if (Math.abs(p2.Y() - p1.Y()) < clipDistY) {
 
if (Math.abs(p2.Y() - p1.Y()) < clipDistY) {
var dSign = Math.sign(p2.Y() - p1.Y());
+
dSign = Math.sign(p2.Y() - p1.Y());
 
if (dSign === 0) {
 
if (dSign === 0) {
 
dSign = 1;
 
dSign = 1;
Rad 173: Rad 175:
 
}
 
}
 
 
//Se till att punkten håller sig inom ramarna
+
/* Se till att punkten håller sig inom ramarna */
 
if (p1.X() < xmin) {
 
if (p1.X() < xmin) {
 
p1.moveTo([xmin, p1.Y()]);
 
p1.moveTo([xmin, p1.Y()]);
Rad 187: Rad 189:
 
}
 
}
 
 
//Se till att punkten inte kommer för nära den andra punkten
+
/* Se till att punkten inte kommer för nära den andra punkten */
 
if (Math.abs(p1.X() - p2.X()) < clipDistX) {
 
if (Math.abs(p1.X() - p2.X()) < clipDistX) {
 
var dSign = Math.sign(p1.X() - p2.X());
 
var dSign = Math.sign(p1.X() - p2.X());
Rad 217: Rad 219:
 
}
 
}
 
 
//Byt texten som anger sortens extrempunkt
+
/* Byt texten som anger sortens extrempunkt */
 
if (p1.Y() < p2.Y()) {
 
if (p1.Y() < p2.Y()) {
 
b.changeText(extremeFlag, '<translate><!--T:19--> Maximum</translate>');
 
b.changeText(extremeFlag, '<translate><!--T:19--> Maximum</translate>');
Rad 233: Rad 235:
 
p2.setAttribute({fixed:true});
 
p2.setAttribute({fixed:true});
 
 
//Förbered symmetrilinjen
+
/* Förbered symmetrilinjen */
 
n2.moveTo([p2.X(), 12]);
 
n2.moveTo([p2.X(), 12]);
 
n1.moveTo([p2.X(), 12]);
 
n1.moveTo([p2.X(), 12]);
//Förbered label för symmetrilinjen
+
/* Förbered label för symmetrilinjen */
 
if (p2.Y() > 0) {
 
if (p2.Y() > 0) {
 
symText.moveTo([p2.X(), yBottom + 1.5]);
 
symText.moveTo([p2.X(), yBottom + 1.5]);
Rad 249: Rad 251:
 
symText.moveTo([xLeft + 3, symText.Y()]);
 
symText.moveTo([xLeft + 3, symText.Y()]);
 
}
 
}
//Förbered flagga för extrempunkten
+
/* Förbered flagga för extrempunkten */
 
var flagUp = true;
 
var flagUp = true;
 
var flagRight = true;
 
var flagRight = true;
Rad 284: Rad 286:
 
 
 
var animTimer = 0;
 
var animTimer = 0;
//Animera symmetrilinjen
+
/* Animera symmetrilinjen */
 
n2.moveTo([p2.X(), -12], animTimer += 1000);
 
n2.moveTo([p2.X(), -12], animTimer += 1000);
//Visa label för symmetrilinje
+
/* Visa label för symmetrilinje */
 
setTimeout(function() {b.show(symText);}, animTimer += 300);
 
setTimeout(function() {b.show(symText);}, animTimer += 300);
//Visa flagga för extrempunkten
+
/* Visa flagga för extrempunkten */
 
setTimeout(function() {b.show([extremeFlag, flagSegment]);}, animTimer += 500);
 
setTimeout(function() {b.show([extremeFlag, flagSegment]);}, animTimer += 500);
 
setTimeout(function() {
 
setTimeout(function() {

Versionen från 8 februari 2019 kl. 15.04

Begrepp

Symmetrilinje - andragradskurva

Om en lodrät linje ritas genom extrempunkten till en andragradskurva bildas två lika stora, spegelvända halvor på varsin sida om linjen. Linjen kallas för kurvans symmetrilinje.
Fel uppstod: bilden kunde ej laddas.

Två punkter på varsin halva med samma -koordinat, t.ex. funktionens nollställen, ligger alltid på samma avstånd från symmetrilinjen. Symmetrilinjens ekvation anger vilket -värde, som linjen ligger på.

Det finns olika metoder för att bestämma symmetrilinjen. Ibland kan man läsa av den direkt i koordinatsystemet och har man funktionsuttrycket kan man använda -formeln.