Páginas

domingo, 3 de março de 2013

skribu-kun-python-cxap12


fonto: http://inventwithpython.com/chapter12.html

Temoj Kovritaj dum tiu ĉapitro:

  • Karteziaj koordinatoj, koordinatsistemoj.
  • La X-akso kaj Y-akso.
  • La Komuta Proprieto de Aldono.
  • Absolutaj valoroj kaj la abs () funkcio.
Ĉi tiu ĉapitro ne enkondukas novan ludon, sed anstataŭ iras super iu simpla matematikaj konceptoj kiujn ni uzos en la resto de la ludoj en tiu libro.
Kiam vi rigardas 2D ludoj (kiel Tetris aŭ malnova Super Nintendo aŭ Sega Genezo ludoj) vi povas vidi, ke la plejparto de la grafiko sur la ekrano povas movi forlasitaj aŭ dekstra (la unua dimensio) kaj supren aŭ malsupren (la dua dimensio, do 2D). En ordo por krei al ni ludoj kiuj celoj movante ĉirkaŭ du dimensioj (kiel la du dimensia komputila ekrano), ni bezonas sistemon kiu povas traduki lokon sur la ekrano por entjeroj, ke nia programo povas trakti.
Tie estas kie karteziaj koordinatoj, koordinatsistemoj envenos La koordinatoj povas noti al tre specifa punkto sur la ekrano, por ke nia programo povu kontroli kiu faras malsamajn areojn en la ekrano.
Negativaj nombroj estas ofte uzata kun karteziaj koordinatoj, koordinatsistemoj tiel. La dua duono de ĉi ĉapitro klarigos kiel ni povas fari math kun negativaj nombroj.
Vi eble jam scias pri karteziaj koordinatoj, koordinatsistemoj kaj negativaj nombroj de math klaso. En tiu kazo, vi povas simple doni ĉi ĉapitro rapida legado ĉiuokaze por refreŝigi mem.

Pakaĵrakoj kaj karteziaj koordinatoj


Figuro 12-1: Specimeno ŝaktabulo kun
nigra kavaliro je a, 4 kaj blanka kavaliro e, 6.
Problemo en multaj ludoj estas kiel paroli pri ĝusta punktoj sur la tabulo. Komuna maniero de solvi ĉi estas per markante ĉiun individuon vico kaj kolumno sur tabulo kun letero kaj numero. Figuro 12-1 estas ŝaka tabulo kiu havas ĉiu vico kaj ĉiu kolumno markita.
En ŝako, la kavaliro peco aspektas kiel kapo de ĉevalo. La blanka kavaliro situas je la punkto e, 6 kaj la nigra sinjoro situas je punkto a, 4. Ni povas ankaŭ vidi ke ĉiu spaco sur vico 7 kaj ĉiu spaco en kolumno c estas malplena.
A krado kun markitaj vicoj kaj kolumnoj kiel la ŝako tabulo estas karteziaj koordinatoj. Uzante vico etiketo kaj kolumno etiketo, ni povas doni koordinato, kiu estas por unu kaj nur unu spaco sur la tabulo. Tio povas vere helpi nin priskribi al komputilo la ĝusta loko kiun ni deziras. Se vi lernis pri karteziaj koordinatoj, koordinatsistemoj en math klaso, vi sciu, ke kutime oni havas numerojn por ambaŭ la vicoj kaj kolumnoj. Tio estas utila, ĉar se ne post la 26a kolumno ni elĉerpas de literoj. Ke estraro devus aspekti Figuro 12-2.

Figuro 12-2: La sama ŝaktabulo sed kun
nombraj kunordigas por ambaŭ vicoj kaj kolumnoj.
La nombroj tuj maldekstra kaj dekstra kiuj priskribas la kolumnoj estas parto de la X-akso. La nombroj tuj supren kaj malsupren kiuj priskribas la vicoj estas parto de la Y-akso. Kiam ni priskribas koordinatoj, ni ĉiam diras la X-koordinato unue, sekvita de la Y-koordinato. Tio signifas la blankan kavaliro en la supra bildo estas lokita en la koordinato 5, 6 (kaj ne 6, 5). La nigra kavaliro situas ĉe la koordinatoj 1, 4 (ne konfuzenda kun 4, 1).
Rimarku, ke por la nigra sinjoro movi al la blanka sinjoro la pozicio, la nigra sinjoro devas movi supren du spacoj, kaj tiam dekstre de kvar spacoj. (Aŭ iru dekstren kvar spacoj kaj tiam movi supren du spacoj.) Sed ni ne bezonas rigardi la tabulo por kalkuli tiun eksteren. Se oni scias la blanka sinjoro jacas 5, 6 kaj la nigra sinjoro situas je 1, 4, tiam ni povas nur uzi subtraho eltrovi tiun informon.
Subtrahi la nigra sinjoro la X-koordinato kaj blankaj sinjoroj X-koordinato: 5 - 1 = 4. Tio signifas la nigra sinjoro devas movi laŭ la X-akso de kvar spacoj.
Subtrahi la nigra sinjoro la Y-koordinato kaj blankaj sinjoroj Y-koordinato: 6 - 4 = 2. Tio signifas la nigra sinjoro devas movi laŭlonge de la Y-akso de du spacoj.

Negativaj nombroj

Alia koncepto kiu Karteziaj koordinatoj uzo estas negativaj nombroj. Negativaj nombroj estas nombroj, kiuj estas pli malgrandaj ol nulo. Ni metis minuso en fronto de nombro por montri ke ĝi estas negativa nombro. -1 Estas pli malgranda ol 0. Kaj -2 estas pli malgranda ol -1. Kaj -3 estas pli malgranda ol -2. Se vi pensas de regulaj nombroj (nomitaj pozitivaj nombroj) kiel ekde 1 kaj kreskanta, vi povas pensi pri negativaj nombroj kiel ekde -1 kaj malkreskanta. 0 mem ne estas pozitiva aŭ negativa. En ĉi tiu bildo, vi povas vidi la pozitivaj nombroj pliigi la dekstra kaj la negativaj nombroj malkreskanta al la maldekstra:

Figuro 12-3: A nombra linio.
La nombra linio estas vere utila por fari subtraho kaj krome kun negativaj nombroj. La esprimo 4 + 3 povas esti penso de kiel la blanka sinjoro startanta je pozicio 4 kaj movante 3 spacoj super la dekstra (krome signifas kreskanta, kio estas en la bona direkto).

Figuro 12-4: Moving la blanka sinjoro dekstre aldonas la koordinato.
Kiel vi povas vidi, la blanka sinjoro finiĝos ĉe pozicio 7. Tiu makes sense, ĉar 4 + 3 estas 7.
Subtraho povas fari per movanta la blanka sinjoro al la maldekstra. Subtraho signifas malkreskanta, kiu estas en la maldekstra direkto. 4 - 6 devus esti la blanka sinjoro startanta je pozicio 4 kaj movante 6 spacoj al la maldekstra, kiel en Figuro 12-5:

Figuro 12-5: Moving la blanka sinjoro al la maldekstra subtracts de la koordinato.
La blanka kavaliro finiĝos ĉe pozicio -2. Tio signifas 4 - 6 egalas -2.
Se ni adicias aŭ subtrahi negativa nombro, la blanka sinjoro estus movi en la kontraŭa direkto. Se vi aldonas negativa nombro, la kavaliro moviĝas al la maldekstra. Se vi subtrahi negativa nombro, la kavaliro moviĝas al dekstre. La esprimo -6 - 4 estus egala al -2. La kavaliro komenciĝas ĉe -6 kaj movas dekstren per 4 spacojn. Rimarku ke -6 - 4 havas la saman respondon kiel -6 + 4.

Figuro 12-6: Eĉ se la blanka sinjoro komencas en negativa koordinato, movante dekstra ankoraŭ aldonas la koordinato.

Figuro 12-7: Meti du nombro linioj kune kreas Kartezia koordinato.
La nombra linio estas la sama kiel la X-akso. Se ni faris la nombra linio iri supren kaj malsupren anstataŭ maldekstra kaj dekstra, estus modeli la Y-akso. Aldoni pozitiva nombro (aŭ subtrahanta negativa nombro) movus la kavaliro ĉe la nombra linio, kaj subtrahanta pozitiva nombro (aŭ aldonante negativa nombro) movus la kavaliro sube. Kiam ni metas tiujn du nombro linioj kune, ni havas Kartezia koordinato kiel en Figuro 12-7. La 0, 0 koordinato havas specialan nomon: la origino.

Math Tricks

Subtrahanta negativaj nombroj aŭ aldonante negativaj nombroj ŝajnas facila kiam oni havas nombra linio antaŭ vi, sed ĝi povas esti facile kiam oni nur havas la nombroj tro. Jen tri lertaĵoj vi povas fari por fari taksi tiujn esprimojn per vi mem pli facile fari.

Lertaĵo 1: "Al Minus Eats la Alpago Sign sur lia maldekstra"

La unua estas, se vi aldonas negativa nombro, ekzemple; 4 + -2. La unua artifiko estas "minus manĝas la signo sur ĝia maldekstra". Kiam vi vidas minuso kun signo maldekstre, vi povas anstataŭigi la signo kun minus signo. La respondo estas ankoraŭ la sama, ĉar aldono negativa valoro estas la sama kiel subtrahanta pozitiva valoro. 4 + -2 kaj 4 - 2 ambaŭ taksi al 2.

Figuro 12-8: Trick 1 - Aldoni pozitiva kaj negativa nombro.

Lertaĵo 2: "Du malpli Kombinas Into a Plus"

La dua lertaĵo estas se vi subtrahanta negativa nombro, ekzemple, 4 - 2. La dua lertaĵo estas "du malpli kombini en pli". Kiam vi vidas la du minus signoj apud la alia sen numero en inter ili, ke ili povas kombini en pluso. La respondo estas ankoraŭ la sama, ĉar subtrahanta negativa valoro estas la sama kiel aldono pozitiva valoro.

Figuro 12-9: Trick 2 - Subtrahanta pozitiva kaj negativa nombro.

Lertaĵo 3: La Komuta Proprieto de Adicio

Tria lertaĵo estas memori, ke kiam vi aldonas du nombroj kiel 6 kaj 4, ne gravas kion ordon estas in (Ĉi tio estas nomita la komuta propraĵo de aldono.) Tio signifas ke 6 + 4 kaj 4 + 6 ambaŭ egali la sama valoro, 10. Se vi kalkulu la skatoloj en la figuro pli sube, vi povas vidi, ke ne gravas kion ordon vi havas la nombroj por aldono.

Figuro 12-10: Trick 3 - La komuta propraĵo de adicio.
Diru vi aldonante negativa nombro kaj pozitiva nombro, kiel -6 + 8. Ĉar vi estas aldonante numerojn, vi povas interŝanĝi la ordon de la nombroj sen ŝanĝi la respondo. -6 + 8 estas la sama kiel 8 + -6. Sed kiam vi rigardas 8 + -6, vi vidas ke la minuso povas mangxi la signo por lia maldekstra, kaj la problemo fariĝas 8 - 6 = 2. Sed ĉi tio signifas ke -6 + 8 estas ankaŭ 2! Ni reordigis la problemo por havi la saman respondon, sed faris ĝin pli facila por ni por solvi sen uzi kalkulilo aŭ la komputilo.

Figuro 12-11: Uzante nian math lertaĵoj kune.
Kompreneble, vi povas ĉiam uzi la interaktivan ŝelon kiel kalkulilo por taksi tiujn esprimojn. Ĝi estas ankoraŭ tre utila por scii la supraj tri lertaĵoj aldoninte aŭ subtrahanta negativaj nombroj. Finfine, vi ne ĉiam fronte al komputilo kun Python tutan tempon!
>>> 4 + -2
2
>>> -4 + 2
-2
>>> -4 + -2
-6
>>> 4 - 2
6
>>> -4 - 2
-6
>>> -4 - 2
-2
>>>

Absoluta Valoroj kaj la abs () Funkcio

La absoluta valoro de nombro estas la nombro sen la negativa signo antaŭ ĝi. Tio signifas, ke pozitivaj nombroj ne ŝanĝiĝas, sed negativaj nombroj fariĝis pozitiva. Ekzemple, la absoluta valoro de -4 estas 4. La absoluta valoro de -7 estas 7. La absoluta valoro de 5 (kiu estas pozitiva) estas nur 5.
Ni povas trovi kiom malproksime du aĵojn sur nombra linio estas unu de la alia per prenante la absoluta valoro de ilia diferenco. Imagu ke la blanka sinjoro estas en la pozicio 4 kaj la nigra sinjoro estas en la pozicio -2. Por ekscii la distancon inter ili, vi trovos la diferencon per subtrahanta siajn poziciojn kaj prenante la absoluta valoro de tiu nombro.
Ĝi funkcias ne gravas kion la ordono de la nombroj estas. -2 - 4 (tio estas, negativa du minus kvar) estas -6, kaj la absoluta valoro de -6 estas 6. Tamen, 4 - 2 (tio estas, kvar minus negativaj du) estas 6, kaj la absoluta valoro de 6 estas 6. Uzante la absoluta valoro de la diferenco estas bona maniero de trovanta la distanco inter du punktoj sur rekto (aŭ akso).
La abs () funkcio povas esti uzata por redoni la absoluta valoro de entjero. La abs () funkcio estas prafunkcio, do vi ne bezonas importi ajna moduloj por uzi ĝin. Pasi ĝin entjero aŭ kaleŝego valoron kaj ĝi revenos la absoluta valoro:
>>> Abs (-5)
5
>>> Abs (42)
42
>>> Abs (-10.5)
10.5

Kunordigi Sistemo de komputila monitoro


Figuro 12-12: La Kartezia koordinata sistemo sur komputila ekrano.
Estas komuna kiu komputilo monitoroj uzi koordinatsistemo kiu havas la origino (0, 0) en la supera maldekstra angulo de la ekrano, kiu pliigas subiro kaj al la rajto. Ne estas negativa koordinatoj. Ĉi tiu estas ĉar teksto estas presita ekde supre maldekstre, kaj estas presita tuj dekstre kaj sube. Plej komputila grafiko uzi ĉi koordinata sistemo, kaj ni uzos ĝin en nia ludojn. Ankaŭ estas komuna por supozi ke monitoroj povas montri 80 tekston karakteroj por vico kaj 25 tekston karakteroj por kolumno (rigardu Figuro 12-12). Ĉi kutimis esti la maksimuma ekrano grandeco kiu monitoroj povis elporti. Dum la hodiaŭa monitoroj povas kutime montras multe pli teksto, ni ne supozas, ke la uzanto ekrano estas pli granda ol 80 por 25.

Resumo: Uzante ĉi Math en Ludoj

Tiu ne estis tro multe math lerni por programado. Fakte, plej programado ne postulas kompreni multon de matematikaj. Ĝis ĉi tiu ĉapitro, ni estis atingi por sur simpla adicio kaj multipliko.
Karteziaj koordinatoj, koordinatsistemoj bezonas por priskribi precize kie en du dimensia spaco iu pozicio estas. Koordinatoj konsistas el du nombroj: la X-koordinato kaj la Y-koordinato. La X-akso kuras maldekstren kaj dekstren kaj la Y-akso kuras supren kaj malsupren. Sur ekrano de komputilo (kaj en plej komputila programado), la X-akso komenciĝas ĉe 0 je la maldekstra flanko kaj kreskoj survoje al dekstre. La Y-akso komenciĝas ĉe 0 sur la supro de la ekrano kaj kreskoj survoje malsupren.
La tri lertaĵoj ni lernis en ĉi tiu ĉapitro fari ĝin tre facile aldoni pozitivaj kaj negativaj entjeroj. La unua lertaĵo estas ke minuso manĝos la signo sur ĝia maldekstra. La dua lertaĵo estas ke du malpli apud la alia kombinos en pluso. Kaj la tria ruzo estas ke vi povas interŝanĝi la pozicio de la nombroj vi aldono. Tio nomiĝas la komuta propraĵo de adicio.
Por la resto de la libro, ni estos uzi la konceptojn ni lernis en ĉi tiu ĉapitro en niaj ludoj ĉar ili havas du dimensia areoj en ili. Ĉiuj grafikaj ludoj postulas kompreni kiel karteziaj koordinatoj laboras.

Nenhum comentário:

Postar um comentário