• No results found

Interactive Simulation for Multimodal Virtual Environments

N/A
N/A
Protected

Academic year: 2022

Share "Interactive Simulation for Multimodal Virtual Environments"

Copied!
18
0
0

Laster.... (Se fulltekst nå)

Fulltekst

(1)

Interactive Simulation for

Multimodal Virtual Environments

!"$#%&'()*($

+,.-/10230457689:$;"<$0=

>@?AB$CDEFG%HI?A?$J$?

© Dinesh K. Pai

Objectives

KMLNO3PRQ.SUTWVXSZYO[S\].^ML _a`bcd_feghb i.j.kUl"m[n@o pq$r

ko[si rp

n q tuwvyx

z|{}~.€X‚.{ ƒ„$…†‡ˆ‰ŠŠ…U‹Œ$‰U†Ž ‘%’U“$”•–—˜.’U™7š1›@œ

žŸ .¡¢£¤¡ .¥@ž¦X§¨©£ ª.¡«$¦¬ž­ Ÿž®a ¢¡.¦¬ž§@¯

°± ­M§®²® ± ¯.¥ Ÿ« ± ­ž³3ž­"¦± ­.ª¯ž´@  ± Ÿ£y¨[¡.¦ª

± ¨

µ¶.·¸º¹.»¶.·¼½¾µ¬¿À.¹Á½¼ÂÀ.¹Ã ÄōƾÇÈ%Éʍ˾ÌÎÍÎÏˍÈXÐXÑ

ÒyÓ.ÔÕÖ1×ØXÙÓ.Ô ÚfÛ.܍Ý.ÞÚfÛ.ܬßàMÛá â[ã@äå.æç.è¬éãåê7ãâ ëfìí¬î.ïðñòó.íóô õö$÷øõ÷¬õù.ú ûú.ù.úû

© Dinesh K. Pai

Outline

üý$þÿ þý

!"#"$&%'$()$(*+,-".0/1+*$2.3'*54+.64

78:95;<=>;@?A8B9CD?0EF2BG<;E89

HJIKLMNPOQRLS)T0RN2UVOQWRLS

Introduction

© Dinesh K. Pai

Human Interfaces and Perception

© Dinesh K. Pai

Human Perception

XZY[]\_^`abdcY:^ebfhgi`:jYk`ja-a^`

kmlb\nkPYfaboJpqrstu>v-u3rqeqvwxyvsmz{|dtxw}

xts{y~rq€)xs ‚xp5y{u utv|

ƒ@„…P†‡Dˆ‰Š‹3‰ˆ5ŒŽ:‡D†1‰‘Ž:’‘‰“2ŒŽ-Œ†”>‰

†“‘†‡5Œ†•‰mŽ–JŒ‰A‰ ‹3ŽŠeŠ€‰:’†ŒŽ‡

—™˜šd›3œež>Ÿ3œœ¡ ž¢d—™Ÿ0œŸdž>£¤Ÿ¥˜3¦ž>˜ œŸ0§˜0££6¨›3œ] ˜ž3§Ÿ>€£3©

ª¥«d¬­~®­€¯3°]±6®²>³

´¶µ·¸¹ºP»¼½· ¾]¿ÀÁmÂÃÀÀÁmÄ5Åƀ¿ÇÈ5¿ÊÉÅÆ@ÄÆ˾AËÈÌ3Ë

(2)

© Dinesh K. Pai

Example: The McGurk effect

!"# $$ %&('

© Dinesh K. Pai

Some (Virtual) Realities

)+**,+-/.0 12435687:98;19 < =?>8@<57A1B42C=D17AE5B;GF H4IJK JLMONLKQPSRTIIJLMVUWRTPSXCY8H4Z?H(R [LKHCZ

\^]_A`]aSb\caS] dGefefe

gihj klmnhokjpOhrqts^kp kuTvxwTyCzW{8|}o

© Dinesh K. Pai

Some (Virtual) Realities

~+€+/‚ gƒmnokyw u „ u8„jh…Ak|4†}‡#u{ˆWw s^…:hokw j‡

†(w mju†‰w ˆ/ˆWw8w8oG†o^{l†}‡DŠSŠfŠ

‹DŒ :ŽŽ‘Ž’^Ž“W”}•#Ž“f’–—Œ˜Ž’^™8šV› œCW™—’G”

© Dinesh K. Pai

Some (Virtual) Realities

ž+ŸŸ +¡/¢‘ –”4ŒŽ˜š™£S› “^:Ž’–› • ¤¥¦t§¨© ªS« ¬S©­ ®}¯

°f°f°

±8² ³f´+² µ¶·¸´^¹rº·#»¼/»½#³¾¿^À Á´¾¿S·8½Â¸Ã²8´Ä½#²´Ä·T¿

ÅÆ Ç:ÈÉÊË

© Dinesh K. Pai

Some (Virtual) Realities

Ì+ÍÍÎ+Ï/ÐÂÑiÒ8ÓÔÒTÕÖ Ó×ØGÙ×ÚÛÕÜCÛOÝGÞÓ^Ò Üßà8Þ(ÓÔÜáâÖ Þ(Ò ×ÕãÞ}Ö ßàäÓÔÜ åWÒTØSÜCÛ8Þ}Öæfæfæ

çèé êëìríWîðïñ^òóWô îrêõëô^öƒ÷

© Dinesh K. Pai

Example 1: Real Wok

(3)

© Dinesh K. Pai

Example 1: Virtual Wok

[Doel, Kry and Pai 01] © Dinesh K. Pai [James + Pai 99]

Example 2: Deformation

Input / Output

© Dinesh K. Pai

Visual Displays

!#"%$'&()*$'(+(%,

-/.0213 4%5 6 7

89 : ;

< =>?@9%AB CED

Stanford Responsive Workbench

UIC/FakeSpace Cave

© Dinesh K. Pai

Auditory Displays

FGHIKJL MN G+O

PJ GH%Q#G%RSO

P+MTN IOVUNWXL G+OZYO[L H%R'I\]H%R^G

D%G_ G%R2` G%R'H WaYMNcb2YdWGR'O

ef g haig%jikg hailm nXoqprEstvu2wxyz{S|

© Dinesh K. Pai

Haptic Interfaces

VTI CyberForce

PHANToM Harvard Tactile Display

Logitech IFeel

(4)

© Dinesh K. Pai

Utah Locomotion Interface

http://www.cs.utah.edu/~jmh/Locomotion.html © Dinesh K. Pai

Other input devices

!"#$&%(')*+%

,- .*)/01%203 %4"6587- #%

9 *:050 "1;)%<)"=3

>).5"67?"=30%

Polhemus VTI CyberGlove

MicroScribe

© Dinesh K. Pai

“Real soon now” displays

,@?065:AB-/CDFEGE:HI J(KBHLH6MNPORQSUT

VWBX6YYZ:X=[\U[N ]8^\6^V_<X`ba T

[c[c[

Geometric Techniques

dfePgihPjklhPm(noqprhFs8nth@uvhFw@m4xPmyzjw

{|P}~f€P‚P€„ƒr…P€…P‚8€(†z~

© Dinesh K. Pai

1. Geometry representation

‡bˆ=‰Š‹Œ Ž‰ iˆŒ‰‘

’P“P”U•–1—˜™›šœžŸ8 —Ÿ—¡BžœŸ:¢£¥¤¦Ÿ§— £<ž¤

¨U©ªq«­¬®¯°±

«³²°´µ¶¯±2¬=°²b´µ¬=· ¸¹º›»¼¸½¾6¿¾ À+Á

Â6ÃÄÅ6ÆÇÆÈ<ÆÉ=Ê&È(ÃËÌÍÎÏÈ

© Dinesh K. Pai

Subdivision surfaces

ÐÒÑRÓÔiÕ:Ö¼×ØÖÙÚÛܛÝ<ÞBÖÖ Õß&Ý(ÚØàÓ Û<ÜÝRàáØÖÞâÓ

×Ö6ãÔßÜÙ=ØÓãÞBÖÙÜ6ã

äbåæ(çèGåéäbåêëècìíìîì(ï<ê

ðñò4ñbð4ó<ôõñ4öc÷bøð

ùlúûüýþcûÿûiü=ú tüþ+ý4ü

! "$#%'&)(+*,"$#"-.%0/1,"$24356#735*-"

$8*79% :;<=?>@.ACB?DEF GIHJ?KML)H NO?PCQ4RSOMTUTV?PMW

(5)

© Dinesh K. Pai

Example: model of real object

© Dinesh K. Pai

Subdivision surfaces

"!# $&% '())*,+&-/.01(2".34

56789:;<86 =&> ?@AB&C

DEFHGJIHKLNM

OP/PQ

RST"UWVXXYZH[\]^

_a`/bcdecfbhgijkjfldemn

oqprts/uvwyxz{ry|}zp~/prtp€Wrt|‚kv&wƒx/rƒ„…N†‡vu

ˆ1‰/Šy‹‰/ŠƒŒ

© Dinesh K. Pai

Refinement rules for Loop surface

[From: Zorin & Schroder. SIGGRAPH course]

© Dinesh K. Pai

Parametrization

Ž’‘“J”q•–“’—˜•“™&“š›•œ“ žŸ ŸH¡£¢¤ƒ ¥¦Ÿ¤¥§¨

©«ª­¬®h¯±°²q³µ´¶·¸ƒ°¬²°¹qº»¬°®’¼²º»¸¾½&¿

¼¬°¬H³£¶¸ƒ°ºÀ¬¸º²q» º½Á¶N¬N½t®

ÂÃĘà ÅNÆÇÈWÉÊÊËÌÍÎÏeÐWÑÓÒ ÔÕÖ×Ø/ÕÖ1ÙyÚÍÕÛÜ/Ù

ÝÞ/Þß{àâá ãäåæçèé êë&ì ítî/ïðñò&í

ó ôõöH÷ ø˜øHùûú/üýNþÿú›üýþý

!" #%$&')(+**,-/.012435+160798:3

;<;=>=;?@A;BCD@E?F%@G%H=?@EIJFH=CK

© Dinesh K. Pai

Resources

L+MNONQPRTS+UWVX%Y+Z\[^]_X%`_[aY+bc%ded[adX%`_[aY+Zf\gV][

hiikj9lmkmkn+n+npoqArtsuwvxyDz {|}t~€|‚ ƒ„D…^† ‡‰ˆ‹ŠtŒD‡EŽ^‹t‘D’D“”D•–—‹˜

™š›%œœžšŸ   ¡:¢£¤:¥a¦§   ¨A©ª«+¬^©

­¯®±°²³´³µ¶¸·¹%º/»¹¼)½+¾µ³º/¿Qº°½+ÀÁÂa¶9Ã

ÄÆÅ%ÇÈÉÊ ËÌÍÎÏÐÌÑ+Ñ

Dynamics and Contact

(6)

© Dinesh K. Pai

Overview

! "# $%"&' ()&+*

, -.)"/

0214356879#:34;<1:3>=:3?95.3@+ACBD56EFG 0-HI :3EJK 6G

L:DD7FMJE:DJ:N=5GOJ P<QHJER:@ B @ BD56EFG

5.D@)L:DJ5FJS7T:HQJE:D

© Dinesh K. Pai

High school dynamics

r f

v

UVWSXZY[\]-^_^a`bW

ced"fgheiZjlknmo pSqsrtuvqw<xtysy?zlq?zluM{|tvl}

~M€‚|ƒ„…†>‡ˆ-‰~† Š

m f v

v r

= 1

=

‹‹

© Dinesh K. Pai

Simulation: Numerical Integration

Œ-ŽM‘’“M‘ ”e•–—˜™›šœl–8—žlŸ  >˜ ¡C”•–8—"ž¢”|—£Ÿ

¤¥¦ ¥§.¨O©ª«-¬lªs­ ®¯l°¤ª ±%²³|´µ¶¸·¶lµ¹º³'»¼²½³|´l¾¼¿À

Á4ÂÂÃÄÂÅ

ÆÇsÈlÉlÇÊËÈÊÌÌMÍlÇsÊÌÎ

ÏeÐZÑlÒ#ÏÔÓÕÑ#ÏÑlÖÑ×Ð|ÓØÙ

ÚeÛZÜlÝlÞßÞÛZà

) ( 1 ) x(k) h x k

x(k + = +

© Dinesh K. Pai

Numerical Integration (continued)

áCâã äåæ äçè+ã äèã›éêëå.ê

ìíîïð4ñîlòóôîñ|õìöð>÷îøù øúûlíùlîüûMñ?ñZýþÔîõlÿMîsù

!"#%$'&()

*)$+&% *,-./012&(,354 65&()37"

8:9;<=><?@BA5C,DFE<G<CH

IJ%KLIMIN:ION0P)QR"SN0TRUWV.PXQYXZ[,J%KLIMIN \Y]OQP ^ _]NN0S Z

`acb d%efg,hig.jk d(jglmnio

p:qrFstuvwyx5t,w+szx)u{w|x}wF~wtu€+

© Dinesh K. Pai

Rigid body dynamics

‚ƒF„0…†‡ˆ‰|Š5‹Š5…,‰6ŒŽ†‰

F‘"’)“”:‘.•–•—'˜™—š7“)›œ“%™žž’”•™Ÿ

 )¡c¢(£¤¤ ¥ ¦§¨.¤©ª ¦¨«7¬¦¤/¨0£§­#®

­# §)¤¨¯£¦§¨.¤

°+±²³´²Fµ¶¸·Y¹³,ºc»W¼:½6¾²6¿À´¹Á

Â}ÃÄÅÆ%ÅÇÈÉ0ÊËcÌÅÍ/É0ÈÇÎ#Ê%Î#ÏÇ)ÍÉÐÈÅÇÉÑÍ

Ò6ÓÔÕÕ#Ö×#ÔÓØÚÙ)×ÛÔÜÖ×5ÕÝ Þßà"áâäãFåáæàç)è0é

â(êëå2ì(æíáà.î2îæ)ë0ïë,êæî

© Dinesh K. Pai

Rigid motion and transformation

 

 Θ

= 0 1

E p

i

ðÚñ+òóñôõ+öõñc÷ø7ùûú.üFöøý.ñcú,ò

j

þcÿYÿ ÿ

φ

φ

Frame i p

Frame j

(7)

© Dinesh K. Pai

Cross product matrix

 

 

=

0

&

&

-

&

- 0

&

&

&

- 0

& @

[

x y

x z

y z

r x

&

r

& @

[ ≡

© Dinesh K. Pai

"!$#&%(')$*+,-./

021345768"0)519;:)3<>=?97@A@8>6B5C983D34

❙ ω

EFGHIEJ"KLIM;N)OP>Q

RS T UVCWYXUZU[]\_^`U^a

bcdefdghjikl7mon(p)qrkmslt"uv

Spatial velocity

 

 

=

t r

f f f

 

 

= v

&

φ

 

 

0 0

v ] [ &

R 1

R

© Dinesh K. Pai

Transforming spatial velocities

[ ] 

 

Θ Θ

= Θ p Ad 0

i j

wyxz${|}~ €‚ƒ„†…j‡€ˆŠ‰‹‚ƒŒAŽ„

j φ

‡

i φ

φ

i Frame i p

Frame j

φ

j j

i j

i φ = Ad φ

© Dinesh K. Pai

Notation...

‘’“”’•–—˜"™™r‘"—˜"šœ›–)“

[ ] [ ] =  [ ] [ ] v & 0 

&

φ

žŸ ¡Ÿ¢Ž¡£¤¥( ¡Ÿo¦_Ÿ §¥¡¨

I dm r

r M = [ [ r ] ] 2 [ ] 

© Dinesh K. Pai

The notation finally pays off!

©yªA«¬A­¯®°;±C²"³µ´®¶®·]¸²"·Žª

¹yº»½¼¾¿ŽÀ ÁÂAÃÄÅ ÆǜÈÉÊÌËÍÎÏ ÐÑÒ"ÓÔÕjÖ×ØÙÚÛjÜ

ÝÞß&àáâãåäræç§èoéyãä½çÞêŽëìríáäïîÞâµàáâ(çæðíã

ñòŽóòôòõö7òy÷ øùAúûüyý)þÿ

[ ] φ φ

φ M

M

f = − T

v m f =

© Dinesh K. Pai

Wok Example

(8)

© Dinesh K. Pai

Contact interactions

!" #!$

%'&()*+,&-,.&(/10.+*32-0")546&6 78.9;:<>=.:8:9<'?97@8

ACBD.E;FGEH>G"BD.EID5JBJKL"M

NO5P'QRP'OSTUVW.OW.OSQ1X.VU3YVZ[ZQP>\]TS_^CVP'OXUVQZ

© Dinesh K. Pai

Rigid body impact

`badcbeCfghcCij]fkmlan;opiqghearscbtCulabn;opvwcdkxj yz|{C}~€‚ƒ>„….†C‚„‡ˆb….‰

ŠŒ‹_‹C‹Ž[b‘>’d“d”•–—‹˜•s’d™‹bšm›w’‘

œžŸb >¡C¢ž£œ¤Ÿ¦¥œ§¨©¡žœª

«¬b­¦®¯°±²³´pµR±°¶˜·±¸±¹Œ²¬d¹ºp¹º»¯­±¼½

¾¿ÀÁÂÃÄÅÆw¾

© Dinesh K. Pai

Rigid body impact

ÇÈRÉËÊÌÍÎÏÐpÈÑÒÐCÌÍÓ

ÔdÕÖØ×;ÙÚÛ Ü.ÝÞßßÝà á âãä3åæç5è é5êë>ìí.êmîï1êë'ëwìî_ìêí.ðïë ñ'ò1óõôöô÷.ôöøù úû

üCýþýÿü 'ü

! "# $

%'&(*),+.-0/*+.-2143 (5&6

70859:;.9*< =>@?5ABA'CD*E

FGIH JKMLONPJ0QRS0TUK2JJVWRYX[ZV \*GB]N0VR ^_a``bcd2efg2h[ijlklmnooo

) ( )

( t + = ev t v

0 ) x f( x, x

m

pp

+

p

=

k x x c ) x

f(x,

q

=

q

+ k x x c x ) x

f(x,

r

= m

r

+

© Dinesh K. Pai

Continuous Contact models

s5tu vwx y0z0{!|}~{O~0.€l‚ƒ€„ …‡†ˆ‰Š‹

ŒŽ’‘4“•”– —.˜™š ›Œœl

Œ

žŸ¡ 

žŸ’¢ U£¤ž ¥ ¦,§0¨!©ª«¨O«¬.­l¢®l¯­° ±

²³µ´·¶´l¸¹ºB¸³µ»¼½¾¾¿¹,³µ».ºlÀ¹º[ÁµÂ¸¾Ã» ³0»ÄI» ½ÅÀ ºB¸Æ ½ ÇÈÉ[ÊËÊÌlÈÍË ÇÏÎYÈÐÐÑ.È0Ò Í Ó ÈÇÕÔ

ÖØ×ÚÙÛµÜÝ.ÞBßÛµàá¿â ãßá'Þ[ä¡åæ2âçÝàßè¡Ý âä¡åà éëê*åà

ì

ââíîílßê.ßâà.ÞIÜïáðÛ0Üñ âé

ì ï òóô!õ*ó ö÷ ôOó øIù úû

ü úµýÕ÷5þ ÿ2ÿó.ø ýó!ÿ[ý*øú óý ûÿ2ÿ.þø

! "$#%#&&')(*+-,.#%*/#0-1 2/3456879 :

© Dinesh K. Pai

Continuous Contact models

;8<>=-?@ACBEDGF$H<@IKJL?= M8<ONIP<H QFRSAT$UIK?I V.WXXYZ[\Z]$^-Z[8_Z`Wba$cS_d$efhgGW_id-a$]j

klnmoqp8r.stvuxwlnoqyKzm|{}v}yL~lpnm|{u-rLzu-t>sy8rynm|t€pnm|{u8r

)‚ƒ„…†G‡ˆ‰‚ ŠG‹$Œ$>ŽhiŠG‹‘“’””-•‘’-–—

˜i™“š›œLžŸ-  ™G¡$¢ œK£L¤¥¦¤œP¡O§- ¨›n ¢

©ª)«¬­®$®$¯°.±²³i±´8¬µ¶$·

¸¹>º8»¼½»/¾-¿-¹ÀÁ8»Â¹ºEÃG¹$Ä$¾>ÀÅ

Æ|ÇvÈLÉÆÊqË-ÌnÆÉLÊiÆ>ÉxÍ ÎÏÐÑÐ8ÒvÓ8ÔÕÖÐ×Ù؀Ú-ÕÑnÛÜÝÞ8ßà áâãvâ8äæåç|ãèéå ê|ëìîíìLï-ð€ììxñòLó$óCðvìLìLíxò-ô

© Dinesh K. Pai

Multibody Chain

(9)

© Dinesh K. Pai

Multibody Dynamics

k

k k k k

T k

k

k f M b

f = 1 Ad 1 + φ +

! "#$%&(')%"

k

k k k k

k k

k = + + + H q + a

1 φ 1

φ Ad

*,+(-/.1023+4(5)+678

k

k T k

k = H f

τ

© Dinesh K. Pai

Extended DAE: Mx = b



 

 

 

 

 



 

 

 

 

 

=

9 999

9

9 9

0 0

2

2 2 1

1 1

T T

T

H

H I M I H

H I M I

M

Ad

Ad

1 2

1 2

[Lubich et al 1992], [Ascher,Pai,Cloutier 1997]

© Dinesh K. Pai

Sparse Gaussian Elimination



 

 

 

 

 



 

 

 

 

 

=

9 999

9

9 9

2 0

2 2 1

1 1

T T

H

H I M I D H I M I

M

Ad

Ad

1 2

1 2

© Dinesh K. Pai



 

 

 

 

 



 

 

 

 

 

=

9 999

9

9 9

0 ˆ

2

2 2 1

1 1

H T

H I M I D H I M I

M

1 Ad

2

Sparse Gaussian Elimination

© Dinesh K. Pai



 

 

 

 

 



 

 

 

 

 

=

9 999

9

9 9

2 2 2 1

1 1

ˆ

D H I M I D H I M I

M

1 Ad

2

2 2 2 M ˆ H H T

Articulated Body Inertia

ABM [Featherstone 87] = Sparse Gaussian Elimination

© Dinesh K. Pai

Contact Evolution

: ; <1=>@?A=BDCFEG=?FHJIKEGLNMOCP

QRNSUT1VWT1XXY3Z[V\]GVT^_S`\DabTNS c_dOeJfJghgije1d`gklnmpogc_dOel1qjr

sGtuFv,wNx/yNx`zt{n|[t}~ys€

‚NƒO„…‡†DˆNƒ‰Š‚F‹_ƒO„Œ

[Ž‘’“‘j“•”G”‘– —j˜™NšO›—jš

œNž1ŸJ A¡1¢`£‘¤¦¥[§¨§¨¢`©1§,ªJ§ž1¡J«

¬1­1®/¯€°

±²€³´ µ¶_·‘¸j¹º¼» ½J¾¿1ÀG¿1Á¾Â_¿

Ã1ÄJÅDÄÆAÇ1È`Å/ÉÊÄJË1ÌÎ͑ÏJÐṄÉÑJÉ͑ÉÒË

͑ÏJÅÓ[Ä1ÊGÇÍNÔ

(10)

© Dinesh K. Pai

Contact Simulation

© Dinesh K. Pai

Contact Simulation…

© Dinesh K. Pai

Resources

"!$#&%')(+*-,#./*(0#&, 1234$5687993:;74+<=?>A@ = <95BC

D+EE)FGH)H)IJIJILKMON PQSRT UV8WYXZ[ \+]_^]+``a

b0cddefg h_ij k lmSnop qYrstuvwAstxy$sz{O|tO}~ &€y8tx~&|

/‚?ƒ‚&„‚…†‡ˆ‰Š‹†ˆ‚&‡ ŒŽƒ‘’“ ”8”+•–$— —˜

™$š›œšž/Ÿ œ/¡&¢š £¤¥&¦¥§¨© ª«¬®­¯_°²±³´¥&µ­§¶¬·°$¸

¹º»¼0½¾ ¿À

ÁYÂÃÄ ÅÇÆ+ÈÉÊË ÂÌÍ ÎËÏ ÐÑ$Ò&ËÓ0ÂË)Í?ÔÏ ÌÂÕ®ÃÈ_Æ Ö×ØÙ&ÚÛÜÝÞ·ß²à)Ù&Ú á0â×ÜÛãÙ ä å æJÝçÛèßéçèäêæëÙ&èÜ/çì8Üîí

ïOðñòó ô8õ&ðö÷ø&ù-úø&ûøüOýþ$ÿùü/ø üýø&ù

! "#%$ &!' ()%*!+ *, -./)0+#1.#23-4546*!7!8

Sound Simulation

9:<;;=<>:<?@=BAC:<?@DE

FHGIGIJ KL<MONIP<M QSRIT<U

VW<X/W<Y Z[\B[][^I^_

© Dinesh K. Pai

Why Sound?

`ba c@debfg h

ijHkklm n

oqprsqrt u

vwSxzyS{|} ~

€ H‚€ ƒb„

…<†!‡ˆ‰BˆŠ ‹

ŒHqŽŽH‘ ’

“•”–—B˜™ š

›Sœqž ŸI ž ¡

Essential for: Useful for:

© Dinesh K. Pai

Synthesis Method

Force Vibration

Emission

Propagation Listener Speakers

Sample

(11)

© Dinesh K. Pai

Force Vibration

Emission

! "$#&%'(*)+,%-. /

Generalized Sound Cones

© Dinesh K. Pai

Force Vibration

Emission

0132!4

5!67$8&9:;*<=>9?@6 A B

CEDFGIHKJMLNJOPQMRSTQSQFDO

UWVVXIYZV[E\^]_I`ab*\dce`fb\

gKhijkZl

mno

pqrst

) , ( ) , ( )

( 2

2

t x F t t x

A =

− ∂ µ

© Dinesh K. Pai

Vibration Model

uEvv^wx&yzw{|y} v~€y*y ‚!w€ƒ„{…

†‡{ˆwfƒ„{…!‰

~‹ŠyŒy

0 ) , 1 (

2 2

2   =

 

− ∂ t

t

c u x

A

( )

=

Ψ +

=

1

) ( ) cos(

) sin(

) , (

n

n n n n

n ct b ct

a

t x

x

u ω ω

( A + ω n 2 ) Ψ n ( x ) = 0

© Dinesh K. Pai

Vibration Modes of Square Membrane

© Dinesh K. Pai

Spectrum of membrane struck at (0.5,0.4)

© Dinesh K. Pai

Spectrum of membrane struck at

(0.1,0.4)

(12)

© Dinesh K. Pai

Spectrum of membrane struck at (0.1,0.1)

© Dinesh K. Pai

Interactive Sound Synthesis Model

! #" !$ %

b (f i )

&')(+*,-/.,013254,6,04,07849:;6<&0=>

1@?00,<17$,<47$?A:97$,*$&9B<6,*1@,67&?0

CD<EGFHEGIJFLKME@NEPOE@NJQARSRLTUNQNF$DVW$NVF$MXYE[ZL\^]

_S`abcPbde8fagdh

i8jklmn#opGkjlLqo<pmprtsojuosvwnxpGlmnyxs!l$zjl{

nxuo<p}|+msYpl~jlmwlmnos+~jp}x~l

( ) ∑

=

= Mi

i i

t x f

b a x f x t

e t

x

p i

1

)) (

( ( ) sin( 2 ( ) )

, π

© Dinesh K. Pai

Sound texture map

€<x~jupkjlLqo<p@mpPyzsznol$osp

f i (x j )



a i (x j )

zju

b i (x j )

zso5l$o‚wlL~sonzyyouxjl$x p~ƒum„mpmxj…p~s|Yz†3o†3xjlLsxw„os!lm†@o<p

‡Ljl$os+yxzlˆoA~p@mj‰ ƒzs!k†@ojlLs$m†Š†@x<xsumjzlˆop

False color image of audio brightness

© Dinesh K. Pai

Force Vibration

Emission

‹soŒ/~oj†3k…pyo†3lLs+~n

Žzn;y<mj‰pyo†3lLs$~n

‘’“”•–—“<”

˜™;—š›$“

œ––™“›$“Žž$Ÿ›ˆ›Ÿ ¡

¢£P¤¥¥¦§

¨©GªL«¬G­G®¯°®±²«´³«¯µL¶ ·@¸´¹º»°¼L½H¾

© Dinesh K. Pai

DSP View

¿ÀÁÂÃÄÃÅ3ÀÆ$ÇÈÉ$ÀÊYÁ

ËÆYÆ$ÇÅÇÀÃÉ8Å3ÂÃÌÂÈÍÉÇÂÃ5ÂÆ8ÇÃÎÍÉÏÆYÂÊ!Å@À<Á

ÐÇÈÉ$ÀʎÅ3ÂÀÆYÆ$ÇÅÇÀÃÉ+Á}Å@ÂÑ;ÎÍÉ$ÄÒÈÀ

ÓÑÎÈÀÑ#ÀÃÉ8Ä<ÁPÔÏÕÖ#ÄÈ×ÂÊ$ÇÉLØÑ

Ô8ÇÊÀÅ3ÉSÕ<ÂÍÃÙ;ÙÀÑ#Â

© Dinesh K. Pai

ÚÛÜ3ÛÝ°ÞßÛ

àáâ3ãäåçæèåé°ê´ëì

íYî°ïð

ñòóô3õöç÷øGù²úèûü°ø´ýþ

ÿ

!"

#%$'& ()*+(

- Microsimulation - Wavetable

Force Vibration

Emission

(13)

© Dinesh K. Pai

Micro-simulation of contact force

"!# $%$%&'(!) $

*+,.-/0132456/+07#7#8:9;<=2>/?5@4<=;-+-A:B?C70

DEFEGIHJ KL.M N6O

π

PQ

τ

R ST)UVXW>YIW

τ has correct form

ZI[ \](^_ \@`(a.bc)de_a#defXgchbih[kjlid=gmi[knblca#[f

o#p=q"r.o3sp=qut6vw3xyzwt{3|)}zxy#w.ytvq#p=|)y#w3y#~quvq#€o#q3y#~xq#p

© Dinesh K. Pai

Micro-simulation of contact force

ƒ‚„…ƒ„†‡

ˆ6‰Š@‹.ŒŒ ŽŒ "‰k‘‰’=“kŠ@‰”•“Œ#"– 

—˜™'š ›@œ™—ž˜(Ÿœ›6œ š™'š ›6¡£¢¤¡3Ÿšš¥¦§@ž›6#š¨

 œ ˜©¡.ª›@§@œ.š¡¬«­š ®® ž¥š ®š¥

œ¡¬§¤›@œ#™'œ ®˜ž—¡šœ™:¡. œ ®®¡.œ ®š

¢¡.Ÿš™ ¯°±²³´³ ±²³ ±µ·¶¸ƒ¹.´³³² º

».¼ ´µ=½¾@³k¿¼ ¾@À³%¹ »#¼ ¿³%¹µ=¾e½ » µ=½¾@³

½¹3°±ÀÁ¶²

¼

¿¾@³¹¶±

¼ ± »

³ÂðµÄ

ŤÆ@ÇÈÉÇ ÊËÌÇÍXÎÆ@ÏÎÏÆÐ=ÌÏÊÑ Ò)Ð'Ï(Í3ÒÌÓÌÊÔkÍ3ÎÇÇÓ

© Dinesh K. Pai

Synthesis API

Õ=Ö×eØÙ¤Ú¤Û'ÜÛ

ÝÞ¤ßàÞ¤á âã@äå

æç'è¤é'êë@ìîí=ïð=ñòíé ó@ôõö÷øù@úû6üýþøÿö

!

"$#&%#

')(*+-,.(/*0

© Dinesh K. Pai

13254&687:9<;<9=9>2<?A@BDCFEHG

I$J<KALMKJON<KPMQRQTSMKU

VOW<XMY[Z]\5Y[W.^`_RX.a$bc

dFe&fg[hRi]j[k<flRmnfo-prq$fsRjMtiuo-fl<vRh[guh]vuo&q

wxuy{z]|}.~y€uzƒ‚-„M…uy>†‡}[y{~uˆŠ‰<…uy>‹‰<|5ŒŽ}[y{z]x[~:€zO‘)’

“‡”3•–˜—‡™F”<™>š&›<–œAšž<› Ÿ:™ ¡

¢¤£&¥¤¥

JASS

Java Audio Synthesis System

© Dinesh K. Pai

Unit Generators

Adder UG

Low-pass UG Excitation

UG

Render UG

Karplus-Strong UG

Patch

Excitation UG

Render UG

F v

p Contact Force

Model UG

Resonance Model UG

Source

Player UG JASS

Graphic Display

Simulator

v, F, roughness p, damping, loadModel(file)

Dynamics Simulator, Collision Detector

start()

positions

User

display

user input

(14)

© Dinesh K. Pai

JASS Architecture

Engine Package

UG Package Render Package Patch Package

"!!#$%&#'(

)+*,%%&-' .//0123415&67

© Dinesh K. Pai

Demos

%RWWOH

%RZHG 6WULQJ (QJLQH

6FUDSH

%HOO

© Dinesh K. Pai

Wok Example

© Dinesh K. Pai

Integrating Audio Haptic Displays

User Interaction

8:9&;<=><,?@=ABCAB;DBABD EGF

<H H=I<

F

>J? KL&M NO&PQR

STUGVXWY&Z[,TW[\Y&]WV^@_:],`aV bcde fghijkml gnoClp&qno

rtsuvwx yz&{xm|Xs}~Cz&€}~

‚ƒ„…†‡&ƒˆ‰Š‹Œ,‡Ž‘’“

”•–—,˜

™šœ›,žŸ ¡¢£,Ÿ¤ŸJ¥œ¦§,šœ¨¤¡¢,©ªš«¬­¥œ

ž,£, ®¯°œ±² ³´œµ¶

·¸,¹º»¼½¸,¾,¿ ÀÁ,ÂÃÄÅ Æ,ÇÈÄÅÇÉÊ ËÌÍÎÏJÍ,ÐÑÒ Ó,ԜÕÖ×؜ÙÚÛ

ÜÝÞßàá@âäãåæàœçßèàœééê,è

© Dinesh K. Pai

The AHI Audio-Haptic Interface

DiFilippo and Pai UIST 00

© Dinesh K. Pai

Results

Force

(15)

© Dinesh K. Pai

A User Study

!"#$&%!')(*!%,+-."/+0')!1/0#2"34)#2'51*67-"+.8!6+9

:<;=*>@?BACEDFCGHH,?IJKLMC;GN/OPGNNQ2OKCSRTG;I2KU VWBXBY2Z[\^]2_`VXB\\2Z[\ aXb,cSZd*e fhg^ije

k,lnmhoqprs/tuwvwx<y,z{{s|rT}~zty,zTy*€~r‚Etƒ@s„

…<†‡*ˆ@rBy„Es‰rƒ)){2ƒ€~rp^„ny,zBvyr ŠrB‹rŠ

ŒŽ‘’)“‚””B’@•F“–q—‚‚˜@B™“–2’nš›

œžŸ 2¡¢ ¤£¥)¦B§*¦BŸ¦¢§*¦2¨2©«ª2¥)¦¬­Ÿ2¡¦¬¢¦¦BŸ¦BŸŽ¨

© Dinesh K. Pai

© Dinesh K. Pai

Resources

®¯° ±B²³´µw¶´²·

A Digital Signal Processing Primer with applications to Digital Audio and Computer Music. Addison-Wesley, 1996.

❚ Ken Greenebaum (Ed.) Audio Anecdotes, Kluwer 2001 (to appear)

¸B¹)ºBºT»¼5½½½<¾À¿ Áº¹@Ã/ÄÅ2ƂÇwÈÉÊ*Ë

ÌÌÌÎÍÏÐ ÑÒhÓÔ ÕÖØ×|ÙÚ ÛܙÝhÞ/ß,àáâäã*ååæâMã*åå çè™éêFë

ì™íhîîïSðíhñóòô,õ2ö,íh÷îøùñóô,îô*ú*ïSô™ùò™ñóô*úûMô«ünôhýFïSò™ñ)÷þ™û)ï

Deformation Simulation

ÿ

© Dinesh K. Pai [James + Pai 99]

Contact Deformation

© Dinesh K. Pai

Deformation simulation

"!#%$'&)(*(&+

,.-/0%132 4"56%7'8:9"7'8:68);< =>?"@3AB

CEDGF%F3H%IJLKM"HNPO)QR HJ

SUT3VTWXY:T3ZWP[]\TY_^:X`badce"fU^:XY)ghji

kml3no)pq r_st:u3vGwxPt)yz s{r|}|~u%|

(16)

© Dinesh K. Pai

Elasticity

"!$#%'& (')* "#(+(

,-.$/102354768479;:=<+> .:?"27-9

@AAB5C1DE FGIHKJ"L7FG;MNLOPO'M*J"LO5OQMSRTO'M*J"G7UV

WYXIZ\[S]^`_+a bc7dIef;g

hijklmn=opqrj7slSt+pso7u=pvwvNklNk=x7t+pso7ky{zst+pn|x}

~€‚„ƒ…|†‡ˆ‰ŠS‹rŒ…|‡ˆ=Ž+…=‡Y

’‘“|”•–—˜S™›š—œ”Ÿž˜N“| œ¡£¢+‘YšPž¤

© Dinesh K. Pai

Linear Elastostatic Models

¥¦§ ¨©ª

«¬­®¯°‚±*¬'²³°´*µ'¶S°Y°Y·

¸1¹º»Y¼½¹¾w¿ŸÀÁüºr»ÄÅÆÇ=¹¾ ÈÉÊËÌ7ÊÈÍÎ ÏYÐ\ÑÒÈÎÉÈÏÑÊÓ+ÊÏ|Ë

Ô|ÕÖ1×5ØÙNÚÛÝÜÕÞ7ßÝà;á{âã|ä7Õâå æYçèéêIëçìíïîéíwì=ðñæë+òì|ó

ôõ|ö÷ïöøQùúûü=ý þÿNõùùù

ν = 0.5 2 0 1

3 1

1

2 2

2   + =

 

∂ + −

=i

k k i

k k

i b

x x

u x

G u

ν

© Dinesh K. Pai

Numerical Discretization

!#"%$&')(*,+-.

/0120345'067684298421,:;4=<

>?@2?ABCEDBFGB@AIHJB,AK,LEMNO>=C2HQP

R=S!T2U,V2WXY[ZE\]^G]U_I`Q]_a,SEVbOR Z2`Qc

d efhgjilkmn)o-pOm!q-r stuvwyx z{t|,}!z{t~ €J#‚#ƒ„…)†

‡!ˆ-‰!ŠŒ‹Žˆ-‰‘#’”“y‘•–—ˆ-‰!Š ‰‡!‘'˜&‘™'‰!’–

š›œžjŸ¡ ¢£¤¥! ¦¢!§¨-©8¤ §ª«¬!©y­!®”ª¯¨!®”ª '¢ °Q­ ¨#«¤

®) ²±!¨-¢!§Œ£­´³Žªµ!­ §¶¥ ¦¢!§¨-©¤—¬, ¢!§ª®{ª ¢ «

© Dinesh K. Pai

Example: Boundary Elements

∫ Γ

Γ

Γ

= Γ

+ p * u d u * p d u

c

H u = G p

Constant Elements

Point Load at j

i

g ij Weaken,

Integrate

2 0 1

3 1

1

2 2

2 + =

 

 

∂ + −

∑ ∂

= i

k k i

k k

i b

x x

u x

G u

ν N u + b = 0

Discretize

© Dinesh K. Pai

Green’s Functions

for Discrete BVP (via BEM)

H u = G p

SPECIFY BC

Red BV specified Yellow BV unknown

REARRANGE

A v = - A v _ _

=

=

=

=

INVERT LHS

v = - A -1 A v = _ _ Ξ v _

Green’s Functions © Dinesh K. Pai

·I¸2¹!º-»»¼—½¿¾!ÀÁ¸EÂ!¾ ÃĽ)ľ ŶÆ#ÇJȸjº-Éy¾ËÊ!ÌÊ!;'ÉyÌ

Î)ÏÑÐÒ)Ó'ÔÕÖÓÏØ× ÙÚ×!Ó×#ÛÜÝ'ÞyÓ ß#àIÐ á âÚã ä å æØç”èé&ê—ç)ëìê í!î-ïð!î!çê

Fast Solution to BVP with Green’s Functions

v = Ξ v _

(17)

© Dinesh K. Pai

"!#$&%' (*) +-,/.102$34)

Ξ

❙ Ξ

567*8916:;<;9: =>9

Boundary Condition Type Changes

?A@BDCFEHGIJKLNMO P QNR/SNTSU/P S

© Dinesh K. Pai

Fast Elastostatic Deformation

VWX/Y/Z[/\]_^a`bZcD^dZfeghX/ibX hgjk_[lhnm o

= H u = G p

= +

T s 0

s A A E

A = +

p

v A - v A s = s

© Dinesh K. Pai

Notation

qsrtvuxwyt tz{|}/~"Arw €ƒ‚A„…†/‡>ˆ‡Š‰

‹ŒŽŒ‘"’“D”$‘–• —˜” ™Nš›œ_D•dž>’™NœŸœ“/‘"’A ¡‹

¢F£s¤ £¥¦

§©¨/ª«/¬­f®«s¯xª

¦±°

®²

§©¨/ª«/¬­n³

¤ £´µ

¯_«

¥

)E A A ( A 0 0 − = s

T 0 0 0

s A ( A A )EE

A = + −

T s 0

s A A E

A = +

= +

© Dinesh K. Pai

Sherman-Morrison-Woodbury

·A³­DªF¸H¹²º

´£ ®

¦ƒ¤ £

¨/­

°

­«

¤

­f»/­

¦Š¼

­D­N« ½D¾À¿/Á

[ T - 0 1 s ] T - 0 1

s 1 - 0 1 - 0 1 -

s A - A A I E A A E A

A = δ + δ 1

T s 0

s A A E

A = +

Â

ÃAÄ

= +

ÅƱÇÈDƊŠɱÊËÊ$ÉÌÍÎÊÏ$ɱÐ1јÊÍÓÒ4ÌÔ&ÕֱјÊ××Ø

© Dinesh K. Pai

Capacitance Matrix Algorithm

[James + Pai 99,01]

❚ Solution to any BVP in terms of Ξ for a Reference BVP

Using Sherman-Morrison-Woodbury formula:

v (0) = [ Ξ (I-EE T ) - EE T ] v v = v (0) + (I+ Ξ )EC -1 E T v (0) C = -E T Ξ E = s-by-s capacitance matrix

❚ Direct solver w/ fixed solution cost

❚ Construct, cache and reuse C -1

O(s 3 ) when constraints switch (or better)

O(sn) subsequent solves for s nonzero BC _

© Dinesh K. Pai

ÙÚÛÜnÝ

(18)

© Dinesh K. Pai

Haptic Interaction [James & Pai 01]

! "

#%$&'#(*)+),-(/.0 1243 5

6798:%;<=>8@?A:=CBD8EFGIHJ:FKLGI7I8FM:BHJGNB:HJB'OGPNB

QR9STUDRVXWYZ[9\%]^%_a`bcd egf%hiMjhkmlon9p9qr stuvuw9x9yz {I{9|}*~€‚>ƒ„…„† ‡ ˆ‰9Š‹ŒŽ I9

‘’’“” •–I—˜˜•™D”š˜•›œ”•œ” ž”CŸ

 *¡¢¤£J¥ ¦£>§¨©ª «¬­4¬®'¯¨¥ °%±4²´³'µ'¶· ¸

© Dinesh K. Pai

Capacitance Matrices give Exact Local Models

❚ Consider contacting a free boundary.

Forces at only contacted vertices can be computed in O(s 2 ) time as

E T v = E T v (0) + E T (I+ Ξ )EC -1 E T v (0)

¹Iº»¼º½¾ ¿¼¾´ÀÂÁ¾JÃÄ¿ÅIÁ½Æ'ÇÈÊÉÈ»A¾ ÈËÌaÅÍoÎÏ ÐÑÒÓÔÑÕ ÑÖÐØ× Ù

Ú Û Ü

E T v = -C -1

Ý Þ

= Ξ

ÞÞ

-1

ß Þ

àIá

Ξ

ââãäØåJæççèèçéå>ãêçéëìíîãï*ðéçëè4êç*ñDå çò

© Dinesh K. Pai

Point Contact abstraction

ó*ôõ*ö÷øùúû´üøúû õüûL÷ýøþ'ÿüô ùú ùú%ùû ô ûJýõüû>ùøú õ*úþûôýô

øýô/öõ*ýô*ý

þùI÷%öõüô ôúûXøú

ùúô*ý ô

! "#$&%')(*(+,-

')(./ 0#!21-%23(1(&4

5687:9<;=> ?A@:B C#DE

© Dinesh K. Pai

Capacitance Matrix in Haptics

© Dinesh K. Pai

Resources

FGHAI&J*KML:KN OPQRSPTVU W8XZY*[:\]^A_`a b#cAde*fg<h:ikjc lmknko:pq rsMtu*vMw:xAyzk{}|{~:wk:r€‚ƒ2„:…#†‡z€V…*z:wAu*{y#‡…ˆ‰:Š:ˆ

‹&Œ:‹&Œ:Œ:Ž

 ##‘’“”•–—™˜š

›8œ:<žŸ  ¡A¢:£ ¤:¥¦-¦§:¨}©:ª¬«k«®­&¯*°A±²:³°´²µ¶A·k³¶A¸!¯¹

¶:º²´8±S³­<»<¯k¼k¶:º´

½ ¾#¾#¾¿À™ÁÂÃÄÅÆǙÈÉ™Ê ËÌÍÎSÏ8ÐÏ8ÑÒÓÎÔÐÕÖÐ×Ø&ØVÙÚ8Û8Ü

Ý8Þ:ß<àáâ ãAÞ:ä å8æ¬ç-è:éêSéëì<í-îëïAðSñëkèAð-òê ókôïõðòkõ8ðïAð™éö

÷:øùûúýüþüù ÿ*ø÷ *ü÷™ü*øú÷-ü

÷™ü ! ""# $&%'(()*+ ,.-/0124343.56708 9;:-<=0>? @A

B&C

AED41A>F</G80>IHFGJ/8:1GK 9.:-<0>? LA?A:/> C

M N;N;N OPFQRTSUVWXYZ[]\^

© Dinesh K. Pai

Summary

_a`7bIcd` efghie`jh kmlngop `7q

rts.uwvwxyz7y{w|u }~w}y}s €y{w‚ƒ;„v.y

…4† ‡‰ˆ‹Š…ˆŒ.Žˆ‹Ž;…ˆ† ‡

‘’“‘”–• —n”7˜™”n˜mš ›mœ‘ž.Ÿ ›Iš ”¡ž;—“š&¢›jž‰¢

£“¤¥&¦§j¨¦ª©¤“«m¥ ¬­©.®¯¡«m°§ ¦®¤“¥

±²7³T´“µ¶¸· ¹º´“»™¼.º¶¡½m¾· ¹º´“»

7KDQ

¿

\RX

Referanser

RELATERTE DOKUMENTER

Then we present our work on crowd behavior simu- lation aimed at interactive real-time applications such as computer games or virtual environments. We define a modular

component based development of interactive audio-visual simulation applications in the domain of VR/AR with par- ticular focus on virtual character simulation technologies. It

The rest of this paper is organized as follows. In Sec- tion 2 an overview of the costume designer application is presented. The hierarchical cloth modeling and simulation methods

A 3d virtual digital model reconstruction of the Balteus was provided to offer a means of interactive exploration to the visitors, in a suitable internet-based application available

Opposed to previous approaches that assume constant tempo throughout a recording, our analysis particularly focused on music with temporal variations. As one major con- tribution,

White bastion case study aims to present the historical development of this cultural heritage object using virtual reality and interactive digital storytelling, in order to

Geometric modeling and geometry processing is an indispensable part of digital fabrication, which has become a highly relevant and challenging area of research. Although

As a solution to immersive virtual museum visits, we propose an extension upon the platform we previously developed for Setting-up Interactive Virtual Environments (pSIVE)