Quiz 1 Flashcards

1
Q

What are the three most basic types of objects made from straight lines?

A

1) Single straight line
2) Polyline
3) Closed Poly Line

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are the three limitations of storing vertices and line connectivity in the same data structure?

A

1) Higher computer memory usage, floats and duplicates
2) What happens to coordinates with close vertices? e.g. x = 3.0 and x = 3.0001
3) When a vertex has changed all points in the data set have to be changed separately

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

How do you find an inverse of a vertex index?

A

Reverse the data storage and convert [x,y,z] to a geometry key. Geometry keys must have consistent decimal points.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is the geometry index of:
{0: [0,0],
1: [1.5,1],
2: [2.0,0.5]}

A

{‘0.0,0.0’: 0,
‘1.5,1.0’: 1,
‘2.0,0.5’: 2}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

In a connectivity matrix (m x n) what do the rows (m) and columns (n) represent and how does it show connectivity?

A

m represents the lines
n represents the nodes
Along the row, the start node is -1 and the end node is 1 with the rest of the row being 0s.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is the coordinate difference (u, v and w) and what are the sizes of the vectors?

How can these be calculated using the connectivity matrix (C)?

A

Coordinate differences are the distances in the x, y and z directions between the start and end points of each line.
(m x 1)

u = Cx
v = C
y
w = C*z

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What does the transpose of the connectivity matrix tell us?

A

What lines are connected to a given node as well as the direction of that incoming or outgoing edge.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

How does an adjacency matrix (A) work?

A

It is a symmetric matrix of size n x n where n is the node number. Each row I of the matrix has a 1 in column j if the vertex is connected to vertex j. This connection could be a line joining them or an edge.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is a degree matrix (D) and how does it work?

A

The degree matrix is a matrix that stores how many connections each vertex has. Each row of the adjacency matrix is summed and placed into a diagonal matrix showing how many connection each vertex has.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

How is the Laplacian matrix found?

A

Taking away the Adjacency matrix from the degree matrix.

L = D - A

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is the difference between a direct, undirected and mixed graph?

A

A directed graph is when all the information flow is prescribed (has arrows)
An Undirected graph is when there are no restrictions of directions of flow
A mixed graph is a combination of directed and undirected lines.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is meant by a weighted graph?

A

It means that there is a weight or cost to pass through a link or line. For example traffic or forces in a truss.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Why is finding the shortest path through a weighted graph important in real life?

What are the two most popular algorithms used?

A

Can be used to find the fast route on google maps
Discovering the path of least resistance for forces or flows
Determining the fasting communication route

Dijkstra’s and Bellman-Ford algorithm

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What are the three types of meshes?

A

1) Tri-mesh - triangular faces with three vertices
2) Quad-mesh - only faces with 4 vertices
3) NGon-mesh or Poly-mesh - a mixture of faces with three or more vertices per face.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is the data structure for meshes made up of?

A

1) Vertices - an index of all the nodes and their coordinates
2) Faces - an index of how the nodes are connected around a face
3) Edges - Can be derived from the face index but are very useful for modelling and analysis so can be stored separately

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is meant by a half-edge data structure?

What is its biggest disadvantage?

A

Similar to the edge index however edges that overlap between faces are split into two in an equal and opposite direction.

Half edges can only have a maximum of two edges per line which means the mesh cannot have more than two faces per edge.

17
Q

How do you check what faces are around a vertex?

A

Set up a face matrix and simply read off what faces are around the vertex in question

18
Q

What are the two different mesh structures and describe each one?

A

Structured Mesh - The vertices/faces are laid on a mathematical or parametric grid usually cartesian/spherical coordinate and as quads

Unstructured Mesh - Usually irregular and triangulated and they usually have mesh refinement at areas of curvature or modelling interest.

19
Q

How does Delaunay triangulation set up a mesh?

How does Ruppert’s algorithm refine this?

A

It takes starting vertices already set and forms circles around these points ensuring that no vertices are within the circles. This results in a mesh with maximum internal angles within the triangular faces.

Ruppert’s algorithm produces more equilateral/well-proportioned triangles. it only uses the boundary vertices

20
Q

What does a simple subdivision do and what are the other popular methods?

A

It creates a finer mesh by adding vertices at the midpoint of edges or centroids of faces.

Loop, Catmull-Clark and Doo-Sabin subdivision.

21
Q

What are the three boolean operations?

A

1) Intersection (overlap)
2) Union (adding)
3) Difference (subtracting)

22
Q

What is an interpolated spline?

A

They always pass through the defined points and interpolate between these points with varying degrees. (usually 1 (linear) or 3 (cubic)). They can either be open or closed.

23
Q

What are Bezier curves?

A

They are curves between defined anchor points. the shape of the curves can be altered by changing the tangents are each control point. This allows kinks and compound smooth-straight curves can be made.

24
Q

What are Non-Uniform Rational Basis Spline (NURBS) curves?

A

In grasshopper, these curves go through control points but in some modelling packages it doesn’t. This makes it harder to use for known points.

25
Q

What is the 1D u parameter domain on a spline curve and how is it normalised?

A

Define the start of a curve as u = 0 and the end as u = L. To normalise this you divide the endpoint by itself. This makes the start u = 0 and the end u = 1. Therefore we can evaluate curves by fishing relative points along the curve. e.g halfway is u = 0.5

26
Q

How does the u parameter differ in surfaces?

A

in 2D surfaces, the u parameter becomes the u-v parameter. u,v = 0,0 at the bottom left, u,v = 1,0 bottom right, u,v = 0,1 top left and u,v = 1,1 at the top right. At any point on the surface, you can find in terms of u and v.

27
Q

What is the difference between dividing and shattering a curve?

A

When you divide a curve it divides it with points either by length or count. this then populates the curve with points which can be used to shatter the curve which means split up.

28
Q

What is a fillet curve?

A

Fillet curves round off sharp corners made by two curves coming to a point.

29
Q

Explain what tween and blend operations do.

A

A tween is when you set two curves as the limits for a new curve in between them.

A blend creates a new curve that transitions to the end points of two curves

30
Q

Explain what sweep, extrude and loft operations do.

A

Curve sections are swepped along another curve acting as a guide rail.

Extrude: set a base curve and define a straight or curved path for it to follow.

Loft: set 2 + cross-section curves and the loft surface will join the curves together.

31
Q

Using a half-edge data structure, How could we start to identify the edges along the inner hole and outer boundary of the mesh

A

Edges where there are only one half edge indicates that there is no adjacent face to that edge. This process of finding single half edges will thus pick up the edges of the hole and perimeter.

32
Q

How do you create rectangular array/matrix sized in computer memory that could store the face index to vertex index connectivity when the mesh faces have different number of edges?

A

Create a face mesh using node connectivity as usual but the add -1 after the face is complete for as many times as there are extra edges in the largest face.

33
Q

How could we find the vertices that are connected to a particular vertex using a half-edge data structure?

A
  1. Pick a vertex i
  2. Find the faces next to vertex i
  3. Find all half-edges within these faces that have vertex i as either the start or end point
  4. For all those half edges with I as its end, trace the half edge back to find the connected vertex.
  5. For all those half edges with I as its start, trace the half edge forward to find the connected vertex.
34
Q

Why do we subdivide meshes in practice?

A
  • might need finer discretisation for accurate models
  • More detail for Fabrication
  • Smoothen a sharp coarse mesh into something smooth.