Scene graph (original) (raw)
场景图(Scene Graph)是组织和管理三维虚拟场景的一种数据结构,是一个有向无环图(Directed Acyclic Graph, DAG)。
Property | Value |
---|---|
dbo:abstract | Ein Szenengraph ist eine Datenstruktur, die häufig bei der Entwicklung computergrafischer Anwendungen eingesetzt wird. Es handelt sich um eine objektorientierte Datenstruktur, mit der die logische, in vielen Fällen auch die räumliche Anordnung der darzustellenden zwei- oder dreidimensionalen Szene beschrieben wird. Der Begriff Szenengraph ist nur unscharf definiert. Dies liegt daran, dass konkrete Szenengraphen in der Regel anwendungsgetrieben entwickelt werden. Die Programmierer nutzen also die Grundidee, passen sie aber für die spezifischen Erfordernisse der Anwendung an. Feste Regeln, welche Funktionen ein Szenengraph erfüllen muss, gibt es daher nicht. (de) Un graphe de scène est une structure générale de données utilisée communément par les outils de modélisation 3D et les jeux vidéo actuels. Le graphe de scène structure de manière logique la représentation spatiale d'une scène graphique. La définition d'un graphe de scène est floue, puisque les programmeurs qui implémentent les graphes de scènes dans les applications, plus particulièrement dans l'industrie du jeu vidéo, reprennent les principes généraux et les adaptent à leurs besoins particuliers. D'une manière générale, un graphe de scène est une collection de nœuds renfermée dans un graphe ou une structure d'arbre. Ceci signifie qu'un nœud peut avoir plusieurs enfants mais seulement un parent. Ainsi, un effet appliqué sur un nœud se répercute sur ses descendants, ce qui permet de propager l'opération à un groupe de nœuds. Dans de nombreux programmes, l'utilisation typique est pour appliquer une transformation géométrique à un groupe d'objets. (fr) A scene graph is a general data structure commonly used by vector-based graphics editing applications and modern computer games, which arranges the logical and often spatial representation of a graphical scene. It is a collection of nodes in a graph or tree structure. A tree node may have many children but only a single parent, with the effect of a parent applied to all its child nodes; an operation performed on a group automatically propagates its effect to all of its members. In many programs, associating a geometrical transformation matrix (see also transformation and matrix) at each group level and concatenating such matrices together is an efficient and natural way to process such operations. A common feature, for instance, is the ability to group related shapes and objects into a compound object that can then be manipulated as easily as a single object. (en) Граф сцены — структура данных, используемая главным образом в векторных графических редакторах и компьютерных играх. Примеры таких программ включают Acrobat 3D, Adobe Illustrator, AutoCAD, CorelDRAW, OpenSceneGraph, VRML97 и X3D. Граф сцены представляет структуру, которая содержит логическое и зачастую (но не обязательно) пространственное представление графической сцены. Определение графа сцены нечёткое, поскольку программисты, осуществляющие его реализацию в приложениях, — и, в частности, в индустрии разработки игр — берут базовые принципы и адаптируют их для применения в конкретных приложениях. Это означает, что нет договорённости о том, каким должен быть граф сцены. Граф сцены представляет собой набор узлов такой структуры, как граф или дерево. Узел дерева (в предельной структуре дерева графа сцены) может иметь множество потомков, но зачастую только одного предка, причём действие предка распространяется на все его дочерние узлы; эффект действия, выполненного над группой, автоматически распространяется на все её элементы. Во многих программах ассоциирование матрицы преобразования (см. также трансформации и матрицы) на уровне любой группы и умножение таких матриц представляет собой эффективный и естественный способ обработки таких действий. Общей особенностью, к примеру, является способность группировать связанные формы/объекты в составной объект, который можно перемещать, трансформировать, выбирать и т. д. так же просто, как и одиночный объект. Иногда бывает и так, что в некоторых графах сцены узел может быть связан с любым другим, включая самого себя, или, по крайней мере, содержит расширение, которое ссылается на другой узел (например, PhotoRealistic RenderMan студии Pixar благодаря алгоритму визуализации Reyes и Acrobat 3D компании Adobe Systems благодаря улучшенным интерактивным манипуляциям). (ru) Um grafo de cena é uma estrutura de dados comumente usada por aplicações de edição de gráficos vetoriais, jogos e motores de jogo modernos. Exemplos de tais programas incluem AutoCAD, Adobe Illustrator, OpenSceneGraph e CorelDRAW. Um grafo de cena é uma coleção de nós em uma estrutura de grafo ou árvore. O grafo de cena armazena todas as informações necessárias para que uma cena de computação gráfica possa ser montada e renderizada pelo gerenciador gráfico. A estrutura é geralmente composta de nós interligados na forma de árvore, portanto, com uma única raiz e sem ciclos. Utiliza-se um grafo de cena para agilizar as rotinas de renderização, separando os objetos em grupos e sub-grupos de forma a permitir que objetos mais complexos sejam formados por objetos simples. Com este agrupamento é possível manipular um componente visual complexo como um único objeto, simplificando o código e obtendo um melhor desempenho computacional. Cada nó de um grafo de cena pode ser representado por um grupo de outros nós ou um objeto, que, por sua vez, pode ser um conjunto de pontos ou uma imagem. O conjunto de pontos, geralmente chamado de malha, possui informações suficientes para que seja criado um objeto completo na cena. Por exemplo, um malha de círculo, é computada tendo, como entrada, o ponto central, o raio e a textura ou a cor do círculo. Caso seja um polígono, ao invés de um ponto central e um raio é utilizado um conjunto de pontos e faces, onde cada ponto é relacionado com seus vizinhos criando a face do objeto. Objetos animados, imagens 2D, luzes e câmeras também são representados como nós no grafo de cena. O grupo difere do nó pois a sua função não é desenhar alguma imagem, mas sim controlar objetos próximos ou que atuam em conjunto no espaço gráfico. Quando um único grupo é alterado, o gerenciador gráfico não precisa calcular toda a cena para ser mostrada na tela, o único objeto afetado é o grupo e, portanto, só ele e seus sub-grupos serão redesenhados. Para serem utilizados com o máximo de vantagem, os nodos devem possuir informações espaciais e semânticas sobre os objetos que eles representam. Os nós de um grafo de cena podem receber instruções de rotação, translação e escala. Cada uma dessas instruções é executada no nó indicado e em toda a sua árvore descendente de nós. Por exemplo, em jogos de primeira pessoa é comum ter um grupo chamado de personagem, que possui todo o desenho do personagem em conjunto com uma câmera, que imita o olho do personagem. Se o personagem se mover, a câmera deve seguí-lo, então, coloca-se a câmera dentro do grupo do personagem e, ao rotacionar ou mover, o evento é computado para o grupo inteiro, incluindo a câmera. Para ganhos de desempenho computacional, o grafo de cena implementa o corte de visão, ou em inglês, culling. Esta característica permite ao renderizador conhecer o estado visual do nó e se não puder ser visto pelo jogador, o gerenciador gráfico irá ignorá-lo, assim como seus filhos. Uma boa programação sobre o grafo de cena pode aumentar consideravelmente a velocidade de um jogo. (pt) 场景图(Scene Graph)是组织和管理三维虚拟场景的一种数据结构,是一个有向无环图(Directed Acyclic Graph, DAG)。 (zh) Граф сцени (англ. scene graph) — загальна структура даних, що зазвичай використовується в застосуваннях для роботи з векторною графікою і в сучасних комп'ютерних іграх, яка впорядковує логічне і часто (але не обов'язково) просторове представлення графічної сцени. Прикладами таких програм є , Adobe Illustrator, AutoCAD, CorelDRAW, OpenSceneGraph, , , X3D, і . Граф сцени є колекцією вузлів у структурі або дерева. Вузол дерева (у загальній структурі дерева графу сцени) може мати багато дочірніх вузлів але найчастіше лише один спільний корінь, і ефекти, що застосовуються до кореня застосовуються і до всіх його дочірніх вузлів; операції виконані з групою автоматично переносять їх ефект на всіх членів групи. У багатьох програмах, ефективним і природним способом здійснювати операції є об'єднання геометричних матриць перетворення (див. також і матриці) на кожному рівні групування і зв'язування таких матриць разом. Загальним функціоналом, наприклад, є можливість групувати пов'язані фігури/об'єкти у складений об'єкт, який можна переміщувати, перетворювати, виділяти, тощо, так само просто як і будь-який окремий об'єкт. Термін «граф сцени» іноді плутають з поняттям , оскільки деякі реалізації канваса містять функціональність графу сцени. (uk) |
dbo:thumbnail | wiki-commons:Special:FilePath/Architecture_of_OpenSceneGraph.jpg?width=300 |
dbo:wikiPageExternalLink | http://www.jch.com/jch/vrml/PEXTimes.txt http://www.realityprime.com/blog/2007/06/scenegraphs-past-present-and-future/ http://www.visualizationlibrary.org/ http://aviatrix3d.j3d.org https://web.archive.org/web/20050502221414/http:/www.jwave.vt.edu/~engineer/vrml97book/ch1.htm https://web.archive.org/web/20070611104002/https:/lg3d.dev.java.net/ http://portal.acm.org/citation.cfm%3Fid=165889 http://portal.acm.org/citation.cfm%3Fid=192262 http://portal.acm.org/citation.cfm%3Fid=360354&coll=Portal&dl=ACM&CFID=9978356&CFTOKEN=74301375%7Cdoi=10.1145/360349.360354 https://github.com/cedricpinson/osgjs https://web.archive.org/web/20070611104000/https:/java3d.dev.java.net/ http://www.openscenegraph.org |
dbo:wikiPageID | 161944 (xsd:integer) |
dbo:wikiPageLength | 16077 (xsd:nonNegativeInteger) |
dbo:wikiPageRevisionID | 1076468297 (xsd:integer) |
dbo:wikiPageWikiLink | dbr:Bezier_curve dbr:Bounding_volume dbr:Unix dbr:Quaternions dbr:Matrix_(math) dbr:Run_time_(program_lifecycle_phase) dbr:Geometry_instancing dbr:Quadtree dbr:Open_standards dbr:Ellipse dbr:Graph_(data_structure) dbr:Bounding_volume_hierarchy dbr:Open_architecture dbr:Callback_(computer_programming) dbr:Silicon_Graphics dbc:Computer_graphics_data_structures dbr:Function_object dbr:OpenGL_Performer dbr:Spline_(mathematics) dbc:3D_scenegraph_APIs dbr:C++ dbr:Tree_(data_structure) dbr:Tree_traversal dbr:Data_structure dbr:Leaf_node dbr:Linked_list dbr:2D_computer_graphics dbr:Euler_angles dbr:File_format dbr:PHIGS dbr:Graph_theory dbr:Royalty-free dbr:Scanline_rendering dbr:HOOPS_3D_Graphics_System dbr:Array_data_structure dbr:API dbc:Graph_data_structures dbr:Binary_space_partitioning dbr:Ray_tracing_(graphics) dbr:Transformation_matrix dbr:Dimension dbr:DirectX dbr:OpenGL dbr:Open_Inventor dbr:X3D dbr:XML dbr:Vector_graphics dbr:Visitor_pattern dbr:Octree dbr:Point_location dbr:Space_partitioning dbr:Painter's_algorithm dbr:Run-Time_Type_Information dbr:International_Standards_Organization dbr:Transformation_(mathematics) dbr:Heightfield dbr:Quake_computer_game dbr:Rendering_API dbr:3D_graphics dbr:Virtual_functions dbr:IRIS_Inventor dbr:Bounding_box dbr:Depth_buffer dbr:File:Architecture_of_OpenSceneGraph.jpg |
dbp:wikiPageUsesTemplate | dbt:Citation_needed dbt:Cite_journal dbt:Clarify dbt:ISBN dbt:No_footnotes dbt:POV-inline |
dct:subject | dbc:Computer_graphics_data_structures dbc:Graph_data_structures |
gold:hypernym | dbr:Structure |
rdf:type | yago:WikicatComputerGraphicsDataStructures yago:Abstraction100002137 yago:Arrangement105726596 yago:Cognition100023271 yago:DataStructure105728493 yago:PsychologicalFeature100023100 yago:WikicatGraphDataStructures dbo:Building dbo:MusicGenre yago:Structure105726345 |
rdfs:comment | 场景图(Scene Graph)是组织和管理三维虚拟场景的一种数据结构,是一个有向无环图(Directed Acyclic Graph, DAG)。 (zh) Ein Szenengraph ist eine Datenstruktur, die häufig bei der Entwicklung computergrafischer Anwendungen eingesetzt wird. Es handelt sich um eine objektorientierte Datenstruktur, mit der die logische, in vielen Fällen auch die räumliche Anordnung der darzustellenden zwei- oder dreidimensionalen Szene beschrieben wird. (de) A scene graph is a general data structure commonly used by vector-based graphics editing applications and modern computer games, which arranges the logical and often spatial representation of a graphical scene. It is a collection of nodes in a graph or tree structure. A tree node may have many children but only a single parent, with the effect of a parent applied to all its child nodes; an operation performed on a group automatically propagates its effect to all of its members. In many programs, associating a geometrical transformation matrix (see also transformation and matrix) at each group level and concatenating such matrices together is an efficient and natural way to process such operations. A common feature, for instance, is the ability to group related shapes and objects into a com (en) Un graphe de scène est une structure générale de données utilisée communément par les outils de modélisation 3D et les jeux vidéo actuels. Le graphe de scène structure de manière logique la représentation spatiale d'une scène graphique. La définition d'un graphe de scène est floue, puisque les programmeurs qui implémentent les graphes de scènes dans les applications, plus particulièrement dans l'industrie du jeu vidéo, reprennent les principes généraux et les adaptent à leurs besoins particuliers. (fr) Um grafo de cena é uma estrutura de dados comumente usada por aplicações de edição de gráficos vetoriais, jogos e motores de jogo modernos. Exemplos de tais programas incluem AutoCAD, Adobe Illustrator, OpenSceneGraph e CorelDRAW. O grupo difere do nó pois a sua função não é desenhar alguma imagem, mas sim controlar objetos próximos ou que atuam em conjunto no espaço gráfico. Quando um único grupo é alterado, o gerenciador gráfico não precisa calcular toda a cena para ser mostrada na tela, o único objeto afetado é o grupo e, portanto, só ele e seus sub-grupos serão redesenhados. (pt) Граф сцены — структура данных, используемая главным образом в векторных графических редакторах и компьютерных играх. Примеры таких программ включают Acrobat 3D, Adobe Illustrator, AutoCAD, CorelDRAW, OpenSceneGraph, VRML97 и X3D. Иногда бывает и так, что в некоторых графах сцены узел может быть связан с любым другим, включая самого себя, или, по крайней мере, содержит расширение, которое ссылается на другой узел (например, PhotoRealistic RenderMan студии Pixar благодаря алгоритму визуализации Reyes и Acrobat 3D компании Adobe Systems благодаря улучшенным интерактивным манипуляциям). (ru) Граф сцени (англ. scene graph) — загальна структура даних, що зазвичай використовується в застосуваннях для роботи з векторною графікою і в сучасних комп'ютерних іграх, яка впорядковує логічне і часто (але не обов'язково) просторове представлення графічної сцени. Прикладами таких програм є , Adobe Illustrator, AutoCAD, CorelDRAW, OpenSceneGraph, , , X3D, і . Термін «граф сцени» іноді плутають з поняттям , оскільки деякі реалізації канваса містять функціональність графу сцени. (uk) |
rdfs:label | Szenengraph (de) Graphe de scène (fr) Scene graph (en) Граф сцены (ru) Grafo de cena (pt) 场景图 (zh) Граф сцени (uk) |
owl:sameAs | freebase:Scene graph yago-res:Scene graph wikidata:Scene graph dbpedia-de:Scene graph dbpedia-fr:Scene graph dbpedia-no:Scene graph dbpedia-pt:Scene graph dbpedia-ru:Scene graph dbpedia-uk:Scene graph dbpedia-zh:Scene graph https://global.dbpedia.org/id/QdE1 |
prov:wasDerivedFrom | wikipedia-en:Scene_graph?oldid=1076468297&ns=0 |
foaf:depiction | wiki-commons:Special:FilePath/Architecture_of_OpenSceneGraph.jpg |
foaf:isPrimaryTopicOf | wikipedia-en:Scene_graph |
is dbo:genre of | dbr:Coin3D dbr:OpenSG |
is dbo:wikiPageRedirects of | dbr:Scene-graph dbr:Scenegraph |
is dbo:wikiPageWikiLink of | dbr:Pygame dbr:QML dbr:Qt_(software) dbr:List_of_data_structures dbr:OpenGL++ dbr:Bounding_volume dbr:List_of_Java_APIs dbr:Visualization_Library dbr:List_of_rendering_APIs dbr:CopperLicht dbr:QuickDraw_3D dbr:Clara.io dbr:Clutter_(software) dbr:Coin3D dbr:Game_engine dbr:Gecko_(software) dbr:GlTF dbr:Glossary_of_computer_graphics dbr:Bounding_volume_hierarchy dbr:Simulation_Open_Framework_Architecture dbr:Collision_detection dbr:OpenGL_Performer dbr:WebGL dbr:List_of_3D_graphics_libraries dbr:Local_coordinates dbr:OpenSG dbr:Adobe_Atmosphere dbr:PHIGS dbr:Panda3D dbr:Cave_automatic_virtual_environment dbr:Fahrenheit_(graphics_API) dbr:Irrlicht_Engine dbr:JavaFX dbr:Java_3D dbr:SwingLabs dbr:JT_(visualization_format) dbr:Mobile_3D_Graphics_API dbr:Direct3D dbr:Artificial_intelligence_in_video_games dbr:Scene-graph dbr:Scenegraph dbr:ILNumerics dbr:ORX dbr:OpenSceneGraph dbr:Open_Inventor dbr:Canvas_(GUI) dbr:Canvas_element dbr:SceneKit dbr:ISO/IEC_JTC_1/SC_24 dbr:Immediate_mode_(computer_graphics) dbr:QSDK dbr:Retained_mode dbr:Parallel_rendering dbr:Reality_Lab dbr:Ray-tracing_hardware |
is dbp:genre of | dbr:OpenSG |
is foaf:primaryTopic of | wikipedia-en:Scene_graph |