Euclidische vector in een flits,,,,,,,,,,,, deel 1,,,,,,, het netwerk van delen van maandag wat in tuts + koers zal dalen tot slechts drie dollar.Niet' niet missen, een deel van de prijs van een reeks noem je wiskunde doen. In het kader van de operatie, elastische collisionsgravity, een keer per maand, we opnieuw een aantal van onze lezers favoriete artikel activetuts + geschiedenis.De retro - activiteit training deze week, gepubliceerd in april, is een leidende Euclidische vector: wat ze zijn, waarom gebruik je ze, en hoe dat in de flash 3.,, de vector en bepaalde kenmerken van de ontwikkeling van het spel is zeer nuttig, geometrische objecten.Ze kunnen worden beschouwd als een punt, maar ze heeft ook een aanzienlijke en richting.Ze worden uitgedrukt als eerste punt op het laatste punt van de pijl, dit is hoe het zal zijn om de in dit artikel, de Euclidische vector is wiskunde en natuurkunde is veel dingen... Ze kunnen dat de snelheid en de versnelling en de kracht in de natuurkunde, of bijdragen tot de bewezen dat veel belangrijke stellingen in de wiskunde.In deze handleiding zal je leren over de vector, en de oprichting van een soort, gebruik je eigen flash - project, dat de vector is anders dan de vector gerealiseerd, dan ook verschillende vectoren, vector Flits in de omgeving, om je te helpen om complexe taak, of anders, als ze niet nodig veel inspanningen.In dit artikel, dat zal je leren hoe ze te gebruiken in het geheugen, en veel leren Cool en technieken van de vector, stap 1: cartesiaanse coördinaten en flash coördinaten, Spring naar vector voor, laten we de flash coördinaten.Je vertrouwd raken met de cartesiaanse coördinaten (ook al weet je dat het de naam): - systeem, zijn zeer vergelijkbaar.Het enige verschil is, de y - as is op z 'n kop:,, toen we begonnen met werken in de maatschappij flash, moeten we onthouden.Maar het goede nieuws: de verschillende systemen en geen al te grote verschillen.En het werk is van de vector in wezen hetzelfde systeem in Descartes van de vector, stap 2: de definitie van een vector voor het doel van deze handleiding zullen wij de definitie en de werkzaamheden van de eerste registratie van alle vector als de fase, zoals ze meestal met wiskunde.Een vector zal worden gedefinieerd als een gemeen, maar het zal er vanuit het oogpunt van grootte en eigenschappen.Kijk op het toneel van de definitie van de vector: enkele voorbeelden, zoals je kan zien, een vector is door een pijl, en met een lengte van elk van de vector (of de grootte) en punt langs in een hoek.De staart van de registratie van elk van de vector in punten (0, 0), creëren we een eenvoudige euclideanvector deze training, het gebruik van klasse het behoud van vectoren.Laten we tot de categorie van de vector: invoer, pakje {flash.geom.point; de cursus euclideanvector {de variabele locatie: punt; de variabele omvang: nummer van de variabele aantal; vanuit het oogpunt van openbare functies:; euclideanvector (eindpunt: eindpunten) {}}} =; in deze handleiding, dan praten we. En een vector, gevoel van richting.Let op, de definitie van "bevat slechts een richting vector.Dit belang is de definitie van vectoren langs deze lijn, stap 3: inverse vectoren, die in deze handleiding, gebruiken we de uitdrukking "inverse vectoren".Het omgekeerde is een vector met dezelfde grootte en richting van de vector, maar hebben in plaats van betekenis.Dit betekent dat de eerste vector te coördineren met het tegenovergestelde signaal van de vector.Dus een einde van de vector X, Y) zal er een eindpunt van de vector X, Y), laten we nog een functie, we euclideanvector klasse naar vector: openbare functies, in het nieuwe euclideanvector terug:euclideanvector () {(nieuwe punten (locatie, locatie, X. Y);} stap 4:,, de operatie, nu hebben we geleerd hoe een vector, we leren toe te voegen aan de twee vector: het is de toevoeging van coördinaten waren eenvoudig.Kijk dit beeld: als u merkt dat het beeld van de resultaten, en de andere twee vectoren is een vector, zie je de coördinaten van de andere twee is het coördineren van de som van de vector.In code, ziet het er zo uit: de som van de openbare functie (othervector:euclideanvector): euclideanvector {positie. X + = othervector. Positie. X; positie. Y + = othervector. Positie. Y; terugkeer;}, dus kunnen we zeggen dat de vector = = totale en vec1 (vec2).,,, stap 5: de operatie aftrekken, aftrekken werkt bijna ook, maar we zullen toenemen, omgekeerd, het tweede de eerste vervoerder (.,, nu weten hoe en twee vector, dus hier is de aftrek, minus de openbare functie - code: (othervector:euclideanvector): euclideanvector {positie. X = othervector X. Positie. Othervector; y =. Positie. Y; terugkeer;}, de code is een vector van po zeer nuttigDe luchtvaartmaatschappij of een andere prioriteiten.Kijk eens, je zal zien dat het waar is.Het zal in de toekomst veel voorbeelden, stap 6:., vermenigvuldigd met een aantal van de operatie, een vector en een nummer tussen de vermenigvuldiging (gewone nummer wordt aangeduid als de "'" vector wiskunde) in een vector is de grootte van dit nummer vermenigvuldigd met de resultaten, maar nog steeds in dezelfde richting; het "te veel", als de hoeveelheid groter is dan 1, als' druk tussen 0 en 1.Als de 'is, of omgekeerd, als het positief is, de betekenis van de nieuwe vector zal hetzelfde zijn.Eigenlijk, het cijfer "dimensie" van de vector.Kijk naar de foto 's:,, de in de code, we hebben alleen een aantal vermenigvuldigd met de coördinaten van de vector, en dan, de omvang, de vermenigvuldiging van de vector: functie (nr. Nr.): euclideanvector {x = aantal positie positie.; y * = aantal.; terugkeer;}, stap een, 7: de omvang van de vector, met het oog op het verkrijgen van een de omvang van de vector, zullen wij met behulp van de stelling van Pythagoras.Als je vergeet dat dit, wat het ook is, het is een snelle herziening:,, (er zijn meer informatie.), de code is zeer eenvoudig: de openbare functie, omvang (): de hoeveelheid {terugkeer wiskunde. Sqrt ((positie positie. X. X) + (locatie, locatie, y));}, je ook moet worden geschrapt, met uitzondering van de lijn, de omvang van de variabelen: het nummer, en dat is wat we met de omvang van een vector is altijd positief, want het is de som van de twee positieve stappen van de wortel, 8:., een vector, vanuit het oogpunt van de X - as een hoek en de richting van de vector. De hoek tussen.De meting van de X - as vanuit het oogpunt van de wijzers van de klok in, tot in de cartesiaanse coördinaten van de richting, maar in:, Flash coördinatenstelsel, als gevolg van de y - as is omgedraaid, deze hoek wordt gemeten met de wijzers van de klok mee:,, dit kan gemakkelijk worden berekend met behulp van de volgende codes.Terug naar de grootte van de hoek in het bereik van 0 tot gebruikt de muziek.Als je niet weet wat de grootte van deze handleiding of hoe ze te gebruiken, door de 米迦勒杰姆斯威廉姆斯 zal je helpen met openbare functies (): de hoeveelheid {VAR hoek: = aantal wiskundige. Maar (positie positie. Y. X); als (hoek < 0) {- + = math.pi * 2} terug naar de hoek.;},, stap 9: product, twee vectoren zijn, hoeveel is niet van belang, maar het zijn twee nuttige toepassingen.Laten we eerst kijken naar het punt is hoe de voor de berekening van de producten, maar ook door de coördinaten van de vector: elk product, wat kan ons veel vertellen over de vector in de hoek tussen de: als het positief is, dan is het bereik van 0 tot 90 graden hoek.Indien het negatief is, hoek van 90 naar 180 graden.Als nul is, is vanuit het oogpunt van 90 graden.Dit is omdat in de eerste formule, alleen de cosinus verantwoordelijk was voor de producten van een "signaal": de omvang is positief.Maar we weten dat, vanuit het oogpunt van de cosinus zei dat een marge van 0 tot 90 graden, enz.) en negatieve punt nul, ook kan worden gebruikt om in de andere richting vector van de lengte van de vector.Zie het als een projectie.Dit bewijst dat in de as van scheiding als zeer nuttig (SAT) en de uitvoering van het spel in 3 in botsing detectie en reactie, dit is de echte code voor het verkrijgen van de hoeveelheid van het product: twee vectoren, openbare functie (othervector:euclideanvector): de hoeveelheid {terugkeer (locatie, locatie, locatie. Othervector X. X) + (y - positie. * * * * * * * othervector. Positie. Y);}, stap 10: minimumhoeken vector, zoals aangegeven in de hoek, stap 9, kan door het product.Hier is de wijze van berekening van de functie: monster (othervector:euclideanvector): de hoeveelheid {terugkeer wiskunde. Acos (punt (othervector) /(omvang (*) othervector. Omvang ());}, stap in, 11: de hoek tussen de vervoerders, maar ook op een andere manier worden gegeven voor de berekening van de resultaten betreft, tussen de voor de berekening van de pi pi en altijd vanuit het perspectief van de eerste en tweede drager van vectoren; dat je erg gemakkelijk en dat de integratie van de doelstellingen van de rotatie van het nuttig zijn (varieert van 180 tot 180), door de verwerving van de methode voor de hoek voor De vervoerder, en waarbij de hoek en op het werk, de resultaten van de code:,,. Taken rangedanglebetween (othervector:euclideanvector): de hoeveelheid {VAR firstangle: aantal var 2;Hoek: nummer; geen hoek: nummer; firstangle = wiskunde. Maar (othervector. Positie. Y, othervector. Positie. X); secondangle = wiskunde. Maar (positie positie. Y. X); - = secondangle - firstangle; en (hoek > wiskunde, de hoek van PI) = math.pi * 2; terwijl de (hoek < wiskunde, de hoek van PI) + = math.pi * 2, de hoek van herstel;}, nota van deze hoek is terug, secondangle, hoger dan in firstangle,,, dus krijg je de volgorde van de werkingssfeer van invloed zal zijn op het resultaat.Stap 12: normalisatie, de vector en normalisering van de amplitude van de vector, gelijk aan 1, maar ook in de richting van de voorbehouden en de betekenis van de vector.Om dit te bereiken, we reizen met de vector, 1 /amplitude.Zo, is de omvang van de vermindering of toename van de,, 1, de openbare functie normalize ():euclideanvector {var: de omvang (M = aantal); positie. X /= m; positie. Y /= m; terugkeer;}, stap 13: een vector, normaal, normaal een vector. Is een vector, die een hoek van 90° van de eerste.Het kan worden berekend met de volgende formule: de formule baseren op de feiten, want meestal loodrecht op een vector, we moeten alleen de volgorde veranderen de coördinaten X - en en omgekeerd, met een normaal.Het volgende beeld toont het proces in beeld:,,, vasculaire endotheliale cellen, is de oorspronkelijke drager is, vec2, vector, coördinatie, uitwisseling, en, vec3, is een vector, vec2, negatieve y de coördinaten.En, en, en 2, variabel is, maar de hoek tussen de VEC,, vec3, is 90 graden, en eenvoudige code, een openbare taak normalright ():euclideanvector {terug te gaan naar de nieuwe euclideanvector (nieuwe punten (positie, Y. X); openbare functie normalleft (}): terug naar de nieuwe euclideanvector {de euclideanvector (nieuwe punten (positie, Y. X);}, stap 14: roterende vector, die de roterende vector, we nemen (0, 0) van de locatie (begin) centrum zal draaien.Met de formule die de roterende: door toepassing van de formule in een matrix van de formule in.Wij moeten verder gaan dan de reikwijdte van deze handleiding als in de matrix en hoe het werkt, dus ik heb de formule, de code is hetzelfde: de openbare functie, roterende (angleinradians: aantal): euclideanvector {VAR newposx: hoeveelheid = (positie. X * omdat wiskunde. (angleinradians)) - (y * * * * * * *. Wiskunde. Misdaad (angleinradians); var newposy: hoeveelheid = (positie. X - wiskunde. Misdaad (angleinradians)) + (positie. Y * wiskunde. Omdat (angleinradians); positie. X = newposx; positie. Y = newposy; terugkeer;}, dit is ons aan Het einde van de vector.Je zal zien hoe het gebruik van dit soort dingen te doen.Dit is onze klas tot op de dag van invoer. {flash.geom.point; in de loop van de positie van euclideanvector {de variabelen: punt; de variabele: aantal; de functie van euclideanvector (eindpunt: eindpunten) {} =; openbare functie in het nieuwe:euclideanvector () {terug euclideanvector (nieuwe punten (standpunt van de positie. X. Y) de som van de publieke functie);} {(othervector:euclideanvector): euclideanvector. X + = othervector. Positie. X; positie. Y + = othervector. Positie. Y; terugkeer; vermindering van openbare functies) (othervector:euclideanvector): euclideanvector {positie. X = othervector. Positie. X; de positie van de positie van othervector. Y =. Y; terug.De vermenigvuldiging van openbare functies;) (nr. Nr.): euclideanvector {x = aantal positie.; y * = aantal. De positie van terugkeer; openbare functies; de omvang (}): de hoeveelheid {terugkeer wiskunde. Sqrt ((positie positie. X. X) + (locatie, locatie, y)); de openbare functie} (): de hoeveelheid {VAR hoek: = aantal wiskundige. Maar (positie positie. Y. X); als (hoek < 0) {- + = math.pi * 2;} terug de hoek;} openbare functie (othervector:euclideanvector): de hoeveelheid {terugkeer (x othervector positie.. positie. X) + (positie. Y * * * * * * * othervector. Positie. Y); de openbare functie van de hoek} (othervector:euclideanvector): de hoeveelheid {terugkeer (punt (wiskunde. "Othervector) /(omvang (*) othervector. Omvang ())); de openbare functie) rangedanglebetween (othervector:euclideanvector): de hoeveelheid {VAR firstangle: nummer; var secondangle: nummer; geen hoek: nummer; firstangle = wiskunde. Maar (othervector. Positie. Y, othervector. De positie van secondangle atan2. X); (= wiskunde. Positie positie. Y. X); - = secondangle - firstangle; en (hoek > wiskunde, de hoek van PI) = math.pi * 2; en (hoek < wiskunde, de hoek van PI) + = math.pi * 2, de hoek van herstel van de functie normalize;} {x positie:euclideanvector () ('); de positie van de omvang. = = = = = = = (y). De omvang van de functie van de normalright; terugkeer;:euclideanve (})Dokter {terug te gaan naar de nieuwe euclideanvector (nieuwe punten (positie, Y. X); openbare functie normalleft (}):euclideanvector {terug te gaan naar de nieuwe euclideanvector (nieuwe punten (positie, Y. X); de openbare functie) (angleinradians draaien: aantal): euclideanvector {VAR newposx: aantal (X = positie. Wiskunde. Omdat (angleinradians)) - (positie. Y * wiskunde. Misdaad (angleinradians); var newposy: hoeveelheid = (positie. X - wiskunde. Misdaad (angleinradians)) + (positie. Y * wiskunde. Omdat (angleinradians); positie. X = newposx; y = newposy; terug in positie.;}}}, oké, we hebben een soort van de vector, laten we nu eens kijken naar het gebruik van het.,, 15 stappen: de bepaling van een punt in een van de oorzaken of de veelhoekHier is het begonnen.Een beetje te bepalen of de veelhoek is een zeer interessant onderwerp, zijn er veel manieren voor het bereiken van dat doel.In dit artikel, wordt gebruikt voor de drie soorten, dat wil zeggen, die nummer of vreemde regels, vast te stellen of een punt is van een "Ray" te stemmen uit de punten tot in het oneindige te overschrijden, het aantal windingen van algoritmen, dit antwoord gegeven op basis van de vorming van de Top van de continuïteit tussen alle hoek en punt om te controleren of de veelhoek.,,..., dit is afhankelijk van de vraag of er een "kant" van elke kant van de veelhoek van Polygon. Hoek), 16, stappen.Of zelfs het aantal regels algoritme gebruikt kan worden.Dit is wat je leest: elke vorm, heeft het gat, is het de convexe of niet.Het is gebaseerd op het feit dat een van de punten, Ray, wil je tot in het oneindige, aan de rand van de trans - zelfs als is de vorm van de rand, of vreemd, als het de bedoeling is de binnenkant van de vorm.Dit kan worden aangetoond door de curve van Pythagoras, het betekent dat je moet over de grens tussen een aantal regio 's en de andere regio' s, als je wilt dat zich van de ene naar de andere.In onze zaak, onze regio 's zijn "in de vorm van" en "buiten de vorm".,,, de code voor dit algoritme is de volgende, openbare functie isPointInsideShape1 (point:EuclideanVector, shapeVertices:Vector.< EuclideanVector>): booleaanse {VAR numberOfSides:int = shapeVertices.length; var i:int = 0; var j:int = numberOfSides var oddNodes:Boolean - 1; = vals; terwijl (I < numberOfSides) {als (shapeVertices[i].position.y < point.position.y & & shapeVertices[j].position.y > = point.position.y)