Subdivision Surfaces

ΟρισμόςDefinition

Μια επιφάνεια υποδιαίρεσης δεν ορίζεται από εξίσωση. Ορίζεται από ένα αδρό πλέγμα και έναν κανόνα: κάθε πέρασμα του κανόνα σπάει τις έδρες σε μικρότερες και μετακινεί όλες τις κορυφές σε σταθμισμένους μέσους όρους των γειτόνων τους. Επανάλαβέ το και η ακολουθία των πλεγμάτων συγκλίνει. Η επιφάνεια είναι το όριο της — όχι κάποιο από τα βήματά της. A subdivision surface is not defined by an equation. It is defined by a coarse mesh and a rule: each pass of the rule splits the faces into smaller ones and moves every vertex to a weighted average of its neighbours. Repeat, and the sequence of meshes converges. The surface is its limit — not any one of its steps.

Αυτή η μία μετατόπιση — από την εξίσωση στον κανόνα — είναι όλη η διαφορά. Μια παραμετρική επιφάνεια χρειάζεται κανονικό πλέγμα παραμέτρων: γραμμές και στήλες, τέσσερις γείτονες παντού. Ένας κανόνας δεν χρειάζεται τίποτα τέτοιο, γιατί δεν κοιτάζει συντεταγμένες παραμέτρου· κοιτάζει γείτονες. Γι’ αυτό δέχεται πλέγμα οποιασδήποτε τοπολογίας και βγάζει μία και μόνη λεία επιφάνεια, χωρίς ραφές να ταιριάξουν και χωρίς μπαλώματα να συνδεθούν. That single shift — from equation to rule — is the whole difference. A parametric surface needs a regular parameter grid: rows and columns, four neighbours everywhere. A rule needs none of that, because it never looks at parameter coordinates; it looks at neighbours. Which is why it accepts a mesh of arbitrary topology and returns one single smooth surface, with no seams to match and no patches to stitch.

A

Το πλέγμα είναι η είσοδοςThe mesh is the input

Ό,τι γράφεις είναι λίγες κορυφές — δεκάδες, όχι εκατομμύρια. Δεν είναι χαμηλής ανάλυσης εκδοχή του μοντέλου: είναι ο ορισμός του. Η επιφάνεια βγαίνει από αυτές και δεν αποθηκεύεται πουθενά. What you author is a few vertices — dozens, not millions. It is not a low-resolution version of the model: it is the definition of it. The surface follows from those vertices and is stored nowhere.

B

Ένας κανόνας, κάθε τοπολογίαOne rule, any topology

Τρίγωνα, τετράπλευρα, n-γωνα, κορυφές με τρεις ή με εννιά ακμές, χείλη και τρύπες: ο ίδιος κανόνας τα δέχεται όλα. Δεν υπάρχει ειδική περίπτωση να προγραμματιστεί — υπάρχει ένας τύπος που ξέρει να μετράει τους γείτονές του. Triangles, quads, n-gons, vertices with three edges or nine, borders and holes: the same rule takes all of them. There is no special case to implement — there is one formula that knows how to count its neighbours.

C

Το όριο, όχι το βήμαThe limit, not the step

Το L2 και το L5 δεν είναι δύο μοντέλα· είναι δύο εικόνες του ίδιου. Η οριακή επιφάνεια είναι μία και δεν εξαρτάται από το πόσα επίπεδα δείχνεις — γι’ αυτό το παιχνίδι και η ταινία βγαίνουν από το ίδιο αρχείο. L2 and L5 are not two models; they are two pictures of one. The limit surface is a single object and does not depend on how many levels you display — which is why the game and the film come out of the same file.

Catmull–ClarkCatmull–Clark
1978
Έδρες ανά επίπεδοFaces per level
×4
Κανονικός βαθμός σε τετράπλευραRegular valence on quads
4
ΣυνέχειαContinuity
C² / C¹

Η τελευταία στήλη κρύβει τον μοναδικό συμβιβασμό ολόκληρης της μεθόδου. Παντού όπου το πλέγμα είναι κανονικό, η οριακή επιφάνεια είναι κυβικό B-spline — C², bit για bit το ίδιο πράγμα. Στις μη κανονικές κορυφές, εκεί δηλαδή που κανένα B-spline δεν μπορούσε να πάει, πέφτει σε C¹. Πληρώνεις μία παράγωγο σε πεπερασμένα, απομονωμένα σημεία και παίρνεις πίσω την ελευθερία της τοπολογίας. That last figure hides the one compromise in the whole method. Wherever the mesh is regular, the limit surface is a cubic B-spline — C², bit for bit the same object. At extraordinary vertices, exactly where no B-spline could go, it drops to C¹. You pay one derivative at finitely many isolated points and get the freedom of topology in return.

ΠεριγραφήDescription

Δύο κανόνες, ένα πλέγμαTwo rules, one mesh 5 τρίγωνα · κορυφή βαθμού 55 triangles · valence-5 vertex

Catmull–Clark · n-γωνο → n τετράπλευραn-gon → n quads

Loop · 1 τρίγωνο → 4 τρίγωνα1 triangle → 4 triangles

C–C · έδρεςC–C · faces
60
Loop · έδρεςLoop · faces
80
Μη καν. C–C / LoopExtraord. C–C / Loop
6 / 1

πλέγμα ελέγχου · 5 τρίγωναcontrol mesh · 5 triangles εκλεπτυσμένο πλέγμαrefined mesh

Ίδια είσοδος, δύο κανόνες, δύο εντελώς διαφορετικά πλέγματα. Ο Catmull–Clark δέχεται τρίγωνα αλλά δεν τα κρατάει: κάθε n-γωνο γίνεται n τετράπλευρα, οπότε μετά το πρώτο κιόλας πέρασμα δεν έχει μείνει ούτε ένα τρίγωνο. Ο Loop τα κρατάει — κάθε τρίγωνο γίνεται τέσσερα, για πάντα. Same input, two rules, two entirely different meshes. Catmull–Clark accepts triangles but does not keep them: every n-gon becomes n quads, so after the very first pass not a single triangle is left. Loop keeps them — every triangle becomes four, forever.

  • Δύο «κανονικά»Two “regulars”Ο μετρητής των μη κανονικών δεν συγκρίνεται με το μάτι: κανονική είναι η κορυφή βαθμού 4 στα τετράπλευρα και βαθμού 6 στα τρίγωνα. Είναι δύο διαφορετικοί ορισμοί, και η valenceCensus() τους παίρνει ως όρισμα αντί να υποθέτει.The extraordinary counter is not comparable by eye: regular means valence 4 on quads and valence 6 on triangles. Two different definitions, and valenceCensus() takes which one as an argument instead of assuming.
  • 6 απέναντι σε 16 versus 1Και οι δύο ξεκινούν από μία μη κανονική κορυφή στο L0 — το κέντρο, βαθμού 5. Στο L1 ο Loop έχει ακόμη μία· ο Catmull–Clark έχει έξι. Τις έφτιαξε ο ίδιος: το σημείο έδρας κάθε τριγώνου γίνεται κορυφή βαθμού 3, δηλαδή μη κανονική σε τετραπλευρικό πλέγμα. Ταΐζοντας τρίγωνα σε κανόνα τετραπλεύρων πληρώνεις πέντε καινούριες ιδιομορφίες.Both start from one extraordinary vertex at L0 — the centre, valence 5. At L1 Loop still has one; Catmull–Clark has six. It made them itself: each triangle’s face point becomes a valence-3 vertex, which is extraordinary on a quad mesh. Feed triangles to a quad rule and you pay five new singularities.
  • Και όμως το θεώρημα ισχύειAnd the theorem still holdsΑνέβα L2, L3, L∞: το 6 δεν κουνιέται. Γι’ αυτό η διατύπωση είναι «μετά την πρώτη υποδιαίρεση ο αριθμός παγώνει» — το πρώτο πέρασμα είναι που κανονικοποιεί την τοπολογία, και μόνο αυτό.Step to L2, L3, L∞: the 6 does not move. This is why the statement is “after the first subdivision the number freezes” — the first pass is the one that normalises the topology, and only it.
  • Το β του LoopLoop’s βΤο βάρος β = (1/n)·(5/8 − (3/8 + ¼·cos(2π/n))²) δεν είναι ρυθμισμένο με το μάτι: είναι η τιμή που κρατάει την επιφάνεια C² στην κανονική κορυφή. Ο κανόνας γράφτηκε από τη λειότητα προς τα πίσω, όχι το αντίστροφο.The weight β = (1/n)·(5/8 − (3/8 + ¼·cos(2π/n))²) is not eyeballed: it is the value that keeps the surface C² at a regular vertex. The rule was written backwards from the smoothness, not the other way round.
  • Ποιο να διαλέξειςWhich to pickΟ Loop, αν το μοντέλο σου είναι ήδη τριγωνικό (σάρωση, γλυπτική). Ο Catmull–Clark, αν είναι σχεδιασμένο (τετράπλευρα, βιομηχανική γεωμετρία) — και γι’ αυτό είναι το de facto πρότυπο στα CAD και στα στούντιο.Loop, if your model is already triangular (scans, sculpting). Catmull–Clark, if it was authored (quads, industrial geometry) — which is why it is the de facto standard in CAD and in studios.

Και οι δύο κανόνες απαντούν στο ίδιο ερώτημα: πώς σπάει το πλέγμα. Μένει το δεύτερο, που σχεδόν όλοι το προσπερνούν — πού καταλήγει μια κορυφή. Η απάντηση δεν είναι «εκεί που είναι». Η οριακή επιφάνεια δεν περνά από τις κορυφές του πλέγματος ελέγχου, και αυτό δεν είναι ατέλεια της υλοποίησης: είναι ο ορισμός. Both rules answer the same question: how the mesh splits. What is left is the second one, which almost everybody skips — where a vertex ends up. The answer is not “where it already is”. The limit surface does not pass through the vertices of the control mesh, and that is not an artefact of the implementation: it is the definition.

Πού καταλήγει η κορυφήWhere the vertex ends up 7 κορυφές · κλειστό κλουβί7 vertices · closed cage

Η καμπύλη δεν περνά από τις κορυφέςThe curve misses every vertex · η διακεκομμένη δείχνει πόσο τραβιέται η καθεμίαthe dashed line shows how far each one is pulled

Σύρε τα σημείαDrag the points

Πάνω στην καμπύληOn the curve
0 / 7
Μέγιστο τράβηγμαLargest pull
5.3%
8 επίπεδα έναντι τύπου8 levels vs formula
9.6e-7

πλέγμα ελέγχου · ό,τι γράφειςcontrol cage · what you author η οριακή καμπύλη · και τα οριακά σημείαthe limit curve · and the limit points

Κάθε κόκκινο τετράγωνο ενώνεται με ένα μπλε σημείο: εκεί καταλήγει. Το σημείο αυτό δεν χρειάζεται επανάληψη — βγαίνει με μία γραμμή αριθμητικής, από τους δύο γείτονες της κορυφής: Every red square is joined to a blue dot: that is where it ends up. The dot needs no iteration — it comes out of one line of arithmetic, from the vertex’s two neighbours:

P = (P−1 + 4P + P+1) / 6

Τα βάρη 1, 4, 1 δεν είναι ρύθμιση: είναι οι τιμές της κυβικής B-spline βάσης πάνω στον κόμβο. Η ίδια σχέση ισχύει και στην επιφάνεια, με τους γείτονες όλου του δακτυλίου αντί για δύο. Ο κανόνας δεν είναι επομένως δύο πράγματα — ο κανόνας που τρέχει και ο τύπος που τερματίζει — είναι το ίδιο πράγμα, γραμμένο μία φορά ως επανάληψη και μία φορά ως όριο. The weights 1, 4, 1 are not a tuning choice: they are the values of the cubic B-spline basis at the knot. The same relation holds on the surface, with the whole ring of neighbours instead of two. So the rule is not two things — the rule that runs and the formula that stops — it is one thing, written once as an iteration and once as a limit.

Πάτα τώρα Παρεμβολή. Τα σημεία που σέρνεις μένουν εκεί που τα άφησες και ο μετρητής γράφει 7 / 7: η καμπύλη περνά πλέον από όλα. Δεν άλλαξε ο κανόνας — λύθηκε το αντίστροφο πρόβλημα, δηλαδή ποιο κλουβί έχει αυτά τα σημεία ως οριακά. Και το κλουβί που προκύπτει έχει βγει έξω από τα σημεία, για να τα φτάσει η καμπύλη τραβώντας προς τα μέσα. Now press Interpolation. The points you drag stay exactly where you left them and the counter reads 7 / 7: the curve now passes through all of them. The rule did not change — what got solved is the inverse problem, namely which cage has these points as its limit. And the resulting cage has moved outside the points, so that the inward pull lands the curve on them.

  • Το L∞ δεν είναι το άπειροL∞ is not infinityΟ τρίτος μετρητής συγκρίνει τον τύπο με οκτώ πραγματικά περάσματα του κανόνα. Το κενό δεν είναι μηδέν: είναι της τάξης του 10⁻⁶ και διαιρείται με 4 σε κάθε επίπεδο — μετρημένο, όχι εκτιμώμενο. Η επανάληψη τείνει στο όριο χωρίς ποτέ να το πιάσει, και γι’ αυτό οι μηχανές απόδοσης «σπρώχνουν στο όριο» με τον τύπο αντί να υποδιαιρούν ένα επίπεδο ακόμη.The third counter compares the formula with eight real passes of the rule. The gap is not zero: it is of order 10⁻⁶ and is divided by 4 at every level — measured, not estimated. The iteration tends to the limit without ever reaching it, which is why renderers “push to limit” with the formula instead of subdividing one more level.
  • Το τίμημα της παρεμβολήςWhat interpolation costsΤο σύστημα Q₋₁ + 4Q + Q₊₁ = 6P είναι καθολικό: κουνώντας ένα μόνο σημείο ξαναγράφονται όλες οι κορυφές του κλουβιού. Η επιρροή σβήνει με παράγοντα 2 + √3 ≈ 3.73 ανά βήμα, αλλά δεν μηδενίζεται ποτέ — ακριβώς το αντίθετο από τον τοπικό φορέα που κάνει τη σχεδίαση να συγκλίνει. Η προσέγγιση δεν είναι ο φτωχός συγγενής της παρεμβολής· είναι η επιλογή που κρατάει τον έλεγχο τοπικό.The system Q₋₁ + 4Q + Q₊₁ = 6P is global: moving a single point rewrites every vertex of the cage. The influence decays by a factor of 2 + √3 ≈ 3.73 per step, but never reaches zero — the exact opposite of the local support that makes design converge. Approximation is not interpolation’s poor relation; it is the choice that keeps control local.
  • Γιατί το κλουβί είναι φράγμαWhy the cage is a boundΕπειδή τα βάρη είναι θετικά και αθροίζουν στη μονάδα, κάθε σημείο της επιφάνειας είναι σταθμισμένος μέσος όρος κορυφών: η επιφάνεια μένει μέσα στο κυρτό περίβλημα του πλέγματος και δεν κυματίζει περισσότερο από αυτό. Στην παρεμβολή αυτή η εγγύηση φεύγει — το κλουβί βγήκε ήδη έξω από τα σημεία σου.Because the weights are positive and sum to one, every point of the surface is a weighted average of vertices: the surface stays inside the convex hull of the mesh and never oscillates more than it does. Interpolation gives that guarantee away — the cage has already moved outside your points.

Μένει το ερώτημα που δεν απαντά κανένα από τα δύο διαγράμματα: τι δεν μπορεί να κάνει η υποδιαίρεση. Δεν μπορεί να δώσει ακριβή κύκλο, ακριβή κύλινδρο, ακριβή σφαίρα. Η οριακή επιφάνεια είναι κατά τμήματα πολυωνυμική, και καμία πολυωνυμική καμπύλη δεν είναι κύκλος. Την ακρίβεια αυτή τη δίνει η άλλη μεγάλη αναπαράσταση, τα NURBS — και είναι ο λόγος που στη μηχανολογική φάση συνυπάρχουν οι δύο αντί να αντικαθιστά η μία την άλλη. What is left is the question neither diagram answers: what subdivision cannot do. It cannot give you an exact circle, an exact cylinder, an exact sphere. The limit surface is piecewise polynomial, and no polynomial curve is a circle. That precision comes from the other great representation, NURBS — and it is why the two coexist in the engineering phase rather than one replacing the other.

Δείτε τον κανόνα να τρέχειWatch the rule run

ΠαραδείγματαExamples

Όχι κλάδοι — αυτούς τους απαριθμεί η γενική σελίδα. Εδώ είναι τρεις αποφάσεις που παίρνει κανείς μπροστά σε συγκεκριμένο πλέγμα, και ο λόγος που τις παίρνει έτσι. Not industries — the overview page lists those. Here are three decisions taken in front of an actual mesh, and the reason they go the way they do.

A

Από πού ήρθε το πλέγμαWhere the mesh came from

Σάρωση ή γλυπτική δίνει τρίγωνα — εκεί ο Loop δουλεύει πάνω στο υλικό όπως το βρήκε. Σχεδιασμένο κομμάτι δίνει τετράπλευρα, με τις σειρές τους να ακολουθούν τη μορφή — εκεί ο Catmull–Clark. Η επιλογή δεν είναι γούστο: το διάγραμμα δείχνει ότι ταΐζοντας τρίγωνα σε κανόνα τετραπλεύρων πληρώνεις πέντε καινούριες ιδιομορφίες στο πρώτο κιόλας πέρασμα. A scan or a sculpt gives you triangles — there Loop works the material as it found it. An authored part gives quads, with their rows following the form — there Catmull–Clark. The choice is not taste: the diagram shows that feeding triangles to a quad rule costs you five new singularities on the very first pass.

B

Εκεί που συναντιούνται πέντε έδρεςWhere five faces meet

Μια γωνία όπου καταλήγουν τρία φιλέτα, ένα σημείο διακλάδωσης, η βάση ενός χερουλιού. Σε αναπαράσταση με μπαλώματα το σημείο αυτό απαιτεί διάταξη, κοπή και ραφές που πρέπει να μείνουν κλειστές μέσα σε ανοχή. Στην υποδιαίρεση είναι απλώς μια κορυφή βαθμού 5: ο κανόνας μετράει πέντε γείτονες αντί για τέσσερις και συνεχίζει. A corner where three fillets land, a branching point, the root of a handle. In a patch representation that point demands a layout, trimming, and seams that have to stay closed within a tolerance. In subdivision it is simply a valence-5 vertex: the rule counts five neighbours instead of four and carries on.

C

Ο κανόνας ως πρότυποThe rule as a standard

Επειδή η επιφάνεια είναι ο κανόνας και όχι το αρχείο, δύο προγράμματα που εφαρμόζουν τον ίδιο κανόνα βγάζουν την ίδια επιφάνεια — όχι παρόμοια. Αυτό ακριβώς τυποποιούν το OpenSubdiv και το OpenUSD, και είναι ο λόγος που ένα κλουβί ταξιδεύει σε ολόκληρο τον αγωγό παραγωγής χωρίς μετατροπή. Because the surface is the rule and not the file, two programs applying the same rule produce the same surface — not a similar one. That is precisely what OpenSubdiv and OpenUSD standardise, and it is why a cage travels the whole pipeline with no conversion step.

Τι ρωτάει κανείς για ένα πλέγμα και πού απαντιέταιWhat gets asked of a mesh, and where it is answered
ΕρώτημαQuestion Απάντηση — και πού την βλέπειςAnswer — and where you see it
τοπολογίαtopology «Πέντε έδρες γύρω από μια κορυφή.» Ένας κανόνας, καμία ραφή — ο ορισμός.“Five faces around one vertex.” One rule, no seams — the definition.
ποιος κανόναςwhich rule «Τρίγωνα ή τετράπλευρα;» Loop ή Catmull–Clark — το πρώτο διάγραμμα.“Triangles or quads?” Loop or Catmull–Clark — the first diagram.
πού κάθεταιwhere it sits «Περνά η επιφάνεια από τις κορυφές μου;» Όχι — το δεύτερο διάγραμμα, με τον τύπο.“Does the surface pass through my vertices?” No — the second diagram, with the formula.
αιχμηρή ακμήsharp edge «Αιχμηρό εδώ, λείο δίπλα.» Η οξύτητα ως αριθμός — ζωντανά στο λογισμικό.“Sharp here, smooth next to it.” Sharpness as a number — live in the software.
ακριβής κύκλοςexact circle «Αυτή η οπή είναι Ø20, όχι σχεδόν.» Εκεί δεν αρκεί πολυώνυμο — NURBS.“That hole is Ø20, not nearly.” A polynomial will not do — NURBS.
κατασκευήmanufacturing «Να φύγει ως στερεό.» Εκεί το ερώτημα γίνεται τοπολογικό — CAD.“Ship it as a solid.” There the question turns topological — CAD.
ανάλυσηanalysis «Να αντέξει το φορτίο.» Η βάση της υποδιαίρεσης λύνει κιόλας — ισογεωμετρική ανάλυση.“It has to carry the load.” The subdivision basis can solve as well — isogeometric analysis.

Το ένα πράγμα που δεν είναι. Η υποδιαίρεση δεν είναι τρόπος να γίνει λείο ένα πυκνό πλέγμα. Είναι τρόπος να οριστεί μια λεία επιφάνεια από ένα αδρό. Η διαφορά φαίνεται στο τι κρατάς: στο πρώτο κρατάς εκατομμύρια τρίγωνα και ελπίζεις να μη χρειαστεί να τα ξαναγγίξεις· στο δεύτερο κρατάς δεκάδες κορυφές, και η ανάλυση είναι κάτι που ζητάς τη στιγμή που το χρειάζεσαι. The one thing it is not. Subdivision is not a way to smooth a dense mesh. It is a way to define a smooth surface from a coarse one. The difference shows in what you keep: in the first you keep millions of triangles and hope never to touch them again; in the second you keep dozens of vertices, and resolution is something you ask for at the moment you need it.

Έχετε γεωμετρία που πρέπει να είναι
και λεία και ελεγχόμενη;
Have geometry that must be both
smooth and controllable?

Πείτε μας τι φτιάχνετε και θα σας πούμε αν η υποδιαίρεση είναι το σωστό εργαλείο — και αν όχι, ποιο είναι.Tell us what you are building and we will tell you whether subdivision is the right tool — and if not, what is.

Ξεκινήστε μια συζήτησηStart a conversation