ĐÀO MINH THƯỨng dụng mô hình chuyển động hình nhân 3D vào tương tác người máy và E-learning luËn v¨n th¹c sÜ CÔNG NGHỆ THÔNG TIN Hµ néi - 2005... ĐÀO MINH THƯỨng dụng mô hình chuyển động
Trang 1ĐÀO MINH THƯ
Ứng dụng mô hình chuyển động hình nhân 3D vào tương tác người máy và E-learning
luËn v¨n th¹c sÜ CÔNG NGHỆ THÔNG TIN
Hµ néi - 2005
Trang 2ĐÀO MINH THƯ
Ứng dụng mô hình chuyển động hình nhân 3D vào tương tác người máy và E-learning
Mã số
luËn v¨n th¹c sÜ CÔNG NGHỆ THÔNG TIN
Người hướng dẫn khoa học: TS Bùi Thế Duy
Hµ néi - 2005
Trang 3MñuNăm 1955, khi m ca ln ñu công viên Disney CalDisneyñãthitkmtmôhìnhcôngviên3chiudù
ñiunàyñãñemlimthiuqukhôngng.Chind
rvàktqulàdukháchññnDisneyLandngàyc
2001)
Năm2000,tròchơiFinalFantasyñãgâynênmtcơnVitNamvàthgii.Nhngmôhìnhnhânvt3ch
tóc,npáo,lànda;schânthctrongmichuyn
cácgameth.Ngoàishpdnvýtưngcatròc
trongcácmôhình3DcaFinalFantasylàmttrongchơinàytrthànhmttrongnhnggamehpdnnh
Haivídtrênñãchothysthuhútcacácmôhìmáytínhsdngmôhình3chiuxuthinngàycàn
3Dvàothctmàmttrongnhngngdngcóthk
kýhiuphcvngưikhimthính
Hinnay,nhngchươngtrình,dánnhmcithinGiáo dchòa nhp tr khim thính và cácdch vphngưikhimthínhVitNamñangpháttrinkhám
Trang 4PhnKtlun ñánhgiácáccôngvicñãlàmvàhưngpháttrint iptheo.
Trang 5Chương1HANIM 1.1.KháinimHanim
Cùngvistăngtrưngcalĩnhvcñha3Dtronnhiuphnmmlàmnhimvthitkmôhình3Dvà
ñphâncpcáckhptrctipcahìnhnhâncũngn
Trang 6nhimvcuthànhnêncácñoncơthmtmôhình ngưitheomtcáchthcchophépnhmtonêncáchìnhnhâncókhnăngthchi ncáccñng[15].
Trang 7Hình1:CácthànhphncamtHAnim
Trang 8VRMLV2.0utf8
PROTOHumanoid[
exposedFieldexposedFieldexposedFieldexposedFieldexposedFieldexposedFieldexposedFieldexposedFieldexposedFieldexposedFieldexposedFieldexposedFieldexposedFieldfield
field]
Trang 9Lưuýrng“exposedField”làcáctrưngmàscripcó thtruynhpñưcññc dliu,còn“field”thìkhông.
Trang 10eventIn MFNode removeChildrenexposedField SFVec3f centerOfMass 000exposedField MFNode children []
exposedField SFNode coord NexposedField MFNode displacers []
exposedField SFString name ""
exposedField SFFloat mass 0exposedField SFVec3f momentsOfInertia 1field SFVec3f bboxCenter 0
field SFVec3f bboxSize
ULL
1100111]
Vídmôtlpñitưng SitedùngcúphápcaVRMLV2.0utf8nhưsau:
PROTOSite[
eventIn MFNode addChildren
eventIn MFNode removeChildren
Trang 11exposedFieldexposedFieldexposedFieldexposedFieldexposedFieldexposedFieldexposedField]
Trang 12ðitưng Displacercó3mc mcñcơbnnht,nóñơnginchdù
Trang 13CácmôhìnhHAnimcóthcñngñưclànhthaotransformcacáckhp,cácthôngsnàyñưcghit
Trang 14LOAmc0chhtrmtñitưng Jointlà HumanoidRoot.
Hình3:LOAmc0
LOAmc1htrcâyphâncpmcthp
Hình4:LOAmc1
Trang 15LOAmc2htrhxươngcóxươngsngñưcñơngin hóa.
Hình5:LOAmc2LOAmc3htrcâyphâncpñyñcamtHAnim
Hình6:LOAmc3
Trang 16xương chuyn ñng,và kéo theo s chuyn ñng cac
hưng cakhp xương Ví d khi ta xoay c tay thì
Trang 17r_pinky0l_ring0r_ring0l_middle0r_middle0l_index0r_index0l_thumb1r_thumb1
CácñitưngJointcakhuônmtl_eyeball_joint l_eyeball_jointl_eyebrow_joint l_eyebrow_jointl_eyelid_joint l_eyelid_jointtemporomandibular
Davàocáctêngitrên,ISOquyñnhcpñitưn g Joint:Segmentnhưsau:
Trang 21Hình7:Cácñimñctrưngtrêncơthngưi.
Trang 2337 r_metacarpal
38 r_dactylion1.5.Môhìnhhóa
Trang 24Gctañ(0,0,0)ñưcquyñnhñt nn,nhưv ynósnm giachâncahìnhnhân.Nhưvy,haichânñttrênñtscá chquãngnhaubngñrngcahông.ðdhìnhdung,tagithitlòngbànchânl àphng,nhưvytañtheotrcYcanóslà0.
Hình9:Môhình3DcahaihìnhnhânCánhtaysduithngvàñtsongsongvithânhì nhvilòngbàntayúpvàoñùi.Taycoinhưphng,trccacáckhpt1ñn 3cacácngóntaysongsongvitrcYvàtrccangóntaycáinghiêngmtgócπ/2 radian(90ñ)vitrcZ+.Nhưvy,htrctañmikhpcangóntaycáiphi xoayliñthnghàngvitoànbhìnhnhân
Trang 25Hình10:TrctañcacácngóntayKhuônmtñưcmôhìnhhóavicáclôngmàygiãnra ,môikhéplivàmtmto.
Hình11:Môhình3chiudintkhuônmt
Trang 26Cáchìnhnhânphiñưcxâydngvitlkíchthư cphùhpvicơthconngưitrongthct.
nh nghĩa trong mi ñi tưng
dchnàythaychovicnhhưnglntivicthchin
chươngtrình.
Trang 272.1.SAM
SAM(SolidAgentsinMotion),làmtngônnglpt rình3Dthgiácdànhchocáchthngsongsongvàanimation Vmtkthu t,SAMlàngônnglptrìnhhưngtrngthái,ñngb,songsong.SAMrtthích hptrongvicmôhìnhhóacáctrngtháiphnng.Chươngtrìnhvitbngngônng SAMlàmttphpcácagentmàtrongñóchúnggiaotipvinhauthôngquavic traoñicácthôngñip.Trngtháicaagentñưcxácñnhbngnghĩacalutsnxu tvimtñiukinvàmtdãycáchànhñngtươngngviñiukinñó.Cácthànhph nchínhnhưagent,thôngñipvàlutlàcácñitưng3D.Cácthànhphnconñưcm ôtbngtextthôngquacácform.Tươngtnhưcôngc"ToolTip",mikhingưidùng dichutñnmôtñitưng3Dthìcácthôngtinquantrngvñitưngñósñư chinthlên.Khiñucacácagent,thôngñipvàcáclutñucómtbiudin 3Dmangtínhtưngtrưngnhưkhicu,khilpphương,khitrvàkhihìnhchópnó ntùythucvàotngngdngcth.Cáchotñnganimationtrongchươngtrình3D ñưcthchinbngcáchlàmmncácchuynñngliêntipvàxácñnhtlgiacá cñitưng.Mtmt,ñiunàychophépphântichchitittngthaotáccñng,mt khác,nócómtưuñimlàngưilptrìnhchphiñiukhinmtmôitrưngvàmtng ônngchomiñct,thchin
vàhotñng(animation)camtchươngtrình.thêm vàoñó,cácbiudin3Dtùyýcóthñưcgánriêngrchocácagentvàcácthông ñipññơnginhóanhnghìnhdunghotñng3Dphctp.Ngưilptrìnhcóth chuynñigiabiudintưngtrưngvàbiudincthngayckhiñangdinra schuynñng[5]
Trang 28Hình12:Biudintưngtrưng(bêntrái)vàct h(bênphi)cácựitưng3D
2.2.3DVisulan
Trongcácngônnglptrìnhthhinbngkýtnh ưChayLispthôngthưng,ngưilptrìnhphidintthgii3Dbngcáck ýt.Vắdmtựimtrongkhônggiansựưcmôtnhưsau"glVertex(1.0,1.0,1.0) ".đchuynựimnàysangvtrắkhác,ngưilptrìnhsphivitcácbiuthcnh mbinựicáctaựcaựimựó
KakuyaYamamoto,mtgiáosưcatrưngựihcKyo toựãxâydngmtngônnglptrình3Dvicơchkhác,trongựóthgii3D ựưcdintbngchắnhthgii3Dchkhôngphibngkýtnhưcácngônngkhác.đó là3DVisulan.đâylàngônng3Dựutiêntheocơchlutvitli(rewriterule basedlanguage),trongựócchươngtrìnhvàdliuựưcmôtbngcác3Dbitmap.đây làmtựcựimmimgiúp
3DVisulanxâydngnêncácngdng3DnhưmáyTur inghaytròchơi3DSpace Invaders
Kakuyaựnhnghĩa3Dbitmaplà"mttpcáckhil pphương3chiucócácthuctắnhmàusc"vàthgiilà"thôngtinựưc dinựtbngcác3Dbitmap".Trong3DVisulan,cchươngtrìnhvàdliuựưcdint bngcác3Dbitmapvàchúngựưccoinhưmtkhônggiantươngtácgiangưil ptrìnhvàmáytắnh
Trang 29Hình13Ngưilptrìnhcóthhiu(theodõi)ñưccáctr
trình ñưc tin hành trên b son tho tích hp 3D
2.3.VPython
Năm1990,GuidovanRossumñãxâydngnênmtngôn nglptrìnhhưngñitưngkhámnhcótênlàPython.Lúcñu,bnt hânngônngnàykhônghtr
dngmôñunñha3chiuchoPythoncótênlà"Vis ual"cótínhnăngnibtlàñcbitddùng.ðâylàmtchươngtrìnhcókhnăngx âydngcácñitưng3D(hìnhcu,lpphương,cácñưngcong…)vàñnhvchúngt rongkhônggian3D.Visual,chyvitưcáchlàmtlungriêngbit,tñngc pnhtcáckhungcnh3Dnhiulntrongmtgiâynhmphnánhchínhxácvtríhin ticacácñitưng3D.Ngưilptrìnhskhôngphicnphiquantâmñnvnñ qunlýcôngvichinthmàtp
trungvàokhíacnhtínhtoáncachươngtrình.Ngư idùngsduytkhungcnh3D
Trang 30Direct3DlàmtAPI(ApplicationProgrammingInterfcho phép ngưi dùng render [ph lc 2] th gii 3D
Trang 32Cghay"Cforgraphics"(tmdch:Cdànhchoñh a),làmtngônngbccaodànhchoñha3DdoNvidiavàcáctrlýca Microsoftthitk,cónhimvcungcpcácgiaodinbccaochoDirectXvàOpe nGL.Nótươngthích100%viDX9.BnthânCgñưctorathaithànhphnchín h:cácñctínhvmtkthut
lptrìnhcangônngvàcácbdchCgtươngng CôngbcaNvidiabaogmchititvbdchCg,cácchititvkthutlptr ìnhngônngCg,bduytCg(dànhchovictomuvàdnghình)vàcáccôngcxâyd ngkhác.Cgñưcthitkvihy
vnggiúplptrìnhhiuqu mccaovàddùngc hocácnhàxâydngsnphmphnmm.Ngưilptrìnhcóthxâydngcácchươn gtrìnhbngCgñãñưcdchsntrongcácmôitrưngcthhocbiêndchtron gkhichyñhotñngquanhiu
GPUcóhtrDX8,OpenGL1.4,cácphiênbntrong tươnglaicaGPUvàhaiAPIcũngnhưkhnăngchytrênWindows,Linux,MacOS XvàXbox
2.6.Java3D
Sun ñã mang ñn cho th gii m ngôn ng lp trình tuyt vi, ñó là Java L à m nhánh trong"thâncây"JavakhlJava3D,nhưtêngcnó,làmnhimvchuyênc ungcpcácgóitindùngchoviclptrìnhcácngd3D.ChititvJava3Ds ñưctrìnhbàyktrongphnunny
Trang 33Chương3CÁCCÔNGCSDNG 3.1.Java3D
3.1.1.TngquanvJava3D
Java3DlàngônnglptrìnhñhadohãngSunMicthànhviêntrongdòngngônnglptrìnhJavavnñ
bcáclpJava[16][17]
Java3DxâydngñhatnhngAPIñhasncókmi.CáccutrúcñhamcthpcaJava3Dlàs
ñhamcthpnhưDirectXvàOpenGL,QuickDraw3DtrúcñhamccaocaJava3Dlàskthpcách
ha.Java3Dcòngiithiumtskháinimmimà
thôngdngtrongmôitrưngñhanhưâmthanhkhôcaJava3Dtrongtươnglaisgiúpñưaranhiung
nhiulĩnhvc,ñcbitlànghànhcôngnghipGame
3.1.2.MctiêucaJava3D
Mc tiêu chính ca Java3D là các ng dng ñ haJava3Dcòncócácmctiêukháccũngrtquantrng
Trang 34• Cungcpmttpñadngcácñctínhtrongvicki
bcácyutkhôngcnthithoccácñcñimkhôñacholptrìnhviên
trinkhaicácngdngphctpvàcácappletmt
vinhiudngfile,vídnhưdngñcbitCAD,cvàVRML2.0
3.1.3.Môhìnhlptrình
Java3DlàAPIhưngñitưng.Cácngdngxâydnhariêngr,ñólàcácñitưngñãñưcphântách
Trang 35làmnhimvñcdliutfileVRMLnàyñchuyn chobrendernhmtáithitlimôhìnhbàntaytrongcaschươngtrìnhcaJava3 D.
3.1.3.1.CutrúccâytrongtchcñitưngcaJ ava3D
Java3Dñnhnghĩacáclpcơbnkhácnhauñthit kvàbinñi(tgc:manipulate–vndngbngtay)mtscenegraphvà ñiukhinvichinthcũngnhưrendercáchình3D[6].Tacóthmôttoànbcây cutrúcñitưngcaJava3Dnhư sau:
javax.media.j3dVirtualUniverseLocale
ViewPhysicalBodyPhysicalEnvironmentScreen3D
Canvas3D(extendsawt.Canvas)SceneGraphObject
Node
GroupLeafNodeComponent
VariouscomponentobjectsTransform3D
javax.vecmathMatrixclassesTupleclasses3.1.3.2.MôhìnhlptrìnhSceneGraph
Môhìnhlptrìnhñhakhungcnh (scenegraph) caJava3Dcungcpmtcơchtuyñơnginsonglirtlinhhotñhin thvàrenderkhungcnh.Mtscene
Trang 36graphchaựngnhngmôthoànchnhvmtkhung cnhhaymtthgiio.Nó
mangcácthôngtinvdliuhìnhkhi(hìnhcu, tr,lpphương,lưiẦ),cácthôngtinvthuctắnh(ánhsáng,màusc,ựbóngẦ),thô ngtinvgócnhìn.Cácthôngtinnàysựưctnghplàmdliuchovicrenderch ắnhkhungcnhựótgócnhìnựã
ựưcchra
Java3DAPIhoànthincácAPIựhaựãcóbngcác hloibựinhiuyêucutắnhtoánhoccácyêucunhkháctronglptrình màcácAPItrưcựóvnựòihi.Nhưvy,nóchophépngưilptrìnhtptrungvào ựiukhincácựitưnghìnhhchơnlàvicgiiquytcthcáikhunglưitonê nchúng,tptrungvàoktcugiacácựitưnghìnhhchơnlàphiviclptrìnht haotácrenderựsaochocáchình
khinàyựtựưchiuqunhưmongmun[6]
3.1.3.3.Cácphươngthcrender
Java3Dcungcp3phương thcrender đólà:phương thcrendertrctip(ImmediateMode) ,phươngthcrenderlưugi (RetainedMode) ,phươngthcrenderbiêndchlưugi (CompiledretainedMode) điunàychophépngưidùngthoimáitrongviclachncáchthchinmtngdngJav a3D.HuhtnhngngưixâydngngdngJava3Dựuthắchnhngcitinvha imttinnghivàthchinmàcácphươngthcretainedvàcompiledretainedmang li[6][13][25]
3.1.3.3.1.ImmediateMode(IM)
caJava3D.Ngưidùngscónhiutùychnhơnnhư ngựikèmviưuựimnàylàchiphắkhichychươngtrìnhcao.Trongchựnày ,Java3Dkhôngựưccungcpnhiuthôngtin mccaoliênquanticácựitư ngựhahocmiliênhgia
chúng.Doginthiuhóacácthôngtinbaoquátnhư vynênJava3Dchcóthhtrtắnhtoánmcccbtngựitưngthaychongư ilptrìnhchkhôngthgiúph
trmcbaoquátựưc
Trang 37CóhaidngImmediateModelàphươngthcrendertr
ImmediateModePIM) vàphươngthcrendertrctiptrn
ctipthuntuý( Pure(MixedImmediateModeMIM)
Trang 38Java3DcungcpnhiuchcnăngtiníchñxâydncácngdngápdngchñPIM,làmngưilptrìn
phicnh.Trongchñnày,ngưidùngphitmìn
Java3DthôngquaphươngthcstopRender()calpC
MIMChñnàyyêucunhiucutrúchơnPIM,viMIMtcñrenderscenegraphvàomtcanvas
3.1.3.3.2.RetainedMode(RM)
Phươngthcnàyyêucutrìnhngdngphixâydnxem thành phn nào trong scene graph có th thay ñ
Scenegraphmôttngñitưngtrongthgiio,
thcmàtrìnhngdngsñiukhinchúngbinñi
Trang 39Phươngthcnàygingretainedmode chnócũngy êucutrìnhngdngphixâydngscenegraphvàxácñnhxemthànhph nnàotrongscenegraphcóththayñitrongsutquátrìnhrender.Thêmvàoñó, trìnhngdngcóthbiêndchtoànbhaymtphncácsubgraph,làcácthànhphncu thànhnênmtscenegraphhoànchnh.Java3Dsdchcácsubgraphnàyvàvicbiu dincácsubgraphñãñưcbiêndchcóthkhônghoàntoàntươngngnhưcutrúc câynguyêngcmàtrìnhngdnglpnên,tuynhiênvmtchcnăngthìhoànt oàntươngñng.CRMlàphương
3.1.4.CáchthcthchincaJava3D
3.1.4.1.Thchintheokiuphânlp
Mt trong nhng yu t quan trng quyt ñnh tng c hi phí khi chy mtchươngtrìnhngdngvitbngJava3Dlàchiphít higianñrendercáchìnhkhi3chiumàngưidùngnhìnthy gócnhìncamình( cáchìnhkhiblpdưicáchìnhkhácsbloibkhirenderñtăngtcñv àtitkimchiphí).VicthcthicaJava3Dkhiñưcphânlpñãtndngtritñnhng ưuñimcacácAPImcdưicósntronghthng.ðcbit,chúngtanhnthy hotñngcaJava3DlàdavàoOpenGL,Direct3DvàQuickDraw3D,lànhnglpdưiñ ãcósn.ðiuñócónghĩalà
Trang 40Java3Dñãñưcthitkñcóthbinñimtcách mmdokhinntngphncngbêndưităngtcvưtngưng.Trongtươnglai ,cácbtăngtcgame3Dshtrchonhngthgiiophctpnhiuhơnnhng gìmàcácmáytínhñttinñãlàmtrongnhngnămtrưcñây.Ýñcacáckintrúcs ưngônngJava3Drtrõràng:
Trang 41Hình16: SceneGraphcamttrìnhngdngJava3Dðutiêntathyxuthinmtñitưngticaolà
Trang 43b To các ñi tưng PhysicalBody, PhysicalEnvironment
Trang 443.3.3.SonthofileVRML
VRMLcócutrúckháñơngin.Ngưilptrìnhcó2vitcodebngbtcbsonthonào(cóthlàN
EditPlus…)hocthôngquacácchươngtrìnhdnghìnhdưidngfileVRML.Cácchươngtrìnhdnghình3DhayPoserñucóhtrvicxutfiledliurañ
mmdnghình3Dkhônghtrtínhnăngnày,cóthlàm nhim v convert sang dng VRML Mt trong nhnCrossroads.Tuynhiên,vicáccutrúcmàVRMLcuntorabtccácmôhình3Dnàoviñchínhxácv
riêngcho3Dnhưñãktrên.Tronglunvănnày,tômôhìnhbàntayrisauñóxutradngfileVRML
3.2.4.CácthànhphncafileVRML
3.2.4.1.HeadervàComments
MtfileVRMLluônbtñubngmtdòngheadernhư
#VRMLv2.0utf8
Trang 45Khiduytfile,bduytsbitñâylàmtfileVR MLvàphiênbnmànósdng.Víddòngheadertrênchotabitñâylàmt fileVRMLphiênbn2.0.ChúýrngphivitVRMLdngchhoa(nutavitvrm lthìkhiduytbduytsbáolisaicúpháp)vàttnhiênlàphivitchínhxácV RML(ñôikhidovichúngtacóthgõthànhVTMLhayBRML).Tiptheolàcmt"u tf8"làñbáochobduytbitchuntextcavănbn.VRML1.0dùngcchunASCIIhocutf8nhưngphiên
bn2.0thìchdùngchunutf8
kýt'#'thìbphântíchcúpháplnhsbquak hôngxétñn.DòngheadercafileVRMLtuybtñubngkýt'#'nhưngkhôngphilà dòngchúthích,nóvnñưcñc
bibduytVRML
3.2.4.2.Cácnút,cáctrưngvàñhakhungcnh
BâygichúngtastìmhiuvcutrúccafileV RML.CóthcoifileVRMLlàtphpcácnút( node),minútbiudinmtdngñitưng.Bêntrong nútlàcáctrưng( field)biuthcácthuctínhcañitưng.Trongmt nútlicóthchacácnútkhác.Cúphápbiudinmtnútnhưsau:
Group{
children[
Group{
}]}
TrênñâylàcúphápbiudinmtnútdngGroup.ð âylànútñơnginnht.Tathymñulàtêncanút.Bêntrongcpdu{}là cáctrưngthuctính, trêntathycómttrưngthuctínhlàchildren,bêntron gtrưngnàycóthlibaogmcácnútkhácna…Nhưvytathyxuthinmtcutrúc phâncpcacácnút,ngưita
Trang 46gicutrúcphâncpnàylàSceneGraph.Nhìnvào cutrúcnày,tacóthhiuñưccáchthcnhómcácnútlivinhauvàcáchthcmà cácnútlngnhauñóhotñng.Lưuýrngmtsdngnútkhôngthlàconcamt nútkhác,mtsdngnútli
khôngthlàchacabtcmtnútnào…Numuntì mhiukhơnvcúpháplptrìnhcaVRML,ñcgicóthtìmhiuthêmthông tintrong[23][24]
Chúý:luônnhrngcúphápvitVRMLphânbitch hoa,thưng.Cácnútthưngvithoachñutrongtêngi(Group,Trans form,IndexedFaceSet)trongkhicáctrưngvitchñutrongtêngibngchthư ng,cácchkháccóthvitthưnghochoatùyý nhưng thưng tt thhaingưita vithoachñu t(children,translation,coordIndex…)
Trang 47Chương4GIIQUYTBÀITOÁN 4.1.Ngônngduhiu
gdùngñiub,cch,uhmunnói Vytisaohilàtrênthctvichcñiviínhbmsinhhaynhngngưigkhóhơn.Vinhngngưikhimlúcñókhôngcóbútvitvàgiyhiulàcáchthctraoñithôngtindnhtñivingưikhimthính
Vyhiumtcáchñơnginthìngônngduhiuch
ñngcaconngưi,nhngñngtáccamtsbph
ínhlànhngcch,hành ntrêncơthnhmbiuñtnhngthôngtincntraoñigiangưivingưi
4.1.2.Lchsngônngduhiu
Vàothk16,GeronimoCardano,nhàvtlýhcP adua,bcItalia,ñãnhnñnhrngngưitacóthdychonhngngưikhim thínhhiucácthpkýtñưcvitlinnhaubngcáchliênhchúngvisvtm unthhin.Cunsáchñutiên
Trang 48bngcáchnhìndángñiucamôi.Ôngñãxâydngmcho ngưi khim thính do chính ph tài tr Hai phming)chínhlànguyênmuñutiêncakháinimt
Trang 49ítduvt.Tuynhiínsrtthúvkhitanhnth ycómtvăistươngñnggiangônngkýhiucangưidañvăhthngngônngký hiuhinthi.
Ngăynay,tinưcMcórtnhiutrưnghcdyn gônngchongưikhimthínhnhưngítaibitvngưiñutiínñtnnm óngchosphâttrincangônng
du hiu M, ngưi ñó lă Thomas Hopkins Gallaude Năm 1815, khi 27 tui,ThomasñêtichđuĐuñhccâchgiaotipvinh ngngưikhimthính Anh,ThomasgptusĩRocheAmbroiseSicard,ngưiñêm iôngnghiíncutrưnghcdănhchongưikhimthínhcaông Pari Saunhi uthâng,GallaudettrliMcùngLaurentClerc,mtgiâoviíndyngônngdănh chongưikhimthínhtrưngPari Năm1817,Gallaudetmtrưnghcqucgiañ utiíndănhchongưikhimthínhHartford,bangConnecticutvăClerctrthă nhgiâoviíndyngônngkýhiudănhchongưikhimthínhñutiín M Câctrưn ghcdănhchongưikhimthínhkhâccũngsmxuthin câcbangkhâc.Ni tingnhtlătrưngNewYorkSchooldănhchongưikhimthínhñưcthănhlpvă onăm1818 Năm1820,mttrưngkhâcñưcmPennsylvania,văsauñólă22 trưnghcñưcmratríntoănnưcMvăonăm1863
victhănhlphcvinGallaudetWashingtonDCv ăonăm1864văchoñnnaỵđyvnlăhcvinnghthuthăngñudănhchongưi khimthínhnưcMvăc
trínthgii.ThomasHopkinsGallaudetñêtruynl imơưccaôngvmthcvin
dănhchongưikhimthínhchocontraiônglăEdwa rdMinerGallaude.CùngvisgiúpñcaAmosKendall,Edwardñêbingicmơc achaôngthănhhinthc,vẵngcũngtrthănhhiutrưngñutiíncahcvi nnăy
Ngăynay,chúngtamaymncómtlotcâchthng ngônngkýhiukhâhoănchnhvăbiucmcanhiuqucgiatrínth gii.Chúngtaphimangơnrtnhiunhngngưiñêxđydngnínhthngngônng kýhiuPhâpvìnhiukýhiuhinnaycóngungcththngnăy