Adott pálya mentén történő mozgás animációja. Útvonal-mozgás opciók Készítsen animációkat a javasolt minták alapján

  • Időpontja: 14.02.2022

A pálya mentén történő mozgást a fenti példához hasonlóan valósítjuk meg. Az egyenes vonal mentén történő mozgás megvalósításához a csomópontnak számító változókat bizonyos állandókkal növeljük (a példában az x2, y2 változók). Bonyolultabb pálya meghatározásához különféle parametrikus görbéket használhat. Síkon való mozgás esetén általában egy paramétert módosítanak. Tekintsünk egy példát egy kör mozgásának végrehajtására egy derékszögű lap mentén.

Descartes lap- harmadrendű síkgörbe, amely téglalap rendszerben kielégíti az egyenletet. A paraméter egy olyan négyzet átlója, amelynek oldala egyenlő a hurok legnagyobb húrjával.

Paraméteres nézetre váltva a következőket kapjuk:

A szoftver megvalósítása így néz ki:

a System.Collections.Generic használatával;

a System.ComponentModel használatával;

a System.Data használatával;

a System.Drawing használatával;

a System.Linq;

a System.Text használatával;

a System.Windows.Forms használatával;

névtér WindowsFormsApplication1

nyilvános részosztály Form1: Form

privát int x1, y1, x2, y2;

privát kettős a, t, fi;

privát toll toll = new Pen(Szín.Sötétpiros, 2);

InitializeComponent();

private void Form1_Load(objektum küldő, EventArgs e)

x1 = ClientSize.Width / 2;

y1 = ClientSize.Height / 2;

t = Math.Tan(fi);

private void Form1_Paint(objektum küldő, PaintEventArgs e)

Grafika g = e.Grafika;

g.DrawEllipse(toll, x2, y2, 20, 20);

privát void timer1_Tick(objektum küldő, EventArgs e)

t = Math.Tan(fi);

x2 = x1 + (int)((3 * a * t) / (1 + t * t * t));

y2 = y1 - (int)((3 * a * t * t) / (1 + t * t * t));

privát void button1_Click(objektum küldő, EventArgs e)

A mozgáspálya létrehozásához szükséges számos érdekes görbe leírása megtalálható a Wikipédián a "Cycloid Curve" című cikkben.

Laboratóriumi feladat

Fedezze fel az osztálymódszereket és -tulajdonságokat az MSDN súgójával Grafika,szín,tollÉs SolidBrush. Hozzon létre saját alkalmazást a következőhöz animációk egyedi igényeknek megfelelően.

    ciklois.

    hipocikloid nál nél k=3,k=4,k=6,k=2,1,k=5,5

    Készítsen körmozgásos programot epicikloid különböző értékeken k.

    Készítsen programot, amely megjeleníti az építési folyamatot hypotrochoidok.

    Hozzon létre egy programot, amely szimulálja a görbék felépítését a segítségével spirográf.R, r, dönkényesen vannak beállítva.

    szinuszos.

    Kör mozgás végig spirálok.

    Készítsen programot a kör mozgatására traktor(íves hajsza).

    Kör mozgás végig Katalán triszektor(Chirnhaus-kocka).

    Lissajous figurák, tetszőleges megadott paraméterekkel.

    Alkalmazás fejlesztése, amely megjeleníti az építési folyamatot kapcsolódó csillagok, tetszőleges számú csúcsgal.

    Készítsen mozgásprogramot inga csillapítással.

    Hozzon létre egy programot, amely animálja a különféle építkezési folyamatokat spirálok(parabolikus, logaritmikus, arkhimédeszi spirál Cornu, klotoid).

    Készítsen programot, amely megjeleníti az építési folyamatot Bernoulli lemniszkátusai.

    Hozzon létre egy mozgásprogramot egy objektumhoz perseus görbe különböző értékeken a,bÉs tól től.

    Készítsen programot a pont mozgatásához bezier görbe negyedik rend. A csomópontokat a felhasználó tetszőlegesen állítja be a görbe megrajzolása előtt.

    Tervezz egy programot hulló hópehely animáció, amelyek különböző pályákon és különböző sebességgel esnek.

    Tervezz egy programot repülő bumeráng animáció.

    Hozzon létre egy programot, amely megmutatja több csillag bukása egyidejűleg.

    Hozzon létre egy alkalmazást, amely megjeleníti kaotikus mozgás csillagok az ablakban.

    Hozzon létre egy programot, amely megmutatja kör mozgása sokszög mentén. A csúcsok számát a felhasználó adja meg az animáció előtt.

    Hozzon létre egy alkalmazást, amely megjeleníti Brown-mozgás molekulák az ablakban.

    Tervezz egy programot a bolygók animációja a naprendszerben.

    Készítsen programot, amely egy négyzet mozgását mutatja be egy 100 pontból álló és egy speciális tömbben tárolt pálya mentén.

Röppálya(késő latin pályákból - mozgásra utalva) - ez az a vonal, amely mentén a test mozog (anyagi pont). A mozgás pályája lehet egyenes (a test egy irányba mozog) és görbe vonalú, azaz a mechanikai mozgás lehet egyenes és görbe vonalú.

Egyenes pálya ebben a koordinátarendszerben egy egyenes. Feltételezhetjük például, hogy egy autó pályája kanyarok nélküli sík úton egyenes.

Görbe vonalú mozgás- ez a testek mozgása körben, ellipszisben, parabolában vagy hiperbolában. A görbe vonalú mozgásra példa a mozgó autó kerekén lévő pont mozgása, vagy egy autó mozgása kanyarban.

A mozgás trükkös lehet. Például a test mozgásának pályája az út elején lehet egyenes, majd görbe vonalú. Például egy autó az út elején egyenes úton halad, majd az út "szélelni" kezd, és az autó kanyarodik.

Út

Út az út hossza. Az út skaláris mennyiség, és a nemzetközi mértékegységrendszerben az SI-t méterben (m) mérik. Útvonalszámítást a fizika számos problémájában végeznek. Néhány példát ebben az oktatóanyagban később tárgyalunk.

Eltolási vektor

Eltolási vektor(vagy egyszerűen mozgó) egy irányított vonalszakasz, amely összeköti a test kezdeti helyzetét a későbbi helyzetével (1.1. ábra). Az elmozdulás egy vektormennyiség. Az eltolási vektort a mozgás kezdőpontjától a végpontig irányítjuk.

Eltolási vektor modulusa(vagyis a mozgás kezdő- és végpontját összekötő szakasz hossza) lehet egyenlő a megtett távolsággal vagy kisebb is, mint a megtett út. De az eltolási vektor modulja soha nem lehet nagyobb, mint a megtett út.

Az elmozdulásvektor modulja megegyezik a megtett távolsággal, amikor az út egybeesik a pályával (lásd a és szakaszokat), például ha az autó egyenes úton halad A pontból B pontba. Az eltolásvektor modulja kisebb, mint a megtett út, amikor az anyagpont ívelt pályán mozog (1.1. ábra).

Rizs. 1.1. Az elmozdulásvektor és a megtett távolság.

ábrán 1.1:

Egy másik példa. Ha az autó egyszer elhalad egy körben, akkor kiderül, hogy a mozgás kezdőpontja egybeesik a mozgás végpontjával, és ekkor az elmozdulásvektor egyenlő lesz nullával, és a megtett távolság egyenlő lesz a mozgás végpontjával. körméret. Így az út és a mozgás az két különböző fogalom.

Vektor összeadási szabály

Az eltolási vektorokat geometriailag adjuk össze a vektorösszeadás szabálya szerint (a háromszög szabály vagy a paralelogramma szabály, lásd 1.2. ábra).

Rizs. 1.2. Eltolási vektorok összeadása.

Az 1.2. ábra az S1 és S2 vektorok összeadásának szabályait mutatja:

a) Összeadás a háromszög szabálya szerint
b) Összeadás a paralelogramma szabály szerint

Eltolási vektor vetületek

Fizikai feladatok megoldása során gyakran használják az eltolási vektor koordinátatengelyekre vetítését. Az eltolási vektor vetületei a koordináta tengelyekre a végének és kezdetének koordinátái közötti különbséggel fejezhetők ki. Például, ha egy anyagi pont A pontból B pontba került, akkor az elmozdulásvektor (lásd 1.3. ábra).

Az OX tengelyt úgy választjuk meg, hogy a vektor ezzel a tengellyel egy síkban legyen. Engedjük le a merőlegeseket az A és B pontból (az eltolásvektor kezdő- és végpontjából) az OX tengellyel való metszéspontig. Így megkapjuk az A és B pontok vetületét az X tengelyen.. Jelöljük az A és B pontok vetületeit A x és B x. Az A x B x szakasz hossza az OX tengelyen - ez eltolási vektor vetítés az x tengelyen, vagyis

S x = A x B x

FONTOS!
Emlékeztető azoknak, akik nem ismerik nagyon jól a matematikát: ne keverje össze a vektort a vektor egyetlen tengelyre való vetületével (például S x). Egy vektort mindig egy vagy több betű jelöl, felette nyíllal. Egyes elektronikus dokumentumokban a nyíl nincs elhelyezve, mivel ez nehézségeket okozhat az elektronikus dokumentum létrehozása során. Ilyenkor vezessen a cikk tartalmától, ahol a betű mellé írható a „vektor” szó, vagy más módon jelzik, hogy ez egy vektor, nem csak egy szegmens.

Rizs. 1.3. Az eltolási vektor vetítése.

Az eltolási vektor vetülete az OX tengelyre egyenlő a vektor végének és kezdetének koordinátáinak különbségével, azaz

S x \u003d x - x 0

Az eltolási vektor vetületei az OY és OZ tengelyeken ugyanúgy vannak meghatározva és felírva:

S y = y – y 0 S z = z – z 0

Itt x 0, y 0, z 0 a kezdeti koordináták, vagy a test (anyagi pont) kiindulási helyzetének koordinátái; x, y, z - végső koordináták, vagy a test (anyagi pont) következő helyzetének koordinátái.

Az eltolásvektor vetülete akkor tekinthető pozitívnak, ha a vektor iránya és a koordinátatengely iránya egybeesik (mint az 1.3. ábrán). Ha a vektor iránya és a koordinátatengely iránya nem esik egybe (ellentétes), akkor a vektor vetülete negatív (1.4. ábra).

Ha az eltolási vektor párhuzamos a tengellyel, akkor vetületének modulja megegyezik magának a vektornak a moduljával. Ha az eltolási vektor merőleges a tengelyre, akkor vetületének modulja nulla (1.4. ábra).

Rizs. 1.4. Az eltolásvektor-vetítés moduljai.

Egy mennyiség következő és kezdeti értéke közötti különbséget a mennyiség változásának nevezzük. Vagyis az eltolási vektor vetülete a koordináta tengelyére megegyezik a megfelelő koordináta változásával. Például arra az esetre, amikor a test merőlegesen mozog az X tengelyre (1.4. ábra), kiderül, hogy a test NEM MOZOG az X tengelyhez képest. Vagyis a test elmozdulása az X tengely mentén nulla.

Tekintsünk egy példát egy test síkon való mozgására. A test kezdeti helyzete az A pont x 0 és y 0 koordinátákkal, azaz A (x 0, y 0). A test végső helyzete a B pont x és y koordinátákkal, azaz B (x, y). Határozza meg a test elmozdulási modulusát!

Az A és B pontokból az OX és OY koordinátatengelyekre süllyesztjük le a merőlegeseket (1.5. ábra).

Rizs. 1.5. Test mozgása síkon.

Határozzuk meg az eltolási vektor vetületeit az OX és OY tengelyekre:

S x = x – x 0 S y = y – y 0

ábrán 1.5 látható, hogy az ABC háromszög derékszögű háromszög. Ebből következik, hogy a probléma megoldása során lehet használni Pitagorasz tétel, mellyel meg lehet találni az eltolási vektor modulusát, hiszen

AC = s x CB = s y

A Pitagorasz-tétel szerint

S 2 \u003d S x 2 + S y 2

Hol találhatja meg az eltolási vektor modulusát, vagyis a test A pontból B pontba vezető útjának hosszát:

És végül azt javaslom, hogy konszolidálja tudását, és saját belátása szerint számoljon ki néhány példát. Ehhez írjon be bármilyen számot a koordináta mezőkbe, és kattintson a SZÁMÍTÁS gombra. Böngészőjének támogatnia kell a szkriptek (scriptek) végrehajtását A JavaScriptet és a szkriptek végrehajtását engedélyezni kell a böngésző beállításaiban, ellenkező esetben a számítás nem történik meg. Valós számokban az egész és a tört részeket ponttal kell elválasztani, például 10,5.

Készíts flash filmeket mozgás animáció, de ez a mozgás egyenes vonalú volt. Itt az ideje, hogy kitaláljuk, hogyan lehet egy adott pályán mozogni. A pálya beállításához szükségünk van egy további rétegre.

Nyisd ki Macromedia Flash Professional 8, és hozzon létre benne egy új dokumentumot. A rétegek az idővonalon az ikonra kattintva jönnek létre réteg beszúrása(réteg beszúrása). A menüből is választhat új réteg létrehozásához. Beszúrás – Idővonal – Réteg . Ez egy normál réteget hoz létre. Talán már megtette ezt, amikor szerszámpálya nélkül készített.

De most szükség van egy vezetőrétegre. Egy ikonnal jön létre Mozgási útmutató hozzáadása(mozgásvezető hozzáadása), vagy a menü használatával Beszúrás – Idővonal – Mozgási útmutató hozzáadása . Készítse el, a fő réteg feletti ideiglenes szalagon lesz. Ha a vezetőréteg alacsonyabb, akkor nem fog működni. Ebben az esetben fel kell húzni az egérrel.

Jelölje ki a fő réteg első képkockáját, ahonnan a mozgásanimáció elkezdődik, és ha nem kulcskockáról van szó, akkor a menü segítségével tegye kulcskockává Beszúrás – Idővonal – Kulcskocka (vagy jobb gombbal rákattintva és kiválasztva Kulcskeret beszúrása). Helyezzen egy tárgyat erre a keretre. Ez lehet egy importált kép, objektumok csoportja vagy szöveg. Ha képet importál, először készítse elő egy grafikus szerkesztőben, majd be Macromedia Flash válassza ki a menüből Fájl -Importálás -Importálás a Stage-be . Ha az objektum meg van rajzolva, csoportosítsa a menü segítségével Módosítás - Konvertálás szimbólummá .

Ezután válassza ki a fő réteg utolsó képkockáját, amely befejezi a mozgás animációját, és tegye ezt a keretet kulcskockává. Ebben a keretben húzza az objektumot a végső pozícióba, ahol a tween végén lesz.

Jelölje ki az első keretet a vezetőrétegben, ha az nem kulcsképkocka, tegye kulcskockává, és helyezzen el rá egy mozgási útvonalat: válassza ki az első kulcskockát a vezetőrétegben, és hozzon létre egy útvonalat bármely vonalat létrehozó eszközzel. Ez lehet vonallánc, görbe, kör egy része stb.

Ezután jelölje ki az első keretet, és húzza az objektumot az útvonal kiindulópontjába. A kiindulási pontban lévő objektumot rögzíteni kell. Látni fogja, hogyan vonzódik a kiindulási ponthoz - az objektum körvonalai vastagabbak lesznek.

Annak érdekében, hogy egy objektum vonzódjon a Macromedia Flash Professional 8-ban, a menüben View-Snapping elemeket kell tartalmazni Snap to Guides(rögzítés a vezetők mentén) és Illesztés az objektumokhoz(tárgyak általi elfogás). Ellenőrizze azt is, hogy az elem engedélyezve van-e Snap Align(rögzítés igazítással). Bár az utolsó pont nem befolyásolja az objektum vonzását a pályához, mégis jobb, ha azt is belefoglaljuk.

Most menj Macromedia Flash a keret végére. Jelölje ki a vezetőrétegben, és válassza ki a menüből Insert-Timeline-Frame . Egy közönséges keret kerül hozzáadásra, nem egy kulcs (a hozzáadásához kattintson a jobb gombbal a keretre, és válassza a Helyezze be a keretet). Így a fő réteg utolsó képkockáján lesz egy kulcskeret, a vezetőrétegben pedig egy egyszerű keret.

Ezt követően az utolsó keretben húzza az objektumot a görbe végpontjához. Ezután készítsen egy mozgóanimációt a Macromedia Flash alkalmazásban: válasszon egy köztes képkockát a kezdet és a vége között, valamint a panelen Tulajdonságok Válassz a listából Tween(kitöltés keretek) bekezdés Mozgás(mozgás). Ha azt szeretné, hogy az objektum az útvonal irányába forogjon, és ne csak mozogjon, kapcsolja be az elemet a tulajdonságok panelen Orientation to Path(ha nem látja ezt a tulajdonságot, kattintson a tulajdonságok panel jobb alsó sarkában lévő fehér háromszögre).

A Macromedia Flash Professional 8 Tulajdonságok paneljén is hozzáadhatja a következő tulajdonságokat a Tweenhez:

Skála(méretarány): Ha engedélyezve van, ha egy objektum mérete vagy alakja megváltozik a kezdő vagy záró kulcskockákban, akkor ez a változás zökkenőmentesen megtörténik a tween alatt.

Könnyű(lassítás): akkor használatos, ha fel kell gyorsítani vagy le kell lassítani a mozgást. Az opció alkalmazásához mozgassa a csúszkát felfelé vagy lefelé, vagy írjon be -100 és 100 közötti számokat a mezőbe.

Forog(forgatás): az objektumok az óramutató járásával megegyező vagy azzal ellentétes irányban forognak mozgáskor, A mozgás animációja során az objektum elforgatások száma a mezőbe van írva.

Feladat: Flash-film készítése a pálya mentén történő mozgás animációjával. Íme, mi történt velem:

Ebben a flash-filmben a mozgás (csónak) animációja mellett (szavakat) és (hullámokat) is felhasználtam.

Videó arról, hogyan animálhatunk mozgást egy útvonal mentén a Macromedia Flash Professional 8-ban

Bővebb információt az "Összes kurzus" és a "Segédprogram" rovatban kaphat, melyeket az oldal felső menüjéből érhet el. Ezekben a részekben a cikkek témakörönként blokkokba vannak csoportosítva, amelyek a legrészletesebb (lehetőleg) információkat tartalmazzák a különböző témákban.

Feliratkozhat a blogra, és értesülhet az összes új cikkről.
Nem kell sok idő. Csak kattintson az alábbi linkre:

A speciális vezetőrétegek lehetővé teszik az animált példányok, csoportok vagy szövegdobozok mozgási útvonalainak beállítását. Több objektumréteget is összekapcsolhat egyetlen vezetőréteggel, így az összes objektum ugyanazon az útvonalon mozog. A vezetőréteghez tartozó szabályos réteg lesz a hajtott réteg.

Rizs. 4.12. Objektum csatolása útvonalhoz

Vegye figyelembe a műveletek sorrendjét, amikor animációt hoz létre egy objektum adott pályán történő mozgásával:

  1. Készítsünk mozgásanimációt a korábban tárgyalt módszerek valamelyikével.
  2. A négyzet bejelölésekor Orientation to Path(Útvonal orientáció) Az animált objektumok csoportjának alapvonala párhuzamosan mozog a megadott útvonallal. Az objektum regisztrációs pontjának rögzítéséhez a pályán jelölje be a négyzetet Snap(Kötés).
  3. Hajtsa végre a parancsot Beszúrás › Mozgási útmutató(Beszúrás › Mozgási útvonal). A Flash egy új réteget hoz létre a kiválasztott réteg felett, a név bal oldalán egy útmutató ikonnal.
  4. Használjon bármilyen rajzeszközt a kívánt útvonal megrajzolásához. Az első keretben rögzítjük az objektumot a vonal kezdőpontjában, az utolsó keretben - a sor végén, mozgatva az objektumot az egérrel a regisztrációs pontja fölé.
  5. Az útvonal láthatatlanná tételéhez kattintson a vezetőréteg sor és a szem ikonnal jelölt oszlop metszéspontjára.


Rizs. 4.13. Mozgás adott pálya mentén


Rizs. 4.14. Fólia tulajdonságai ablak

Ha egy réteget egy meglévő vezetőréteghez szeretne kapcsolni, tegye a következők egyikét:

  • Mozgassa a réteget az objektumokkal a réteg alá a vezető segítségével. A rajta lévő összes animált objektum automatikusan az útvonalhoz csatolódik, amint azt a fólianév jobbra eltolása jelzi.
  • Hozzon létre egy új réteget a vezetőréteg alatt. Ezen a rétegen elhelyezett objektumok, amelyeket a keretszámítási módszer animál (tweened), automatikusan csatlakozik a szerszámpályához.
  • Válassza ki a vezetőréteg alatti réteget, és hajtsa végre a parancsot Módosítás › Réteg Vezetett(Kezelt) a rétegtípushoz a párbeszédpanelen Réteg tulajdonságai(Réteg tulajdonságai).
  • Kattintson a rétegre, miközben lenyomva tartja a billentyűt ALT.

Ha le szeretne választani egy réteget a vezetőrétegről, tegye a következők egyikét:

  • Jelölje ki a leválasztani kívánt réteget, és húzza a vezetőréteg fölé.
  • Hajtsa végre a parancsot Módosítás › Réteg(Változás › Réteg) értékválasztással Normál(Normál) a fóliatípushoz az ablakban Réteg tulajdonságai(Réteg tulajdonságai).
  • Kattintson a rétegre, miközben lenyomva tartja a billentyűt ALT.