Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Realtidsanimeringar...?

Postades av 2009-01-16 19:11:00 - Peter Bladh, i forum silverlight, Tråden har 6 Kommentarer och lästs av 8467 personer

Hej,

Jag håller på att labba lite med en applikation som ska flytta grafiska objekt baserat på indata från (tex) socket.

Det är inga problem att uppnå "grundfuntionalitet", genom att helt enkelt sätta x och y på objektet. Dock blir det hackigt, precis som man skulle gjort det med VB6 eller liknande... ;). Jag är en total newbe, men det verkar som olika typer av animationer är det man ska använda för att få så smooth förflyttning som möjligt, men det blir trixigt (omöjligt?) ifall man inte har slutpositionen för animationen.

Animationen behöver egentligen inte vara 100% realtid, men mer än en halvsekunds eftersläpning är inte OK.

Går det att göra en animation baserad på en vektor som fylls på allt eftersom man får indata?

Som ni märker - jag har inte alla silverbesticken i lådan... All input i ämnet mottages tacksamt! :)

Tack på förhand
Peter


PS - Silverlight är heller ingent måste, WPF (XBAP) lösningar är också OK


Svara

Sv: Realtidsanimeringar...?

Postades av 2009-01-17 02:08:18 - Niklas Jansson

Har inte alls arbetat med silverlight, men ändå:

Det du säger är i princip att du vill ha animationer mellan dina snapshots. Men då måste animationen börja först när nästa snapshot kommer - inte sant?

Alltså:
Frame 1, x=10
Frame 2, x=20
Då vet du inte hur förflyttningen mellan 1 och 2 ska se ut förrän i Frame 2.

Det finns då två möjligheter:
1. Låt det vara en eftersläpning motsvarande så ofta du uppdaterar x och y. I princip behöver du hålla reda på det föregående värdet och det nya värdet, och sen göra en animering som är klar till nästa frame.
2. Använd någon typ av prediktion. Om du har x(0)=0, x(1)=10, så kan du gissa dig till att x(2)=20.
Detta går ju förstås att göra på många olika sätt, linjärt brukar vara helt ok.

Det blir lite enklare att svara om du ger ett helt konkret exempel. (För övrigt verkar det vara ett jävligt intressant projekt =) )


Svara

Sv:Realtidsanimeringar...?

Postades av 2009-01-18 19:17:13 - Magnus Bergström

Om objektet ska konstant vara i rörelse så har du ju alltid en riktning på det. bara att forsätta i en riktning tills nya koordnater kommit in. När de kommit in så räkna ut ritningen objektet måste ha för att komma dit och fortsätt sedan tills nya koordinater kommit in...

Eller är det så att när någon skickar in koordinater så ska objektet faktiskt nå dit?
Hur ofta är det beräknat att nya koordinater kommer in och kommer det att vara en konstant ström av nya korrdinater?


Svara

Sv: Realtidsanimeringar...?

Postades av 2009-01-19 17:48:39 - Peter Bladh

Tack för input!

>>Det blir lite enklare att svara om du ger ett helt konkret exempel.
Det handlar om verkliga fordon som rör sig. Detta ska visas i en applikation.

>>Hur ofta är det beräknat att nya koordinater kommer in och kommer det att vara en konstant ström av nya korrdinater?
Hur ofta nya positioner kommer in kommer vara konfigurerbart, men det bör vara någonstans mellan 2 till 10 gånger i sekunden. Finns det många objekt, får hastigheten ställas ner av naturliga skäl... Vet inte ifall jag kommer få uppdateringar även ifall fordonen står still.


Svara

Sv:Realtidsanimeringar...?

Postades av 2009-01-19 22:48:48 - Niklas Jansson

<b>>>>Det blir lite enklare att svara om du ger ett helt konkret exempel.
>Det handlar om verkliga fordon som rör sig. Detta ska visas i en applikation.</b>
Okej, jag tänkte mer på ett konkret exempel med koordinater.

<b>Hur ofta nya positioner kommer in kommer vara konfigurerbart,</b>
Det viktigaste är egentligen: Vet du hur lång tid det dröjer till nästa koordinat? Är det konstant i intervall, osv?

Det låter ju som att en prediktionslösning mycket väl kan fungera.

Låt säga att fordon 1 skickar sin info vid t = 0, 1, 2, 3, 4, (tiondelar), och att du då får (vi tar bara en koordinat, det blir helt analogt med två)
x = 1.1, 2.0, 2.4, 3.6, 5.0

Det du gör vid t = 0 är då helt enkelt att sätta positionen till x = 1.1, det finns inget annat att göra. Dessutom får du anta att hastigheten är v = 0, det finns inte heller något annat att anta. Din prediktion är då att vid t = 1 så är x = 1.1 och v=0, så du gör ingen animering.

Vid t = 1 får du ny information om att x = 2.0. Du kan då räkna med att v = 2.0 - 1.1 = 0.9.

Nu har du några alternativ för att göra din animation;
1. Flytta koordinaten till x = 2.0, ignorera v. Det ger det hackiga intrycket.
2. Flytta koordinaten till x = 2.0, men börja använd v, så påbörja en animation som går mellan x= 2.0 och x = 2.0 + v = 2.9. Då kommer din animering alltså gå från 2.0 till 2.9 mellan t=1 och t=2. Det gör att den måste hoppa tillbaks till 2.4 eftersom den bromsas in, det gör det hela hackigt, men i allmänhet mindre hackigt.
3. Flytta inte koordinaten, utan låt den släpa efter. Gör animeringen så att den går från 1.1 till 2.0 mellan t=2 och t=3 istället. Då kommer t = 3 få den korrekta positionen för t=2, men det kommer bli helt jämnt. Om du har 2 positioner/sekund ger det en eftersläpning på en halvsekund.
4. Kombinera prediktion och eftersläpning. När du då får 2.9 istället för 2.4 så räknar du ut den nya hastigheten; v = 0.4, vilket ger nästa x-värde till 2.8; vilket innebär att du får animera det som att den rör sig bakåt i det fallet.
5. Använd en högre ordningens prediktion; Lägg till acceleration, och ta fram bättre gissningar på hastigheten.

Som du ser är det knappast uppenbart hur man ska göra det.


Svara

Sv: Realtidsanimeringar...?

Postades av 2009-01-21 09:28:45 - Ola Lindfeldt

Här har du exempel på rätt OK animering med källkod:
(Ingen aning om hur den ser ut :))

http://bubblemark.com/

ps. Detta var inte skitsvårt att hitta.
Jag googlade Silverlight animation, detta var andra träffen. ds.



Svara

Sv:Realtidsanimeringar...?

Postades av 2009-01-27 11:38:02 - Peter Bladh

Niklas Jansson
Tackar!

Ola Lindfeldt
Vad hade den med realtids-indata att göra?


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 615
27 953
271 709
522
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies