Products
  • Wolfram|One

    The definitive Wolfram Language and notebook experience

  • Mathematica

    The original technical computing environment

  • System Modeler

    Multidomain modeling and simulation of complex systems

  • Compute ServicesUse with Mathematica and Wolfram|One
  • AI AccessUse with Mathematica and Wolfram|One
  • Finance Platform
  • Wolfram|Alpha Notebook Edition
  • Application Server
  • Enterprise Private Cloud
  • Wolfram Engine
  • Wolfram Player
  • Wolfram Cloud App
  • Wolfram Player App

More mobile apps

Wolfram|Alpha

  • Wolfram|Alpha Website
  • Wolfram|Alpha APIs

AI Products

  • Wolfram AI Ecosystem
  • Wolfram Foundation Tool
  • Wolfram Cloud MCP
  • Wolfram Local MCP
  • Agent One API
  • CAG Component APIs

Core Technologies of Wolfram Products

  • Wolfram Language
  • Computable Data
  • Wolfram Notebooks
  • Linguistic Understanding

Additional Deployment Options

  • Wolfram Cloud
  • Wolfram Web Engine
  • wolframscript
  • WSTPServer
  • Group & Organizational Licensing
  • All Products
Consulting & Solutions

We deliver solutions for the AI era—combining symbolic computation, data-driven insights and deep technical expertise

Wolfram Consulting

Data Science, Finance & Business

  • Artificial Intelligence
  • Data Science
  • Healthcare
  • Real Estate

Engineering

  • Civil Engineering
  • Automotive Engineering
  • Sustainable Energy

Science & Technology

  • AgTech
  • Biosciences
  • Environmental Science
  • Food Science
  • Quantum Computation
  • Social and Behavioral Sciences

More Wolfram Solutions

Technology for Education

  • Research Universities
  • Colleges & Teaching Universities
  • High Schools
  • Resources for Students

Education Initiatives

  • Next-Gen EdTech
  • Computer-Based Math

More Solutions for Education

  • Contact Us
Learning & Support

Get Started

  • Wolfram Language Introduction
  • Fast Intro for Programmers
  • Fast Intro for Math Students
  • Wolfram Language Documentation

More Learning

  • Highlighted Core Areas
  • Demonstrations
  • YouTube
  • Daily Study Groups
  • Wolfram Schools and Programs
  • Books

Grow Your Skills

  • Wolfram U

    Courses in computing, science, life and more

  • Community

    Learn, solve problems and share ideas.

  • Blog

    News, views and insights from Wolfram

  • Resources for

    Software Developers

Tech Support

  • Contact Us
  • Support FAQs
  • Support FAQs
  • Contact Us
Company
  • About Wolfram
  • Career Center
  • All Sites & Resources
  • Connect & Follow
  • Contact Us

Work with Us

  • Student Ambassador Initiative
  • Wolfram for Startups
  • Student Opportunities
  • Jobs Using Wolfram Language

Educational Programs for Adults

  • Summer School
  • Winter School

Educational Programs for Youth

  • Middle School Camp
  • High School Research Program
  • Computational Adventures

Read

  • Stephen Wolfram's Writings
  • Wolfram Blog
  • Wolfram Tech | Books
  • Wolfram Media
  • Complex Systems

Educational Resources

  • Wolfram MathWorld
  • Wolfram in STEM
  • Wolfram Challenges
  • Wolfram Problem Generator

Wolfram Initiatives

  • Wolfram Science
  • Wolfram Foundation
  • History of Mathematics Project

Events

  • Stephen Wolfram Livestreams
  • Online & In-Person Events
  • Contact Us
  • Connect & Follow
For AIs
  • Your Account
  • User Portal
  • Wolfram Cloud
  • Products
    • Wolfram|One
    • Mathematica
    • System Modeler
    • Compute ServicesUse with Mathematica and Wolfram|One
    • AI AccessUse with Mathematica and Wolfram|One
    • Finance Platform
    • Wolfram|Alpha Notebook Edition
    • Application Server
    • Enterprise Private Cloud
    • Wolfram Engine
    • Wolfram Player
    • Wolfram Cloud App
    • Wolfram Player App

    More mobile apps

    • Wolfram|Alpha
      • Wolfram|Alpha Website
      • Wolfram|Alpha APIs
    • AI Products
      • Wolfram AI Ecosystem
      • Wolfram Foundation Tool
      • Wolfram Cloud MCP
      • Wolfram Local MCP
      • Agent One API
      • CAG Component APIs
    • Core Technologies
      • Wolfram Language
      • Computable Data
      • Wolfram Notebooks
      • Linguistic Understanding
    • Additional Deployment Options
      • Wolfram Cloud
      • Wolfram Web Engine
      • wolframscript
      • WSTPServer
    • Group & Organizational Licensing
    • All Products
  • Consulting & Solutions
    • Wolfram Consulting

    Data Science, Finance & Business

    • Artificial Intelligence
    • Data Science
    • Healthcare
    • Real Estate

    Engineering

    • Civil Engineering
    • Automotive Engineering
    • Sustainable Energy

    Science & Technology

    • AgTech
    • Biosciences
    • Environmental Science
    • Food Science
    • Quantum Computation
    • Social and Behavioral Sciences

    More Wolfram Solutions

    Technology for Education

    • Research Universities
    • Colleges & Teaching Universities
    • High Schools
    • Resources for Students

    Education Initiatives

    • Next-Gen EdTech
    • Computer-Based Math

    More Solutions for Education

    • Contact Us
  • Learning & Support

    Get Started

    • Wolfram Language Introduction
    • Fast Intro for Programmers
    • Fast Intro for Math Students
    • Wolfram Language Documentation

    Grow Your Skills

    • Wolfram U

      Courses in computing, science, life and more

    • Community

      Learn, solve problems and share ideas.

    • Blog

      News, views and insights from Wolfram

    • Resources for

      Software Developers
    • Tech Support
      • Contact Us
      • Support FAQs
    • More Learning
      • Highlighted Core Areas
      • Demonstrations
      • YouTube
      • Daily Study Groups
      • Wolfram Schools and Programs
      • Books
    • Support FAQs
    • Contact Us
  • Company
    • About Wolfram
    • Career Center
    • All Sites & Resources
    • Connect & Follow
    • Contact Us

    Work with Us

    • Student Ambassador Initiative
    • Wolfram for Startups
    • Student Opportunities
    • Jobs Using Wolfram Language

    Educational Programs for Adults

    • Summer School
    • Winter School

    Educational Programs for Youth

    • Middle School Camp
    • High School Research Program
    • Computational Adventures

    Read

    • Stephen Wolfram's Writings
    • Wolfram Blog
    • Wolfram Tech | Books
    • Wolfram Media
    • Complex Systems
    • Educational Resources
      • Wolfram MathWorld
      • Wolfram in STEM
      • Wolfram Challenges
      • Wolfram Problem Generator
    • Wolfram Initiatives
      • Wolfram Science
      • Wolfram Foundation
      • History of Mathematics Project
    • Events
      • Stephen Wolfram Livestreams
      • Online & In-Person Events
    • Contact Us
    • Connect & Follow
  • For AIs
  • Wolfram Cloud
  • Your Account
  • User Portal
Wolfram Language & System Documentation Center
GraphicsComplex
  • See Also
    • GraphicsGroup
    • Plot3D
  • Related Guides
    • Symbolic Graphics Language
    • 3D Geometry & Modeling Formats
    • Combining Graphics
    • Graphics Objects
    • Polygons
    • Polyhedra
    • See Also
      • GraphicsGroup
      • Plot3D
    • Related Guides
      • Symbolic Graphics Language
      • 3D Geometry & Modeling Formats
      • Combining Graphics
      • Graphics Objects
      • Polygons
      • Polyhedra

GraphicsComplex[{pt1,pt2,…},data]

represents a graphics complex in which coordinates given as integers i in graphics primitives in data are taken to be pti.

Details and Options
Details and Options Details and Options
Examples  
Basic Examples  
Scope  
Options  
ContentSelectable  
VertexColors  
VertexNormals  
VertexTextureCoordinates  
Applications  
Properties & Relations  
Neat Examples  
See Also
Related Guides
History
Cite this Page
BUILT-IN SYMBOL
  • See Also
    • GraphicsGroup
    • Plot3D
  • Related Guides
    • Symbolic Graphics Language
    • 3D Geometry & Modeling Formats
    • Combining Graphics
    • Graphics Objects
    • Polygons
    • Polyhedra
    • See Also
      • GraphicsGroup
      • Plot3D
    • Related Guides
      • Symbolic Graphics Language
      • 3D Geometry & Modeling Formats
      • Combining Graphics
      • Graphics Objects
      • Polygons
      • Polyhedra

GraphicsComplex

GraphicsComplex[{pt1,pt2,…},data]

represents a graphics complex in which coordinates given as integers i in graphics primitives in data are taken to be pti.

Details and Options

  • GraphicsComplex works in both 2D and 3D.
  • GraphicsComplex[{pt1,pt2,…},data] effectively replaces integers i that appear as coordinates in data by the corresponding pti.
  • GraphicsComplex provides a convenient way to build up meshes or simplicial complexes in which vertices of polygons are shared.
  • GraphicsComplex is treated like a single primitive in Graphics and Graphics3D.
  • In GraphicsComplex[pts,data], data can be any nested list of graphics primitives and directives.
  • The following options can be given:
  • ContentSelectable Automaticwhether to allow contents to be selected
    VertexColors Automaticvertex colors corresponding to each pti
    VertexNormals Automaticvertex normals corresponding to each pti
    VertexTextureCoordinates Nonevertex texture coordinates for each pti
  • GraphicsComplex[{pt1,pt2,…},data,VertexColors->{c1,c2,…}] replaces Polygon[{i,j,…}] by Polygon[{pti,ptj,…},VertexColors->{ci,cj,…}].
  • The VertexNormals and VertexTextureCoordinates option works the same way.
  • Normal[GraphicsComplex[pts,data]] substitutes coordinates to give an ordinary list of graphics primitives and directives.

Examples

open all close all

Basic Examples  (3)

Polygons and lines in 2D:

Wolfram Language code: v = {{1, 0}, {0, 1}, {-1, 0}, {0, -1}};
Wolfram Language code: {Graphics[GraphicsComplex[v, Polygon[{1, 2, 3, 4}]]], Graphics[GraphicsComplex[v, Line[{1, 2, 3, 4, 1}]]]}

Polygons and lines in 3D:

Wolfram Language code: v = {{0, 0, 0}, {2, 0, 0}, {2, 2, 0}, {0, 2, 0}, {1, 1, 2}};
Wolfram Language code: i = {{1, 2, 5}, {2, 3, 5}, {3, 4, 5}, {4, 1, 5}};
Wolfram Language code: {Graphics3D[{Opacity[.8], Yellow, GraphicsComplex[v, Polygon[i]]}], Graphics3D[{Thick, GraphicsComplex[v, Line[i]]}]}

Use built-in PolyhedronData:

Wolfram Language code: v = PolyhedronData["Dodecahedron", "Vertices"];
Wolfram Language code: Short[i = PolyhedronData["Dodecahedron", "FaceIndices"]]
Wolfram Language code: Graphics3D /@ { {Yellow, GraphicsComplex[v, Polygon[i]]}, {Thick, GraphicsComplex[v, Line[i]]}}

Do the same using PolyhedronData property annotations:

Wolfram Language code: Graphics3D /@ { {Yellow, PolyhedronData["Dodecahedron", "GraphicsComplex"]}, {Thick, PolyhedronData["Dodecahedron", "Edges", "GraphicsComplex"]}}

Scope  (3)

The coordinate data for any primitive can come from a GraphicsComplex:

Wolfram Language code: p = {{0, 0}, {2, 0}, {2, 2}, {0, 2}};
Wolfram Language code: {Graphics[GraphicsComplex[p, Table[Circle[i], {i, 4}]]], Graphics[GraphicsComplex[p, Table[Rectangle[i], {i, 4}]]]}
Wolfram Language code: {Graphics[GraphicsComplex[p, Line[{1, 2, 3, 4, 1}]]], Graphics[GraphicsComplex[p, Polygon[{1, 2, 3, 4}]]]}

3D primitives:

Wolfram Language code: p = {{0, 0, 0}, {2, 0, 1}, {2, 2, 1}, {0, 2, 0}};
Wolfram Language code: {Graphics3D[GraphicsComplex[p, Table[Sphere[i], {i, 4}]]], Graphics3D[GraphicsComplex[p, Table[Cuboid[i], {i, 4}]]]}
Wolfram Language code: {Graphics3D[GraphicsComplex[p, Line[{1, 2, 3, 4, 1}]]], Graphics3D[GraphicsComplex[p, Polygon[{1, 2, 3, 4}]]]}

Mixing directives and primitives within a GraphicsComplex:

Wolfram Language code: v = Table[15{Cos[t], Sin[t]}, {t, 0, 4Pi, 4Pi / 5}];
Wolfram Language code: Graphics[GraphicsComplex[v, {Green, Thick, Line[{1, 2, 3, 4, 5, 6}], PointSize[Large], Red, Point[{1, 2, 3, 4, 5}]}]]

Options  (7)

ContentSelectable  (3)

No individual object is selectable; the graphics complex appears as one object:

Wolfram Language code: Graphics[{Blue, Disk[{-1.5, .5}, .5], Pink, GraphicsComplex[{{0, .5}, {1, 0}}, {Disk[1, .5], Rectangle[2]}]}, ContentSelectable -> False]

Allow the individual objects in the graphics complex to be selectable by a single click:

Wolfram Language code: Graphics[{Blue, Disk[{-1.5, .5}, .5], Pink, GraphicsComplex[{{0, .5}, {1, 0}}, {Disk[1, .5], Rectangle[2]}]}, ContentSelectable -> True]

The first click selects the whole complex, and subsequent clicks select individual objects:

Wolfram Language code: Graphics[{Blue, Disk[{-1.5, .5}, .5], Pink, GraphicsComplex[{{0, .5}, {1, 0}}, {Disk[1, .5], Rectangle[2]}]}, ContentSelectable -> Automatic]

VertexColors  (2)

Specify colors for each vertex:

Wolfram Language code: Graphics[GraphicsComplex[{{-1, 0}, {1, 0}, {0, Sqrt[3]}}, Polygon[{1, 2, 3}], VertexColors -> {Red, Green, Blue}]]

Specify vertex colors for 3D polygons:

Wolfram Language code: Graphics3D[GraphicsComplex[{{1, 0, 0}, {1, 1, 1}, {0, 0, 1}}, Polygon[{1, 2, 3}], VertexColors -> {Red, Green, Blue}]]

VertexNormals  (1)

Define vertices and face indices of a cylindrical model:

Wolfram Language code: vl = Join[Table[{Cos[2π i / 20], Sin[2π i / 20], 0}, {i, 20}], Table[{Cos[2π i / 20], Sin[2π i / 20], 2}, {i, 20}]];
Wolfram Language code: il = Table[{i, Mod[i + 1, 20, 1], Mod[i + 21, 20, 21], i + 20}, {i, 1, 20}];

Without surface normals, the shading is constant or flat for each polygon face:

Wolfram Language code: Graphics3D[{Yellow, EdgeForm[], GraphicsComplex[vl, Polygon[il]]}]

With surface normals, the shading is interpolated or smooth across each polygon face:

Wolfram Language code: Graphics3D[{Yellow, EdgeForm[], GraphicsComplex[vl, Polygon[il], VertexNormals -> vl]}]

VertexTextureCoordinates  (1)

Texture mapping with 2D polygons:

Wolfram Language code: Graphics[{Texture[ExampleData[{"TestImage", "Apples"}]], GraphicsComplex[{{-1, 0}, {1, 0}, {0, Sqrt[3]}}, Polygon[{1, 2, 3}], VertexTextureCoordinates -> {{0, 0}, {1, 0}, {.5, 1}}]}]

Texture mapping with 3D polygons:

Wolfram Language code: Graphics3D[{Texture[ExampleData[{"TestImage", "Apples"}]], GraphicsComplex[{{0, 0, 0}, {1, 1, 0}, {0, 1, 1}}, Polygon[{1, 2, 3}], VertexTextureCoordinates -> {{0, 0}, {1, 0}, {.5, 1}}]}]

Applications  (2)

Most surface and region plots produce GraphicsComplex:

Wolfram Language code: ParametricPlot[{r Cos[θ], r Sin[θ]}, {r, 1, 2}, {θ, 0, 2Pi / 3}, PlotRange -> All, Mesh -> 15]

You can use GraphicsComplex to transform the coordinates in this simple rotation:

Wolfram Language code: % /. GraphicsComplex[p_List, rest__] :> GraphicsComplex[RotationTransform[Pi / 3][p], rest]

The same idea applies to 3D surfaces:

Wolfram Language code: Plot3D[Exp[-3x ^ 2 - y ^ 2], {x, -2, 2}, {y, -2, 2}, Mesh -> None, PlotRange -> All]
Wolfram Language code: % /. GraphicsComplex[p_List, rest__] :> GraphicsComplex[RotationTransform[Pi / 4, {0, 0, 1}][p], rest]

Properties & Relations  (4)

Set up a graphics complex with shared coordinates:

Wolfram Language code: g = GraphicsComplex[{{0, 0}, {Sqrt[3], Sqrt[3] / 2}}, {Point[1], Line[{1, 2}]}];

Applying Normal will split a complex into primitives with duplicated coordinates:

Wolfram Language code: Normal[g]

Both forms produce the same image:

Wolfram Language code: {Graphics[g], Graphics[Normal[g]]}

Graphics complexes can be built up from integrated PolyhedronData:

Wolfram Language code: v = PolyhedronData["SnubCube", "VertexCoordinates"];
Wolfram Language code: i = PolyhedronData["SnubCube", "FaceIndices"];
Wolfram Language code: Graphics3D[GraphicsComplex[v, Polygon[i]]]

Or, get a graphics complex directly:

Wolfram Language code: g = PolyhedronData["SnubCube", "GraphicsComplex"];
Wolfram Language code: Graphics3D[g]
Wolfram Language code: Head[g]

ExampleData contains a number of 3D graphics complex models:

Wolfram Language code: Short[ExampleData["Geometry3D"]]
Wolfram Language code: g = ExampleData[{"Geometry3D", "UtahTeapot"}, "GraphicsComplex"];
Wolfram Language code: Graphics3D[g]

Many Import formats produce GraphicsComplex:

Wolfram Language code: g = Import[ "http://exampledata.wolfram.com/bunny.noff.gz", "GraphicsComplex"];
Wolfram Language code: Graphics3D[{EdgeForm[], g}, ViewPoint -> Top]
Wolfram Language code: Head[g]

In this case the surface has about 35000 vertices:

Wolfram Language code: Length[First[g]]

Neat Examples  (2)

A random selection of index coordinates:

Wolfram Language code: p = Table[{Cos[2Pi / 70 k], Sin[2Pi / 70 k]}, {k, 70}];
Wolfram Language code: Graphics[GraphicsComplex[p, Polygon[RandomSample[Range[70], 70]]]]
Wolfram Language code: p = Flatten[Table[{Cos[2Pi / 25 k] Sin[Pi / 25 l], Sin[2Pi / 25 k] Sin[Pi / 25 l], Cos[Pi / 25 l]}, {k, 25}, {l, 25}], 1];
Wolfram Language code: Graphics3D[{Opacity[.8], EdgeForm[Opacity[.3]], GraphicsComplex[p, Polygon[RandomInteger[{1, 625}, {100, 3}]], VertexColors -> Table[Hue[RandomReal[]], {625}]]}, Lighting -> "Neutral"]

Cows with random gradients:

Wolfram Language code: g = ExampleData[{"Geometry3D", "Cow"}, "GraphicsComplex"];
Wolfram Language code: Grid@Table[With[{f = ColorData[RandomChoice[ColorData["Gradients"]]]}, Graphics3D[{EdgeForm[], g /. GraphicsComplex[v_, r__] :> GraphicsComplex[v, r, VertexColors -> ({Specularity[White, 30], f[#[[1]] + .5]}& /@ v)]}, Lighting -> "Neutral", Boxed -> False, Background -> GrayLevel[.15], ImageSize -> 150]], {3}, {3}]

See Also

GraphicsGroup  Plot3D

Related Guides

    ▪
  • Symbolic Graphics Language
  • ▪
  • 3D Geometry & Modeling Formats
  • ▪
  • Combining Graphics
  • ▪
  • Graphics Objects
  • ▪
  • Polygons
  • ▪
  • Polyhedra

History

Introduced in 2007 (6.0)

Wolfram Research (2007), GraphicsComplex, Wolfram Language function, https://reference.wolfram.com/language/ref/GraphicsComplex.html.

Text

Wolfram Research (2007), GraphicsComplex, Wolfram Language function, https://reference.wolfram.com/language/ref/GraphicsComplex.html.

CMS

Wolfram Language. 2007. "GraphicsComplex." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/GraphicsComplex.html.

APA

Wolfram Language. (2007). GraphicsComplex. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/GraphicsComplex.html

BibTeX

@misc{reference.wolfram_2026_graphicscomplex, author="Wolfram Research", title="{GraphicsComplex}", year="2007", howpublished="\url{https://reference.wolfram.com/language/ref/GraphicsComplex.html}", note=[Accessed: 01-September-2026]}

BibLaTeX

@online{reference.wolfram_2026_graphicscomplex, organization={Wolfram Research}, title={GraphicsComplex}, year={2007}, url={https://reference.wolfram.com/language/ref/GraphicsComplex.html}, note=[Accessed: 01-September-2026]}

Top
Introduction for Programmers
Introductory Book
Wolfram Function Repository | Wolfram Data Repository | Wolfram Data Drop | Wolfram Language Products
Top
  • Products
  • Wolfram|One
  • Mathematica
  • AI Access
  • Compute Services
  • System Modeler

  • Wolfram|Alpha Notebook Edition
  • Wolfram|Alpha Pro
  • Mobile Apps

  • Wolfram Engine
  • Wolfram Player

  • Volume & Site Licensing
  • Server Deployment Options
  • Consulting
  • Wolfram Consulting
  • Repositories
  • Data Repository
  • Function Repository
  • Community Paclet Repository
  • Neural Net Repository
  • Prompt Repository

  • Wolfram Language Example Repository
  • Notebook Archive
  • Wolfram GitHub
  • Learning
  • Wolfram U
  • Wolfram Language Documentation
  • Webinars & Training
  • Educational Programs

  • Wolfram Language Introduction
  • Fast Introduction for Programmers
  • Fast Introduction for Math Students
  • Books

  • Wolfram Community
  • Wolfram Blog
  • Public Resources
  • Wolfram|Alpha
  • Wolfram Problem Generator
  • Wolfram Challenges

  • Computer-Based Math
  • Computational Thinking
  • Computational Adventures

  • Demonstrations Project
  • Wolfram Data Drop
  • MathWorld
  • Wolfram Science
  • Wolfram Media Publishing
  • Customer Resources
  • Store
  • Product Downloads
  • User Portal
  • Your Account
  • Organization Access

  • Support FAQ
  • Contact Support
  • Company
  • About Wolfram
  • Careers
  • Contact
  • Events
Wolfram Community Wolfram Blog
Legal & Privacy Policy
WolframAlpha.com | WolframCloud.com
© 2026 Wolfram
© 2026 Wolfram | Legal & Privacy Policy |
English