{{ stepNode.name }}
| {{ 'ml-lesson-number-slides' | message : article.intro.bblockCount}} |
| {{ 'ml-lesson-number-exercises' | message : article.intro.exerciseCount}} |
| {{ 'ml-lesson-time-estimation' | message }} |
Jrhoads (Diskussion | bidrag) (Den här versionen är märkt för översättning) | Moa (Diskussion | bidrag) | ||
(16 mellanliggande versioner av 3 användare visas inte) | |||
Rad 2: | Rad 2: | ||
Koordinatsystem</translate></hbox> | Koordinatsystem</translate></hbox> | ||
<translate><!--T:2--> | <translate><!--T:2--> | ||
− | + | Om flera koordinataxlar kombineras får man ett koordinatsystem. Det kan användas för att beskriva positioner, både inom matematik och andra områden. Positionen beskrivs av punktens koordinater, ofta $x$ och $y,$ och skrivs på formen $(x,y).$</translate> | |
− | <jsxgpre id=" | + | <jsxgpre id="koordinatsystem_animation"> |
− | var b = mlg.board( | + | xMax = 6.5; |
+ | xMin = -6.5; | ||
+ | yMax = 6.5; | ||
+ | yMin = -6.5; | ||
+ | |||
+ | var padding = 0.5; | ||
+ | var border = 0.5; | ||
+ | |||
+ | var b = mlg.board([xMin,yMax,xMax,yMin],{desktopSize:'medium'}); | ||
var xax = b.xaxis(1,0); | var xax = b.xaxis(1,0); | ||
− | var yax = b.yaxis(1,0); | + | var yax = b.yaxis(1,0); |
− | var p1 = b.point(3,4,{fixed:false}); | + | |
− | + | var p1 = b.point(3,4, {fixed:false}); | |
− | + | ||
− | + | var pullMe = b.txt(4.1, 4.5, 'Dra mig!', {mathMode:false}); | |
− | + | ||
− | var | + | var calc = b.txt(-4,function() { |
− | + | if (p1.Y() > 4) { | |
− | var | + | if (p1.X() < -2) { |
− | + | return -5; | |
− | + | } | |
− | + | else { | |
− | + | return 5; | |
+ | } | ||
+ | } | ||
+ | else { | ||
+ | return 5; | ||
+ | } | ||
+ | },'(3.0,4.0)',{flag:true,fontsize:1.1}); | ||
$(b.getDiv(calc)).css({ | $(b.getDiv(calc)).css({ | ||
"text-align":"center", | "text-align":"center", | ||
"padding":"2px" | "padding":"2px" | ||
}); | }); | ||
− | var | + | |
− | b. | + | |
− | p1.on('drag',function(){ | + | var nx = b.node(3,0); |
+ | var ny = b.node(0,4); | ||
+ | |||
+ | var xArrow = b.segment(p1, nx, {touchLastPoint:false,lastArrow:true}); | ||
+ | var yArrow = b.segment(p1, ny, {touchLastPoint:false,lastArrow:true}); | ||
+ | |||
+ | p1.on('drag', function() { | ||
+ | b.hide([xArrow, yArrow, pullMe]); | ||
+ | b.changeText(calc, '(x,y)'); | ||
− | + | if (p1.X() - xMin < border) { | |
− | + | p1.moveTo([xMin+border, p1.Y()]); | |
− | + | } | |
− | + | if (xMax - p1.X() < border) { | |
− | if(p1. | + | p1.moveTo([xMax-border, p1.Y()]); |
− | + | } | |
+ | if (p1.Y() - yMin < border) { | ||
+ | p1.moveTo([p1.X(), yMin+border]); | ||
+ | } | ||
+ | if (yMax - p1.Y() < border) { | ||
+ | p1.moveTo([p1.X(), yMax-border]); | ||
} | } | ||
− | + | ||
− | + | if (Math.abs(nx.Y() - p1.Y()) < padding) { | |
− | + | xArrow.setAttribute({lastArrow:false}); | |
− | |||
} | } | ||
else { | else { | ||
− | + | xArrow.setAttribute({lastArrow:true}); | |
} | } | ||
− | if (p1.X() | + | if (Math.abs(ny.X() - p1.X()) < padding) { |
− | + | yArrow.setAttribute({lastArrow:false}); | |
} | } | ||
else { | else { | ||
− | + | yArrow.setAttribute({lastArrow:true}); | |
} | } | ||
− | |||
− | |||
}); | }); | ||
− | + | ||
− | + | p1.on('up', function() { | |
− | + | var tempText = '(' + p1.X().toFixed(1) + ',' + p1.Y().toFixed(1) + ')'; | |
− | + | tempText = tempText.replace(/-/g, '\\text{-}'); | |
− | + | var hasCallback = false; | |
− | + | if (Math.abs(p1.Y()) > padding) { | |
− | + | nx.moveTo([p1.X(),p1.Y() - Math.sign(p1.Y())*padding]); | |
− | + | nx.moveTo([p1.X(), 0],500, {callback:function() {b.changeText(calc,tempText);}}); | |
− | + | hasCallback = true; | |
− | + | } | |
− | } | + | else { |
− | if( | + | nx.moveTo([p1.X(), 0]); |
− | + | } | |
− | + | if (Math.abs(p1.X()) > padding) { | |
− | if( | + | ny.moveTo([p1.X() - Math.sign(p1.X())*padding,p1.Y()]); |
− | + | if (hasCallback) { | |
− | + | ny.moveTo([0,p1.Y()],500); | |
− | + | } | |
− | + | else { | |
+ | ny.moveTo([0,p1.Y()],500, {callback:function() {b.changeText(calc,tempText);}}); | ||
} | } | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
} | } | ||
− | + | else { | |
− | + | if (!hasCallback) { | |
− | if( | + | b.changeText(calc,tempText); |
− | + | } | |
− | + | ny.moveTo([0,p1.Y()]); | |
− | |||
} | } | ||
+ | b.show([xArrow, yArrow]); | ||
}); | }); | ||
</jsxgpre> | </jsxgpre> | ||
− | + | Detta koordinatsystem kallas det ''kartesiska'' koordinatsystemet och punkten där axlarna skär varandra heter [[Origo *Wordlist*|origo]]. | |
− | |||
− | |||
− | |||
[[Kategori:Funktioner]] | [[Kategori:Funktioner]] |
Detta koordinatsystem kallas det kartesiska koordinatsystemet och punkten där axlarna skär varandra heter origo.