menu

menu


menu
menu
menu
menu

Fra gulvlister til avansert animasjon


Av Jan Helstad



Utfordringen var: Ta en animasjon i form av et kunstig ansikt, gi det en tilfeldig tekst som skal leses med riktig mimikk - og få munn, kinn og strupehode til å oppføre seg helt naturlig.

Dette kunststykket har en gruppe ved SINTEF Anvendt matematikk i Oslo nå greid. De har laget animasjonsteknologi som håndterer sanntidsanimasjon på PC-er med god oppløsning og med høy hastighet i grafikkendringer.

Hittil har nemlig interaktive grafiske presentasjoner på en PC gjerne vært figurer lagret på harddisk eller CD som har blitt hentet fram på skjermen til en bestemt scene. Interaktiviteten har bestått i å velge mellom allerede lagrede bilder.

«Splines» er som gulvlister
­ Grunnen til at vi har kunnet lage hurtige animasjonsprogrammer er at de er basert på «splines», en matematisk metode vi kjenner til siste komma, sier Tor Dokken ved SINTEF Anvendt matematikk.

­ Opprinnelsen til denne går langt tilbake i tid ­ til den gang da båtbyggerne startet forberedelsene til en ny båt på spantloftet, et rom som ofte lå over selve verftshallen. Et av deres fremste verktøy var splines, lange lister ikke ulike de feielistene vi spikrer nederst på veggen mot gulvbelegget. De var bøyelige, men med en viss spenst, slik at de formet seg i glatte pene buer når de ble bøyet for å tilpasses en skrogform.

Da forskere ved SINTEF, som noen av de første i verden, begynte utvikling av DAK/DAP-systemer for båtbygging i 60-årene, ble splines i matematisk form et av de viktigste elementene. Både når det gjaldt å få frem glatte kurver, og i arbeidet med å redusere datamengden som skulle presses gjennom den tids små maskiner.

I dag brukes splines i en eller annen form i de fleste DAK/DAP-systemer. Miljøet ved SINTEF er imidlertid ett av få som har hatt en kontinuerlig forskning innen dette fagfeltet og som derfor har bredest kompetanse på området.

«Splinevev»
En splineflate er bygget opp av et rektangulært nett av flatelapper. Hver flatelapp er et parametrisk polynom, det vil si matematiske ledd forbundet av + og -.

De enkelte flatelapper kan knyttes sammen med ønsket glatthet. Det mest vanlige er sammenknytting med kontinuerlig krumning. Slike glatte splineflater beskrives best ved bruk av såkalt B-splines. De matematiske størrelsene som brukes i splinebeskrivelsen er et nett av punkter som følger nært opp til flaten. Derfor gir denne metoden automatisk ønsket glatthet, og det er en god sammenheng mellom flytting av punkter i kontrollnettet og den bevegelse som flaten utfører.

Representasjon og grafisk presentasjon
Når et 3D objekt skal visualiseres på PC, så krever dagens standardprogramvare og grafikk-kort at objektet må være beskrevet ved hjelp av trekanter. Dette har medført at mange programutviklere også velger trekanter når geometriske modeller skal beregnes og lagres.

Men organiske former med levende bevegelser, f.eks. et bein som bøyer seg, er svært kompliserte å beregne ved hjelp av trekant-representasjon. Her kan B-spline-metoden framstille det samme beinet svært enkelt. Bøyingen kan rett og slett gjøres ved å bøye kontroll-nettet. Utregningen av trekantene som skal overføres til visualiseringen for hvert bilde i bøyingssekvensen er svært effektiv, og dette gjør det mulig å få til en dynamisk animasjon på en kraftig PC uten kraftige grafikk-kort.

Ved å skille mellom den matematikken som brukes under selve beregningen og den som brukes under presentasjon av geometri får man en kraftig gevinst i animasjonsytelse.

Beregninger i det 1200-dimensjonale rom!
Mens vår hjerne vanligvis har vondt for å tenke i mer enn tre dimensjoner, arbeider matematikerne uten å blunke med adskillig flere. Ofte kan geometriske beregninger gjøres raskere og enklere med noen få punkter i et mangedimensjonalt rom fremfor å arbeide med et stort antall punkter i det vanlige tredimensjonale rom. Resultatene vil uansett bli presentert i vanlig todimensjonal form med tredimensjonal anvendelse. Et eksempel på dette er visualisering av resultater fra bølgesimulering. Et nett av punkter på havoverflaten ble beregnet ved 166 tidspunkt. Totalt utgjorde dette 2 millioner flyttall. Ved å beregne dette med splines både i tid og rom ble datamengden redusert til ca. 20.000 flyttall, og en glatt modell av bølgebevegelsen var skapt.

Betraktet kun som en funksjon av tiden, gir dette en kurve i et 1200-dimensjonalt rom! Ved framvising evalueres denne kurven for et gitt tidspunkt, resultatet med 1200 dimensjoner tolkes som kontrollnettet til en 3D flate, og flaten kan effektivt brytes opp i trekanter for visualisering med ønsket nøyaktighet. Denne angrepsvinkelen gjør dynamiske visualiseringer enkle på PC-er uten bruk av spesial grafikk.

Markedspress fra spill, WAP og værmelding
­ Spill har vært en viktig teknologidriver innen data grafikk. Når f.eks. WAP (Wireless Application Protocol) har kommet i siget, vil skjermen på mobiltelefonen kunne brukes til mangt og meget, blant annet til å se bevegelige figurer. Her vil kompakte modeller og en forenklet databehandling gjøre at livaktige figurer med mer detaljert geometri kan vises på en slik skjerm, sier Dokken.

Et interessant område for forskerne på Anvendt matematikk akkurat nå er værmeldingen på TV. Mange stasjoner viser allerede såkalt «fly through» der man dykker ned skyene og ser enkelte stiliserte regndråper. Nå ønskes flere detaljer.

SINTEF-forskerne håper om ikke så lenge å kunne presentere en «fly through» der du kan dukke ned over Dovre og med ett «se» Kongsvoll og Fokstumyra i regnvær! Eller gjøre en virtuell helikoptertur over Norge og få fram stadig flere detaljer i landskapet helt til du lander på tunet på gården og ser blomsterpottene i vinduet.

Ingen seer ville vel tenke på at det lå gulvlistematematikk bak noe sånt!

* Kontakt ved SINTEF: Tor Dokken
Tlf.: 22 06 76 61
E-post: Tor.Dokken@math.sintef.no