en segmenten, de snelle reactie van de botsing tussen: een cirkel, lijn,,,,,,,,,, delen, deel 3,,,,,,, de delen van het netwerk, maandag wat in tuts + koers zal dalen tot slechts 3 dollar.Niet' dit artikel niet missen, is een reeks bekend als onderdeel van de reactie van de botsing en. Tip: rond en lijn op het niveau van de botsing tussen de omzetting van segmentpixel grafische botsing in het verleden, snel, we hebben de botsing ontdekt: in wezen twee vormen van overlappingen.Nu, we zijn klaar om naar de botsing, reactie, omdat een botsing is gebeurd.In deze snelle reactie, kijken we reflectie en glijden,, aan het eind van de uiteindelijke resultaten bekijken, laten we eens kijken, zullen we aan het einde van de les.Elke flash toont een herstart knop, klik opnieuw op het toneel van de ring van de locatie, de eerste over de demo,,,, de tweede show:, glijden,:,, stap 1: reflecterende, ik ben door dit onderwerp en de studenten de rondes, en de ervaring leert me over de nieuwe resultaten op. Wezenloze gezichten uit de vector wiskundige methoden en in de war is positief.Dus, neem een wiskunde, hier, ik bedoel die bij de bestudering van dit onderwerp verder op pagina 's met wolfram, hier moet ik geïnteresseerd in het volgende schema vereenvoudigen, mijn interpretatie.Herinnert aan de vector toevoeging:, nu, op de volgende kaart.De snelheid van een rond is voor de botsing, en een "is het na de botsing van de snelheid, is het duidelijk dat een" = 1 + 2 volt (1, de), waar V (1, op de omvang van de vertegenwoordiger), vector een, in de richting van de 左正常.Je kan zien dat het de volgende streepjes.), met het oog op het verkrijgen, v a p), aan de linkerkant, ons project normaal. Stap 2: uitvoering, om na te denken over het script te bereiken.Ik met nadruk op de belangrijke deel.Nr. 67, 69 is berekend, V A, P,,) (, v_leftnormseg2,) en 70 lijn voor het bereiken van de formule.Je kunt verwijzen, reaction1 volledig gerealiseerd. Als de.,, (moet je weten dat de meeste van de code van de vorige tip.), privé - functie op de (E: gebeurtenissen): ongeldig {(var i:int = 0; ik < circles.length; I + +) (///////c1_circle var de bal. De verticale afstand: vector2d = nieuwe vector2d (sector [M]. X x1, sector [I]. Y - 1); c1_circle_onnormal: hoeveelheid = c1_circle var. Projectionon (leftnormal); var c1_circle_online: hoeveelheid = c1_circle. Projectionon (draad); ///////als een botsing, als het om sport (wiskunde (ABS - c1_circle_onnormal). < [M] = kringen. Straal & & lijn. Dotproduct (c1_circle) > 0 & & c1_circle_online < lijn. Getmagnitude () {///////v_lef snelheid definitie var.Tnormseg2:vector2d = leftnormal (); var leftnormseg2_mag: = aantal wiskundige. ABS (velos [I]. Projectionon (leftnormal)) v_leftnormseg2. Setmagnitude (leftnormseg2_mag); velos [M] = [M] velos (v_leftnormseg2. Toegevoegd. Met de (2));} kringen [M] = [M X + velos.], [I] X; de Gemeenschap. Y + = velos [M]. Y;}},, stap 3: interactieve versie, neemt er nota van dat deze formule is van toepassing op alle lijnen die helling.In feite, kan je in de programmering van je, en dat het met een soortgelijke flash kan als volgt worden samengevat.Klik op en slepen in de buurt van de ondergrens van het opnieuw definiëren.,, stap 4: glijden langs glijden langs, het concept van de reflectie is bijna hetzelfde.Op de volgende kaart is van de vector, dia 's, een is een + 5 (een, een, een, vijf, een, een, een, dat getuigt van een vector de grootte van een,,.Nogmaals, voor het verkrijgen van een project, zullen we een 左正常. Let op, als de cirkel is langs de lijn glijden, en het is een botsing.Natuurlijk, de botsing in de lijn van de verschillende in botsing op de cirkel, zodat overlapping in de mobiele langs de lijn.Dit ziet er niet goed uit, dus moeten we opnieuw hun positie. Stap 5: opnieuw worden gedefinieerd, en laten we nu online nieuwe weg, met behoud van hun contact.Zie onderstaande tabel, een belangrijke variabele is een projectie van de berekening van langs.De straal van de cirkel is klaar, we hebben, dus we kunnen de vector vormen en een verhoging met 2 geeft ons een exacte locatie, de positie van de ring.Simpel.Hier is volgens de genoemde idee van een code.Maar er is een probleem: de wond gaan, er is een laatste details die we gemist hebben.De aangegeven amplitude moet gelijk zijn aan de straal van de cirkel.Maar dit zal terug naar de locatie.Aangezien er geen botsing van ronde vallen aan de lijn, dat op zijn beurt de vlag van de botsing botsing die ring en heroriëntatie van de cyclus zal herhalen, tot aan het einde van de lijn in de afgelopen periode; dat de visuele effecten is gaan, de invloed van dit probleem. De oplossing is om de omvang van de C van iets minder dan de straal van de cirkel. (1 de straal van de cirkel, zeg.Een demonstratie met behulp van dit idee aan de volgende stap 6: uitvoering:,,, dus hier is de glijden langs een rechte lijn van de belangrijke script deel van de code.Ik benadruk, een belangrijk onderdeel van privé - functie op de (E: gebeurtenissen): ongeldig {(var i:int = 0; ik < circles.length; I + +) (///////c1_circle lijn var: de verticale afstand vector2d = nieuwe vector2d (sector [I] X - x1. [M] y a 1, wereld.); var c1_circle_onnormal: hoeveelheid = c1_circle. Projectionon (leftnormal); var c1_circle_online: hoeveelheid = c1_circle. Projectionon (draad); ///////- botsing als (wiskunde. ABS (c1_circle_onnormal) < [M] = kringen. Straal) {////////als bedoeld in paragraaf controleren in de berekening van de snelheid, opnieuw en opnieuw als de lijn. Dotproduct (c1_circle) > 0 & & c1_circle_online < lijn. Getmagnitude () {///////v_lineseg:vector2d = line.cl var opnieuw worden.1 (); v_lineseg. Setmagnitude (c1_circle_online); var v_leftnormseg1:vector2d = leftnormal (); v_leftnormseg1. Setmagnitude (sector [I]. Binnen een straal van 1); ///////v_leftnormseg1. Setmagnitude (sector [I]. Straal); ///////opmerkingen uit dit onderzoek Een fout: gaan de effecten: vector2d = v_lineseg var - vermindering toe te voegen (v_leftnormseg1. In de wereld van de [M]), X = x1 + reset. X; de wereld [M] = y1 +. Y - y; ///////snelheid. De definitie van reactieve v_leftnormseg2:vector2d = leftnormal (); var leftnormseg2_mag: = aantal wiskundige. ABS (velos [I]. Projectionon (leftnormal)) v_leftnormseg2 setmagnitude (leftnormseg2_mag). Veloalongline:vector2d; var [M] = velos. Toevoeging van (v_leftnormseg2); sector [M] = veloalongline. X + X; de Gemeenschap. [I].Y = veloalongline. Y;} ///////(bijvoorbeeld als niet uit de hierboven), blijven vallen andere {kringen [M] = velos. X + [M], [I] X; de Gemeenschap. Y + = velos [M]. Y;}} ///////, in de eerste plaats niet botsen, schenk hem {Gemeenschap [M] = velos. X + [M], [I] X; de Gemeenschap. Y + = velos [M]. Y;}}},, conclusies, in de hoop dat dit helpt.Bedankt voor het lezen.Dat ik als er problemen zijn, dan zie ik je in het kader van een snelle hint.,
Een snelle Hint: botsingen tussen
Previous:5 - in het spel aan