可视化设计可用框架总结.docx
- 文档编号:18050154
- 上传时间:2023-04-24
- 格式:DOCX
- 页数:13
- 大小:23.18KB
可视化设计可用框架总结.docx
《可视化设计可用框架总结.docx》由会员分享,可在线阅读,更多相关《可视化设计可用框架总结.docx(13页珍藏版)》请在冰豆网上搜索。
可视化设计可用框架总结
可视化设计可用框架总结
可视化设计的可用框架有很多种,根据语言不同分类:
1,C++
2,Java
3,Javascript(jQuery),Html
4,.Net,C#(Silverlight,WPF)
5,Flash(Flex,Actionscript)
基于C++和Java的框架主要用于单机可视化应用,应用最广泛的有C++语言的VTK,Java语言的Processing和Prefuse。
其中Processing的用户最为广泛,有数万的艺术家,设计师,研究人员等使用。
Prefuse应用也比较广泛,功能也很强大。
VTK(VisualizationToolkit)是为数不多的C++语言的可视化框架,主要用于三维计算机图形学,图像处理和可视化。
VTK
是个综合性的框架,在可视化领域主要应用于科学可视化。
基于JS,.Net和Flash的框架主要用于BS架构的可视化设计工作。
其中,JS语言的框架种类最多,应用也最广,目前Survey到的就有近20种。
此外,基于Flash的可视化框架应用也很广泛。
开发网络可视化应用,一般还是选择基于这几类语言的可视化框架。
虽然C++和Java语言的框架能够通过Applet,或者上层封装Actionscript或Webgl的形式实现网络应用,但是一般会有使用与网络传输,效率问题等。
下面按照一定的文档格式介绍不同的框架。
一,C++:
VTK(VisualizationToolkit);
1,VTK
官网:
http:
//www.vtk.org/
介绍:
一个开放资源的免费软件系统,跨平台、支持并行处理,主要用于三维计算机图形学、图像处理和可视化。
Vtk是在面向对象原理的基础上设计和实现的,它的内核是用C++构建的,包含有大约250,000行代码,650多个类,还包含有几个转换界面,因此也可以自由的通过Java,Tcl/Tk和Python各种语言使用vtk。
Vtk几乎可以在任何一个基于Unix的平台上操作,以及Windows95/98/NT/2000/XP/7。
语言环境:
C++,JavaApplet,VRML;
主要特征:
a, 具有强大的三维图形功能。
支持体绘制,面绘制,多种Shader;充分利用现有的图形库和图形硬件。
b,优良的流streaming和高速缓存caching的能力,处理大量数据时不必考虑内存资源的限制。
c,支持网络应用,比如JavaApplet和VRML。
d,跨平台,设备无关性,可移植性
应用:
VTK是一个开放源码、自由获取的软件系统,全世界的数以千计的研究人员和开发人员用它来进行3D计算机图形,图像处理,可视化。
通过对体、面、光源等的逼真渲染,VTK应用于核医学成像等科学可视化领域。
二,Java:
Processing;Prefuse;Zest;JFreeChart;MathematicalVisualizationToolkit;
1,Processing
官网:
http:
//processing.org/Wiki:
http:
//wiki.processing.org/w/Main_Page
介绍:
ProcessingwasfoundedbyBenFryandCaseyReasin2001whilebothwereJohnMaeda'sstudentsattheMITMediaLab.FurtherdevelopmenthastakenplaceattheInteractionDesignInstituteIvrea,CarnegieMellonUniversity,andtheUCLA,whereReasischairoftheDepartmentofDesign|MediaArts.MiamiUniversity,OblongIndustries,andtheRockefellerFoundationhavegenerouslycontributedfundingtotheproject.
Processingisanopensourceprogramminglanguageandenvironmentforpeoplewhowanttocreateimages,animations,andinteractions.Initiallydevelopedtoserveasasoftwaresketchbookandtoteachfundamentalsofcomputerprogrammingwithinavisualcontext,Processingalsohasevolvedintoatoolforgeneratingfinishedprofessionalwork.Today,therearetensofthousandsofstudents,artists,designers,researchers,andhobbyistswhouseProcessingforlearning,prototyping,andproduction.
TheProcessingsoftwarerunsontheMac,Windows,andGNU/Linuxplatforms.Withtheclickofabutton,itexportsappletsfortheWeborstandaloneapplicationsforMac,Windows,andGNU/Linux.GraphicsfromProcessingprogramsmayalsobeexportedasPDF,DXF,orTIFFfilesandmanyotherfileformats.FutureProcessingreleaseswillfocusonfaster3Dgraphics,bettervideoplaybackandcapture,andenhancingthedevelopmentenvironment.SomeexperimentalversionsofProcessinghavebeenadaptedtootherlanguagessuchasJavaScript,ActionScript,Ruby,Python,andScala;otheradaptationsbringProcessingtoplatformsliketheOpenMoko,iPhone,andOLPCXO-1.
语言环境:
Java,JavaScript,ActionScript,Ruby,Python,andScala;
主要特征:
●»Freetodownloadandopensource
●»Interactiveprogramsusing2D,3DorPDFoutput
●»OpenGLintegrationforaccelerated3D
●»ForGNU/Linux,MacOSX,andWindows
●»Projectsrunonlineorasdouble-clickableapplications
●»Over100librariesextendthesoftwareintosound,video,computervision,andmore...
●»Welldocumented,withmanybooksavailable
应用:
TherearemanyprojectscreatedbywiththeProcessingeverymonth.Today,therearetensofthousandsofstudents,artists,designers,researchers,andhobbyistswhouseProcessingforlearning,prototyping,andproduction.
2,PRefuse
官网:
http:
//prefuse.org/
介绍:
prefuseisaJava-basedtoolkitforbuildinginteractiveinformationvisualizationapplications.Prefusesupportsarichsetoffeaturesfordatamodeling,visualization,andinteraction.Itprovidesoptimizeddatastructuresfortables,graphs,andtrees,ahostoflayoutandvisualencodingtechniques,andsupportforanimation,dynamicqueries,integratedsearch,anddatabaseconnectivity.PrefuseiswritteninJava,usingtheJava2Dgraphicslibrary,andiseasilyintegratedintoJavaSwingapplicationsorwebapplets.PrefuseislicensedunderthetermsofaBSDlicense,andcanbefreelyusedforbothcommercialandnon-commercialpurposes.
TheoriginalprefusetoolkitprovidesavisualizationframeworkfortheJavaprogramminglanguage.TheprefuseflaretoolkitprovidesvisualizationandanimationtoolsforActionScriptandtheAdobeFlashPlayer.
语言环境:
Java,JavaSwingapplicationsorwebapplets,ActionScript,Flash;
主要特征:
●支持由表,图,树组成的数据结构,字段的数据索引和选择列的查询,并且高效的利用内存;
●动态查询过滤数据显示;
●融合使用了lucene文本查询engines;
●在位置和动画中利用了物理学中力的摸拟;
●内建类似于SQL的语言语句可以针对数据进行行和列的操作;
●支持数据库的查询结果集合和prefuse内部数据的映射;
●可以利用经过简化的,对开发者友好的API,建立自定义的过程,用户交互和画图像的组件。
(貌似提供了很强的数据查询和处理的功能?
?
?
)
应用:
Datavisualizations.
3,Zest
官网:
http:
//www.eclipse.org/gef/zest/
介绍:
Zest:
TheEclipseVisualizationToolkit,isasetofvisualizationcomponentsbuiltforEclipse.TheentireZestlibraryhasbeendevelopedinSWT/Draw2DandintegratesseamlesslywithinEclipsebecauseofitsrecognizeddesign.
ZesthasbeenmodeledafterJFace,andalltheZestviewsconformtothesamestandardsandconventionsasexistingEclipseviews.Thismeansthattheproviders,actionsandlistenersusedwithinexistingapplicationscanbeleveragedwithinZest.
TheZestprojectalsocontainsagraphlayoutpackagewhichcanbeusedindependently.ThegraphlayoutpackagecanbeusedwithinexistingJavaapplications(SWTorAWT)toprovidelayoutlocationsforasetofentitiesandrelationships.
语言环境:
主要特征:
应用:
4,JFreeChart
FreeChartisafree100%Javachartlibrarythatmakesiteasyfordeveloperstodisplayprofessionalqualitychartsintheirapplications.JFreeChart'sextensivefeaturesetincludes:
aconsistentandwell-documentedAPI,supportingawiderangeofcharttypes;
aflexibledesignthatiseasytoextend,andtargetsbothserver-sideandclient-sideapplications;
supportformanyoutputtypes,includingSwingcomponents,imagefiles(includingPNGandJPEG),andvectorgraphicsfileformats(includingPDF,EPSandSVG);
JFreeChartis"opensource"or,morespecifically,freesoftware.ItisdistributedunderthetermsoftheGNULesserGeneralPublicLicence(LGPL),whichpermitsuseinproprietaryapplications.
创建表格,如条形图、线条图、饼图、时间序列表、烛台图表、高/底/开/闭表、风向图、和仪表。
我希望这些表格看上去更棒,因为其功能和特点都很出色,但是视觉设计真的有点“贬损”这些图形。
JFreeChart朋友们,给我发送邮件吧,我们可以把JFreeChart世界变成一个更美的空间。
5,MathematicalVisualizationToolkit(MVT)
MVTisasetofvisualandcomputationaltoolsdesignedtohelpstudentsbettervisualizetheconceptsofCalculus.Itcontains:
Scientificcalculator
Plottingtools
Numericaltools
Linearalgebratools
Differentialequationstools
Content-specificapplications
OtherCalculusvisualizationtools
Tutorial-stylehelpsystem
TheseintuitivetoolsarewhatmakeMVTuniqueandusefulineducationalsettings.
三,JavaScript:
综合性框架:
D3;Ajax.org;Chronoscope;JavaScriptInfoVisToolkit;
线走势图:
jQuerySparklines;
图表类专用框架:
DojoXDataChart;ExtJs;GoogleChartTools;gRaphaël;JQueryPlugins;JFreeChart;JPowered;JSCharts;MilkChart;PlotKit;Protovis;
图表类专用框架就不做具体介绍了,这些框架功能都类似,请参见,
1,D3(Data-DrivenDocuments)
官网:
http:
//d3js.org/
介绍:
D3.jsisaJavaScriptlibraryformanipulatingdocumentsbasedondata.D3helpsyoubringdatatolifeusingHTML,SVGandCSS.D3’semphasisonwebstandardsgivesyouthefullcapabilitiesofmodernbrowserswithouttyingyourselftoaproprietaryframework,combiningpowerfulvisualizationcomponentsandadata-drivenapproachtoDOMmanipulation.
D3allowsyoutobindarbitrarydatatoaDocumentObjectModel(DOM),andthenapplydata-driventransformationstothedocument.Forexample,youcanuseD3togenerateanHTMLtablefromanarrayofnumbers.Or,usethesamedatatocreateaninteractiveSVGbarchartwithsmoothtransitionsandinteraction.
D3isnotamonolithicframeworkthatseekstoprovideeveryconceivablefeature.Instead,D3solvesthecruxoftheproblem:
efficientmanipulationofdocumentsbasedondata.Thisavoidsproprietaryrepresentationandaffordsextraordinaryflexibility,exposingthefullcapabilitiesofwebstandardssuchasCSS3,HTML5andSVG.Withminimaloverhead,D3isextremelyfast,supportinglargedatasetsanddynamicbehaviorsforinteractionandanimation.D3’sfunctionalstyleallowscodereusethroughadiversecollectionofcomponentsandplugins.
语言环境:
JavaScript;
主要特征:
●combiningpowerfulvisualizationcomponentsandadata-drivenapproachtoDOMmanipulation.
●bindarbitrarydatatoaDocumentObjectModel(DOM)
应用:
去北京上可视化课程,许多老师都讲到D3库,国内很多公司开发的网络可视化应用都是基于D3.
2,Ajax.org
官网:
http:
//ui.ajax.org/#home
介绍:
Ajax.orgPlatformisapurejavascriptapplicationframeworkforcreatingreal-timecollaborativeapplicationsthatruninthebrowser.Ajax.orgPlatformradicallychangesthewayyouwriteapplications:
Ajax.org平台是个纯粹的javascript应用程序框架,用于创建在浏览器里运行的实时协作应用程序。
语言环境:
JavaScript;
主要特征:
-Livemarkup
-MarkupandJSONapi
-Collaborativebackbone
-100%opensourcesoftware(moreinfo)
应用:
Datavisualizations.
3,Chronoscope
官网:
介绍:
Chronoscopeisachartingandvisualizationplatformthatexcelsatinteractivetime-seriesexplorationinmodernwebbrowsers.MuchofthelookandfeelofchartscanbecontrolledthroughCSS-inspiredstylesheetsorjavascriptAPIs.
Inmodernbrowsers,Chronoscopeusesthehtmlcanvaselement.ForIE6,7,8there'saFlash-basedcanvasfallback.
There'salsoaJava(GWT)APIbutmostdevelopersuseChronoscopeviajavascript+stylesheets.
Chronoscope'sgoalsare:
Scalable:
provideahighperformance,crossbrowserplatformforvisua
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 可视化 设计 可用 框架 总结