{{ '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 }}
Visa mindre Visa mer expand_more
{{ ability.description }} {{ ability.displayTitle }}
Inställningar & verktyg för lektion
{{ 'ml-lesson-number-slides' | message : article.intro.bblockCount }}
{{ 'ml-lesson-number-exercises' | message : article.intro.exerciseCount }}
{{ 'ml-lesson-time-estimation' | message }}
 Andragradskurvans utseende och egenskaper
Appe (Diskussion | bidrag)
(Redigerar graf symmetrilinje345 via JXMagician.)
Appe (Diskussion | bidrag)
(Redigerar graf symmetrilinje345 via JXMagician.)
Rad 28: Rad 28:
  
 
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();
 
}
 
}
  
Rad 36: Rad 36:
  
 
var graph = b.board.create('functiongraph', [function(x) {return fnc(x);},function() {
 
var graph = b.board.create('functiongraph', [function(x) {return fnc(x);},function() {
if(n.Y() > 12){
+
    if(n.Y() > 12){
return p2.X() - 3;
+
        return p2.X() - 3;
}else if(n.X() > 12){
+
    }else if(n.X() > 12){
return p2.X() - 8;
+
        return p2.X() - 8;
}else{
+
    }else{
return xLeft - 1;
+
        return xLeft - 1;
}
+
    }
 
}, function() {
 
}, function() {
if(n.Y() > 12){
+
    if(n.Y() > 12){
return p2.X() + 3;
+
        return p2.X() + 3;
}else if(n.X() > 12){
+
    }else if(n.X() > 12){
return p2.X() + 8;
+
        return p2.X() + 8;
}else{
+
    }else{
return xRight + 1;
+
        return xRight + 1;
}
+
    }
 
}],{strokeWidth:2,doAdvancedPlot:false,numberPointsLow:50,numberPointsHigh:50});
 
}],{strokeWidth:2,doAdvancedPlot:false,numberPointsLow:50,numberPointsHigh:50});
  
var flyttaMig = b.textA(-1.5,0.75,'<!--T:23--> Drag mig!',{anchor:p1});
+
var flyttaMig = b.txt(-6.5,-2,'<!--T:23--> Drag mig!',{mathMode:false});
var flyttaMig2 = b.textA(2,0.75,'<!--T:24--> Drag mig!',{anchor:p2});
+
var flyttaMig2 = b.txt(4,3.5,'<!--T:24--> Drag mig!',{mathMode:false});
  
 
/* Symmetrilinje */
 
/* Symmetrilinje */
Rad 64: Rad 64:
 
var symText = b.textA(9,10,'<!--T:14--> Symmetrilinje',{flag:true});
 
var symText = b.textA(9,10,'<!--T:14--> Symmetrilinje',{flag:true});
 
$(b.getId(symText)).css({
 
$(b.getId(symText)).css({
"text-align":"center",
+
    "text-align":"center",
"padding":"4px",
+
    "padding":"4px",
 
});
 
});
 
b.changeText(symText, '<!--T:15--> Symmetrilinje');
 
b.changeText(symText, '<!--T:15--> Symmetrilinje');
Rad 77: Rad 77:
 
var nFlag = b.node(fAngle, fDist);
 
var nFlag = b.node(fAngle, fDist);
 
var nFlagPos = b.node(
 
var nFlagPos = b.node(
function() {return p2.X() + Math.cos(nFlag.X() * 2*Math.PI/360) * nFlag.Y();},
+
    function() {return p2.X() + Math.cos(nFlag.X() * 2*Math.PI/360) * nFlag.Y();},
function () {return p2.Y() + Math.sin(nFlag.X() * 2*Math.PI/360) * nFlag.Y();}
+
    function () {return p2.Y() + Math.sin(nFlag.X() * 2*Math.PI/360) * nFlag.Y();}
);
+
);
 
var extremeFlag = b.textA(function() {return nFlagPos.X();}, function() {return nFlagPos.Y();}, '<!--T:16--> Maximum', {flag:true});
 
var extremeFlag = b.textA(function() {return nFlagPos.X();}, function() {return nFlagPos.Y();}, '<!--T:16--> Maximum', {flag:true});
 
var flagSegment = b.segment(p2, nFlagPos, {strokeWidth:1});
 
var flagSegment = b.segment(p2, nFlagPos, {strokeWidth:1});
Rad 85: Rad 85:
  
 
$(b.getId(extremeFlag)).css({
 
$(b.getId(extremeFlag)).css({
"text-align":"center",
+
    "text-align":"center",
"padding":"4px",
+
    "padding":"4px",
"min-width":"19%"
+
    "min-width":"19%"
 
});
 
});
  
Rad 105: Rad 105:
 
var down = false;
 
var down = false;
 
p2.on('drag', function() {
 
p2.on('drag', function() {
if(!down){
+
    if(!down){
b.hide([flyttaMig, flyttaMig2]);
+
        b.hide([flyttaMig, flyttaMig2]);
//Göm saker medan extrempunkten flyttas
+
        //Göm saker medan extrempunkten flyttas
if (!isAnimating) {
+
        if (!isAnimating) {
b.hide(symText);
+
            b.hide(symText);
b.hide([extremeFlag, flagSegment]);
+
            b.hide([extremeFlag, flagSegment]);
n2.moveTo([2, 12]);
+
            n2.moveTo([2, 12]);
hasPressedDown = true;
+
            hasPressedDown = true;
}
+
        }
down = true;
+
        down = true;
}
+
    }
 
if(flyttvis){
 
b.hide([flyttaMig, flyttaMig2]);
 
flyttvis = false;
 
}
 
 
/* Se till att punkten håller sig inom ramarna */
 
if (p2.X() < xMin) {
 
p2.moveTo([xMin, p2.Y()]);
 
}
 
else if (p2.X() > xMax) {
 
p2.moveTo([xMax, p2.Y()]);
 
}
 
if (p2.Y() < yMin) {
 
p2.moveTo([p2.X(), yMin]);
 
}
 
else if (p2.Y() > yMax) {
 
p2.moveTo([p2.X(), yMax]);
 
}
 
  
/* Se till att punkten inte kommer för nära den andra punkten */
+
    if(flyttvis){
if (Math.abs(p2.X() - p1.X()) < clipDistX) {
+
        b.hide([flyttaMig, flyttaMig2]);
var dSign = Math.sign(p2.X() - p1.X());
+
        flyttvis = false;
if (dSign === 0) {
+
    }
dSign = 1;
 
}
 
if (Math.abs(p1.X() - xMax) < 1*clipDistX) {
 
dSign = -1;
 
}
 
else if (Math.abs(p1.X() - xMin) < 1*clipDistX) {
 
dSign = 1;
 
}
 
p2.moveTo([p1.X() + dSign*clipDistX, p2.Y()]);
 
}
 
  
 +
    /* Se till att punkten håller sig inom ramarna */
 +
    if (p2.X() < xMin) {
 +
        p2.moveTo([xMin, p2.Y()]);
 +
    }
 +
    else if (p2.X() > xMax) {
 +
        p2.moveTo([xMax, p2.Y()]);
 +
    }
 +
    if (p2.Y() < yMin) {
 +
        p2.moveTo([p2.X(), yMin]);
 +
    }
 +
    else if (p2.Y() > yMax) {
 +
        p2.moveTo([p2.X(), yMax]);
 +
    }
  
if (Math.abs(p2.Y() - p1.Y()) < clipDistY) {
+
    /* Se till att punkten inte kommer för nära den andra punkten */
dSign = Math.sign(p2.Y() - p1.Y());
+
    if (Math.abs(p2.X() - p1.X()) < clipDistX) {
if (dSign === 0) {
+
        var dSign = Math.sign(p2.X() - p1.X());
dSign = 1;
+
        if (dSign === 0) {
}
+
            dSign = 1;
if (Math.abs(p1.Y() - yMax) < 1*clipDistY) {
+
        }
dSign = -1;
+
        if (Math.abs(p1.X() - xMax) < 1*clipDistX) {
}
+
            dSign = -1;
else if (Math.abs(p1.Y() - yMin) < 1*clipDistY) {
+
        }
dSign = 1;
+
        else if (Math.abs(p1.X() - xMin) < 1*clipDistX) {
}
+
            dSign = 1;
p2.moveTo([p2.X(), p1.Y() + dSign*clipDistY]);
+
        }
}
+
        p2.moveTo([p1.X() + dSign*clipDistX, p2.Y()]);
 +
    }
 +
 
 +
 
 +
    if (Math.abs(p2.Y() - p1.Y()) < clipDistY) {
 +
        dSign = Math.sign(p2.Y() - p1.Y());
 +
        if (dSign === 0) {
 +
            dSign = 1;
 +
        }
 +
        if (Math.abs(p1.Y() - yMax) < 1*clipDistY) {
 +
            dSign = -1;
 +
        }
 +
        else if (Math.abs(p1.Y() - yMin) < 1*clipDistY) {
 +
            dSign = 1;
 +
        }
 +
        p2.moveTo([p2.X(), p1.Y() + dSign*clipDistY]);
 +
    }
 
});
 
});
  
Rad 170: Rad 170:
  
 
p1.on('<!--T:18--> drag', function() {
 
p1.on('<!--T:18--> drag', function() {
if(flyttvis){
+
    if(flyttvis){
b.hide([flyttaMig, flyttaMig2]);
+
        b.hide([flyttaMig, flyttaMig2]);
flyttvis = false;
+
        flyttvis = false;
}
+
    }
+
 
/* 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()]);
}
+
    }
else if (p1.X() > xMax) {
+
    else if (p1.X() > xMax) {
p1.moveTo([xMax, p1.Y()]);
+
        p1.moveTo([xMax, p1.Y()]);
}
+
    }
if (p1.Y() < yMin) {
+
    if (p1.Y() < yMin) {
p1.moveTo([p1.X(), yMin]);
+
        p1.moveTo([p1.X(), yMin]);
}
+
    }
else if (p1.Y() > yMax) {
+
    else if (p1.Y() > yMax) {
p1.moveTo([p1.X(), yMax]);
+
        p1.moveTo([p1.X(), yMax]);
}
+
    }
 
/* Se till att punkten inte kommer för nära den andra punkten */
 
if (Math.abs(p1.X() - p2.X()) < clipDistX) {
 
var dSign = Math.sign(p1.X() - p2.X());
 
if (dSign === 0) {
 
dSign = 1;
 
}
 
if (Math.abs(p2.X() - xMax) < 1*clipDistX) {
 
dSign = -1;
 
}
 
else if (Math.abs(p2.X() - xMin) < 1*clipDistX) {
 
dSign = 1;
 
}
 
p1.moveTo([p2.X() + dSign*clipDistX, p1.Y()]);
 
}
 
  
 +
    /* Se till att punkten inte kommer för nära den andra punkten */
 +
    if (Math.abs(p1.X() - p2.X()) < clipDistX) {
 +
        var dSign = Math.sign(p1.X() - p2.X());
 +
        if (dSign === 0) {
 +
            dSign = 1;
 +
        }
 +
        if (Math.abs(p2.X() - xMax) < 1*clipDistX) {
 +
            dSign = -1;
 +
        }
 +
        else if (Math.abs(p2.X() - xMin) < 1*clipDistX) {
 +
            dSign = 1;
 +
        }
 +
        p1.moveTo([p2.X() + dSign*clipDistX, p1.Y()]);
 +
    }
  
if (Math.abs(p1.Y() - p2.Y()) < clipDistY) {
+
 
dSign = Math.sign(p1.Y() - p2.Y());
+
    if (Math.abs(p1.Y() - p2.Y()) < clipDistY) {
if (dSign === 0) {
+
        dSign = Math.sign(p1.Y() - p2.Y());
dSign = 1;
+
        if (dSign === 0) {
}
+
            dSign = 1;
if (Math.abs(p2.Y() - yMax) < 1*clipDistY) {
+
        }
dSign = -1;
+
        if (Math.abs(p2.Y() - yMax) < 1*clipDistY) {
}
+
            dSign = -1;
else if (Math.abs(p2.Y() - yMin) < 1*clipDistY) {
+
        }
dSign = 1;
+
        else if (Math.abs(p2.Y() - yMin) < 1*clipDistY) {
}
+
            dSign = 1;
p1.moveTo([p1.X(), p2.Y() + dSign*clipDistY]);
+
        }
}
+
        p1.moveTo([p1.X(), p2.Y() + dSign*clipDistY]);
+
    }
/* Byt texten som anger sortens extrempunkt */
+
 
if (p1.Y() < p2.Y()) {
+
    /* Byt texten som anger sortens extrempunkt */
b.changeText(extremeFlag, '<!--T:19--> Maximum');
+
    if (p1.Y() < p2.Y()) {
}
+
        b.changeText(extremeFlag, '<!--T:19--> Maximum');
else {
+
    }
b.changeText(extremeFlag, '<!--T:20--> Minimum');
+
    else {
}
+
        b.changeText(extremeFlag, '<!--T:20--> Minimum');
 +
    }
 
});
 
});
  
 
p2.on('up', function() {
 
p2.on('up', function() {
if (!isAnimating) {
+
    if (!isAnimating) {
if (hasPressedDown) {
+
        if (hasPressedDown) {
isAnimating = true;
+
            isAnimating = true;
p1.setAttribute({fixed:true});
+
            p1.setAttribute({fixed:true});
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]);
}
+
            }
else {
+
            else {
symText.moveTo([p2.X(), yTop - 1.5]);
+
                symText.moveTo([p2.X(), yTop - 1.5]);
}
+
            }
if (symText.X() > xRight - 3) {
+
            if (symText.X() > xRight - 3) {
symText.moveTo([xRight - 3, symText.Y()]);
+
                symText.moveTo([xRight - 3, symText.Y()]);
}
+
            }
if (symText.X() < xLeft + 3) {
+
            if (symText.X() < xLeft + 3) {
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;
if (p1.Y() < p2.Y()) {
+
            if (p1.Y() < p2.Y()) {
b.changeText(extremeFlag, '<!--T:21--> Maximum');
+
                b.changeText(extremeFlag, '<!--T:21--> Maximum');
flagUp = true;
+
                flagUp = true;
}
+
            }
else {
+
            else {
b.changeText(extremeFlag, '<!--T:22--> Minimum');
+
                b.changeText(extremeFlag, '<!--T:22--> Minimum');
flagUp = false;
+
                flagUp = false;
}
+
            }
var flagDist = 3.5;
+
            var flagDist = 3.5;
if (p2.X() < 0) {
+
            if (p2.X() < 0) {
flagRight = false;
+
                flagRight = false;
}
+
            }
else {
+
            else {
flagRight = true;
+
                flagRight = true;
}
+
            }
if (xMax - p2.X() < flagDist) {
+
            if (xMax - p2.X() < flagDist) {
flagRight = false;
+
                flagRight = false;
}
+
            }
else if (-xMin + p2.X() < flagDist) {
+
            else if (-xMin + p2.X() < flagDist) {
flagRight = true;
+
                flagRight = true;
}
+
            }
if (flagRight){
+
            if (flagRight){
nFlag.moveTo([fAngle,fDist]);
+
                nFlag.moveTo([fAngle,fDist]);
}
+
            }
else {
+
            else {
nFlag.moveTo([180 - fAngle,fDist]);
+
                nFlag.moveTo([180 - fAngle,fDist]);
}
+
            }
if (!flagUp) {
+
            if (!flagUp) {
nFlag.moveTo([-nFlag.X(),fDist]);
+
                nFlag.moveTo([-nFlag.X(),fDist]);
}
+
            }
+
 
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() {
p1.setAttribute({fixed:false});
+
                p1.setAttribute({fixed:false});
p2.setAttribute({fixed:false});
+
                p2.setAttribute({fixed:false});
isAnimating = false;
+
                isAnimating = false;
hasPressedDown = false;
+
                hasPressedDown = false;
}, animTimer);
+
            }, animTimer);
}
+
        }
}
+
    }
down = false;
+
    down = false;
 
});
 
});
 
</jsxgpre>
 
</jsxgpre>

Versionen från 21 februari 2020 kl. 22.49

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.

Laddar innehåll