Wiskunde en de normale gradiënt en behandelingen curve:

, wiskunde en de normale gradiënt en behandelingen curve:,,,,,,,,,, delen, 10 - eenheid,,,,,,, de delen van het netwerk, maandag wat in tuts + koers zal dalen tot slechts drie dollar.Niet' niet missen.,, hebben we de bocht, en ze vinden vierkante en kubieke wortels in het spel, en de toepassing van de wet en de tweede.En nu, zoals beloofd, we kijken naar de toepassing van de kubus, wortels, en dat de normale gradiënt en vormen, zoals de reflecterende oppervlak van voorwerpen.Kom opVoorbeelden van,,,,, laten we eens kijken naar een daadwerkelijk gebruik van dit wiskundig:,, in deze demonstratie, het schip van de SWF 's en de rand van de curve rebound.De gele op de curve van de vertegenwoordiger van het dichtst bij.Je kan door die rode punt aan te passen aan de vorm en het gebruik van de pijl aanpassing van de bewegingen van schepen, stap 1: de kortste afstand te vormen, laten we een beetje in de buurt van de curve van de tweede scène.Hoe je voor de berekening en de kromme van de kortste afstand tussen?Goed, laten we de,, wat de theorie, het punt is dat, [(x_p,,,,, y_p), telefoon - en het dichtstbijzijnde punt van de curve (x_c \\ \\ \\ \\ \\, y_c), z, zo: ^ 2 = 2 + 2 X ^ y ^ \\ \\, - z ^ 2 = (2 + (x_c-x_p) ^ y_c-y_p) ^ 2 /, en y_c = het ax_c ^ 2 + bx_c + C \\ \\, z ^ 2 = (2 + ^ x_c-x_p) [(ax_c ^ bx_c + 2 + C) - y_p] ^ 2), zie je we zijn vervangen Door - (y_c \\) en de tweede vergelijking.Kijk, kunnen we zien dat de hoogste autoriteit is 4.Dus, we hebben een vergelijking, vier keer.Wat we moeten doen is het vinden van een minimale punt in deze vergelijking geeft ons een beetje de kortste afstand voor een tweede bocht, maar daarvoor moeten we weten wat een bocht... Gradiënt, stap 2: helling, als we kijken naar de jongste vier keer een dollar vergelijkingen. Laten we proberen te begrijpen wat de gradiënt van de curve.Een rechte lijn alleen een gradiënt.Maar de tweede keer helling hangt af van wat we de curve: op welke punten.Controleer de volgende presentaties, rondzwervend als volgt: de rode vlekken veranderen de curve van de tweede.Je kan ook spelen, ook om de positie van de blauwe handvat langs de X - als de blauwe punt veranderingen zal brengen, dus de helling, stap 3: gradiënt door middel van wiskunde, het is wiskunde in gelegen.Je raadt het al, een onderscheid te maken tussen een kwadratische vergelijkingen geef je helling,, [, F (x) = AX ^ 2+bx+c \\,, breuken (DF (x)} {} = DX enige + B] (, breuken, dus, DF (x) {} {DX -} \\) is een tweede helling, en, afhankelijk van de coördinaten in (x).Oké, we hebben een behandeling, diff1 goed: (x: nummer), zal een interne differentiatie van de waarde van de helling terug, en we moeten een formule, \\ (y = MX + C).De blauwe coördinaten ((x_p, y_p)), zal worden vervangen door \\ (x) en (y), dat door de helling van de differentiatie in - (m).Dus, lijn onderscheppen, en (C) door middel van een wiskundige berekening kan werken. Kijk, 3: aantal variabelen = waarde var - y: hoeveelheid = quadratic_equation. Fx_of (smaak), punt X = X, y = Y.; /* * * * * * * * * * * * * * Y = MX + C; c = Y MX < het gebruik van deze ontdekking; = = c * /(M = aantal quadratic_equation:. Diff1 (x); het aantal variabelen = Y M * *; grafische. Duidelijk ('); grafische. Type (1, 0xFF0000); grafische op (0, C).; grafische. Lineto (stage.stagewidth, m * * * * * * * stage.stagewidth + C);,, stap 4: systeem van coördinaten, altijd rekening houden met de coördinatie van de ruimte de y - as - zoals blijkt uit onderstaande tabel.Op het eerste gezicht Rechts ziet er misschien uit als een negatieve helling - maar omdat de omkering van de y - as, het is eigenlijk een positieve gradiënt.,, toont ook aan dat lager is dan het laagste punt.Vanwege de omgekeerde Y - as, de laagste in de cartesiaanse coördinaten ((0,0) lijkt in de coördinaten van de grootste - ruimte.Maar in het licht van de curve van de tweede ruimte ten opzichte van de coördinaten van de locatie, het is eigenlijk een minimum van 5%, de verandering van de helling van de maatregelen: de, laten we zeggen dat ik geïnteresseerd in het vinden van een bocht op het laagste punt van - hoe moet ik doorgaan?Kijk naar de foto 's van de volgende (of de mensen in één ruimte).,, voor het verkrijgen van de minimale punt, hebben we, (en breuken (DF (x)} {} = 0 DX), omdat uit de definitie die we zoeken de helling nul.Maar zoals hierboven is aangetoond, dat de grootste curve is aan deze situatie.Hoe kunnen we een onderscheid te maken tussen deze twee soorten?Laten we proberen een onderscheid te maken tussen de twee graden.Het zal ons de veranderingen van de helling van het tarief [\\frac.,, DF (x) {} {} = DX enige + b \\,, breuken (DF) 2 (x)} {2} = DX - ^ 2], wil ik verwijzen naar de volgende interpretatie van de beelden van (schilderijen In de cartesiaanse coördinaten).We kunnen zien dat we een verhoging van de verandering van de helling in X - richting van negatief naar positief.Dus, het tempo van de veranderingen is moet, positieve, waarde, kunnen we ook zien als \\ (en breuken (DF) 2 (x)} {2} DX - ^) en het is positief, en er is op het laagste punt van de curve.Integendeel, als de snelheid is negatief, zou een van de grootste punt is er, stap 6: terug naar de vraag, nu zijn we klaar voor de aanpak van de problemen van de stappen 1.Herinnert aan de vergelijking van vier keer (met inbegrip van de hoogste graad 4) We komen:,, [z ^ 2 = (2 + ^ x_c-x_p) [(ax_c ^ 2 + bx_c + C) - y_p] ^ 2], dezelfde vergelijking van vier keer, plannen, weet je, we zijn geïnteresseerd in Het vinden van de het minimum in de bocht, want in de vluchtweg op het desbetreffende punt van de minimale afstand is de rode punt, dus laten we een onderscheid te maken tussen de functie van deze bocht vier keer door de helling, en dan deze vier keer de helling van de functie van de nul.Zie je de gradiënt is in feite een derde functie.Ik zal die lezers te hebben Wolfram's blz.; voor deze les, ik pluck, het resultaat van hun fysieke workings:, [, \\frac{d (Z)}{dx}=, 2 (x_c-x_p) + 2 (ax_c^2 + bx_c + C - y_p) (2ax_c+b) \\ \\, \\frac{d (Z)}{dx}= 2a^2 (x_c) ^3+3ab (x_c) ^ 2 + (b^2+2ac-2ay_p+1) (x_c) + (bc-by_p-x_p) \\ \\, Equate\\ gradient\\ to\\ 0\\\\, \\frac{d (Z)}{dx}=0\\\\, 2a^2 (x_c) ^3+3ab (x_c) ^ 2 + (b^2+2ac-2ay_p+1) (x_c) + (bc-by_p-x_p) =0\\\\, Compare\\ with\\ cubic\\ equation\\\\, Ax^3+Bx^2+Cx+D=0\\\\, a = 2a^2\\\\, B=3ab\\\\, C=b^2+2ac-2ay_p+1\\\\ D=bc-by_p-x_p \\] zijn,,, voor de wortels van deze (in plaats van rommelig) kubieke functie en we maken op de coördinaten van de drie blauwe punten als vullen 4, de volgende, hoe doen we het filter onze resultaten voor de minimale punt?Uit de vorige een stap in de richting van een minimale een positieve verandering in%.Om deze veranderingen in de koers van een onderscheid moet worden gemaakt tussen de vertegenwoordigers van de drie functies van de helling.Als een blauwe punt het tempo van de veranderingen van de positieve, het punt van de kleinste.Ga, de kleinste van de mensen die geïnteresseerd zijn in wat we kiezen voor een verandering van het hoogste percentage van de punten: de produktie van 7, maatregelen nemen, dus hier is een idee zoals hierboven uitgelegd.Kan je die rode stippen op de pas je vluchtweg.Blauwe punt ook kan worden meegenomen.Als je beweegt met blauw, Geel wordt verplaatst, blauwe en gele punt om de afstand tussen alle punten op de curve tussen een minimum van je flash demonstratie.,, interactieve, kunnen er drie gele zijn in een keer.Deze twee, vervagen, is gebaseerd op de berekening van de wortel is verworpen omdat ze niet in de buurt van de curve in de blauwe punt.,, 8: de verwezenlijking van de bovengenoemde behandelingen, dus hier is het script te bereiken.Vind je de volledige scenario 's, 2,, wij willen in de eerste plaats de curve.De nota die de matrix, M2, zal worden bedoeld voor verdere calculation., privé functie redraw_quadratic_curve ():. {VAR cmd:Vector.< int> = nieuwe Vector.< int> var coord:Vector.< Number> = nieuwe Vector.< Number> //redraw curve; 1 = nieuwe Matrix3d (curve_points[0].x * * * * * * * curve_points[0].x curve_points[0].x, 1, 0, * * * * * * * curve_points[1].x, curve_points[1].x, curve_points[1].x, 1, 0, curve_points[2].x * * * * * * * curve_points[2].x, curve_points[2].x, 1, 0, 0,0,0,1); m = nieuwe Matrix3d (curve_points[0].y, 0, 0, 0, 0, 0, 0 curve_points[1].y,, curve_points[2].y, 0, 0, 0, 0,0,0,1) m1.invert (m2.append (M1);); quadratic_equation. De definities (m2.n11, m2.n21, vierkante meter. 31); (var i:int = 0; ik < stage.stagewidth; I + = 2) {als (M = = 0) CMD. Duw (1); een ander bevel. - (2); coördinatie op (ik, quadratic_equation. (i)). Fx_of;} grafische. Duidelijk ('); grafische. Type (1); grafische weergave weg (CMD, coördinaten);}, dit is de verwezenlijking van een wiskundige concepten uitleggen., C1, verwijst naar een willekeurige plaats in de arena.Functie: ongeldig, particuliere recalculate_distance () {var: de hoeveelheid = vierkante meter. 11; var. B: het aantal = m2.n21; het aantal variabelen = m2.n31; /* f (x) = ax BX - ^ ^ 3 + 2 + C + D * /voor het creëren van een nummer 2 * * * * * * * * * * * * * * = eerste b = 3 * * * * * * * de variabele aantal b * = B + 2 × b * * * * * * * * * * * * * * * * * * * * * * * * * * * * C 2 een C1. Y + 1 var. D: de hoeveelheid = c b b * C1 C1. Y. X - quartic_gradient = nieuwe eqcubic (); quartic_gradient. Definities (A, b, C, d); quartic_gradient. Calcroots (); = quartic_gradient.roots_r; var: wortel = [0]; als (!Isnan (wortel [1]) & &.Isnan (wortel [2])) {///////gradiënt en berekening van de echte kern van de verandering van de helling van de VAR - quartic_rate: vector. < aantal > = nieuwe luchtvaartmaatschappij. < aantal > (var i:int = 0; ik < roots.length; I + +) (als (!Isnan (wortel [M])) (quartic_gradient quartic_rate. Duwen. Diff1 (wortel [M]); andere wortels. Aansluiting (I, 1);} ///////wortel die de kortste afstand (var j:int = 1; J < roots.length; j) {///////percentage overeenkomt met de wortel moet de hoogste waarde is positief omdat dit zou in overeenstemming zijn met het /de laagste als (quartic_rate J > quartic_rate [J] (1) [}} {= wortels; ///////position_extras positie in de presentatie () extra wortels;} Andere ///////kill_extras (geschrapt) (presentatie van de intersec_po extra wortels;}In X = kiezen [0]. Intersec_points [0]. Y = quadratic_equation. Fx_of (selectie);}, stap 9: bijvoorbeeld: botsing, laten we gebruik maken van dit concept voor de opsporing en de curve van de overlapping tussen de cirkel, het idee is simpel: als de blauwe en gele punt is de afstand tussen de punt van de kleine straal, we hebben een botsing.Controleer de volgende presentatie.Interactieve projecten is rood en blauw (controle - curve).Als de blauwe plekken van de botsing met rondingen, zal het ontzoutings punt 10:.,, stap gerealiseerd te bereiken, de code is zeer eenvoudig.De volledige lijst van de bron, de botsing, grafische. MoveTo (intersec_points [0] [0] intersec_points. X. Y); grafische. Lineto (C1. X, C1. Y); var. Afstand: het aantal = geblokkeerd. De stelling van intersec_points [0]. X, Y, intersec_points [0]. De X - en Y - C1, C1). Als (afstand < c. De straal van c1.alpha = 0,5); andere c1.alpha = 1; t.text = afstand. Precisie (3); 11:,, stap uit de curven van de rebound, dus nu weten we dat, als dat gebeurt, laten we proberen een botsing van programma 's.De oppervlakte van de kogel?Naar de volgende presentaties, zie je de boot (driehoekige vorm), omgeven door een cirkel (doorzichtige blauw).Zodra de ronde en de curve van het schip zal herstellen, de oppervlakte, de 12 stappen.: controle van schepen, de controle van het schip hier gerealiseerd, openbare functies collisiondetection2 () {/* * * * * * * de concretisering schip & blauw - gebied van de cirkel * /schip = nieuwe driehoek (); addchild (schepen); x = aantal schepen. Leren. * * * * * * * stage.stagewidth); het schip. Y = stage.stageheight × 0,8; C1 = nieuwe ring (0x0000ff, 15); addchild (C1); c1.alpha = 0,2; /* * * * * * * de snelheid van Het schip /snelheid = nieuwe vector2d (0 en 1); updateship () addEventListener; fase. (keyboardevent.key_down, handlekey); addEventListener (fase. Keyboardevent.key_up, stage.addeventlistene handlekey);R (event.exit_frame, handleenterframe); * * * * * * * * * * * * * * //curve en de berekening van quadratic_equation = nieuwe eqquadratic (); curve_points = nieuwe luchtvaartmaatschappij. < ring >; (curve_points vullen, 0xFF0000, 3); intersec_points = nieuwe luchtvaartmaatschappij. < ring >; (intersec_points vullen, 0xffff00, 3, redraw_quadratic_curve niet); (de); (e) privé - functie handlekey: mobiele): ongeldig als (e.type = = "keydown") {als z 'n vrouw = = toetsenbord (=; anders als) (= = toetsenbord.) I = echt (= = weg kan, als het toetsenbord is = echt; anders. Als) (= = toetsenbord. Rechts) = waar;} als (e.type = = "keyup") {Als (= = toetsenbord) (= valse; anders als (vrouw = = toetsenbord.) i = valse; als (= = = toetsenbord. Links) is anders als (valse; vrouw = = toetsenbord. Rechts) = valse;}} privé functie handleenterframe (E: geval): nietigverklaring van de omvang van De op de controle * * * * * * * * * * * * * * (//als de snelheid ((). Setmagnitude (wiskunde. Min (snelheid). Getmagnitude (+ 0,2, 3); als de snelheid (ik). Setmagnitude (wiskunde. Max (snelheid). Getmagnitude (- 0,2 1); * * * * * * * * * * * * * *) de controle als de richting /(de) snelheid. Setangle (snelheid. Getangle () + 0,03); of (is) als de snelheid. Setangle (snelheid. Getangle () - 0,03); recalculate_distance (); Als (afstand < c. De straal van de grens)NVU () (); updateship;} /* * * * * * * de positie van het vaartuig, de richting en de vernieuwing van het gebied (blauwe - ring) * /private functie updateship ():void {X + = snelheid van het schip.. X; + = snelheid van het schip. Y. Y; ship.rotation = geblokkeerd. (snelheid getangle ().); c. X = schip. X; c. Y = schip. Y; als (schip. X > stage.stagewidth



Previous:
Next Page: