Το λογισμικό μαςOur software
Γραμμική στατική ισογεωμετρική ανάλυση με NURBSLinear static isogeometric analysis with NURBS
Ο ίδιος κανόνας, τρεις φορές, με μία διάσταση παραπάνω κάθε φορά: σε καμπύλη, σε επιφάνεια, σε στερεό. Και τα τρία υπολογίζονται μέσα στον browser σε κάθε καρέ — σύρε τα, τίποτα δεν είναι προϋπολογισμένο. The same rule three times, one dimension further each time: on a curve, on a surface, on a solid. All three are computed inside the browser on every frame — drag them, nothing here is precomputed.
Σύρε τα τετράγωναDrag the squares
- ΚορυφέςVertices
- 8 → 512
- Σε επιφάνειαOn a surface
- ×4k
πλέγμα ελέγχουcontrol cage οριακή καμπύληlimit curve
Οι δύο κανόνες που τρέχουνThe two rules running
Κάθε επίπεδο παράγει μία νέα κορυφή για κάθε ακμή και μετακινεί κάθε παλιά κορυφή, με σταθερά βάρη: Each level produces one new vertex per edge and moves every old vertex, with fixed weights:
κορυφήvertex V′ = (P₋₁ + 6P + P₊₁) / 8
ακμήedge E = (P + P₊₁) / 2
Αυτή είναι ακριβώς η μονοδιάστατη περίπτωση του Catmull–Clark. Στις επιφάνειες ο ίδιος κανόνας γενικεύεται σε έδρες, ακμές και κορυφές αυθαίρετου βαθμού — και αυτό υλοποιεί ο πυρήνας του Π1. This is exactly the one-dimensional case of Catmull–Clark. On surfaces the same rule generalises to faces, edges and vertices of arbitrary valence — and that is what the D1 core implements.
- ΕπίπεδαLevelsL0 είναι το πλέγμα που έγραψες· L∞ είναι η οριακή καμπύλη, εκεί όπου η επανάληψη συγκλίνει.L0 is the cage you authored; L∞ is the limit curve, where the iteration converges.
- ΚόστοςCostΚάθε επίπεδο διπλασιάζει τις κορυφές σε καμπύλη και τις τετραπλασιάζει σε επιφάνεια — γι' αυτό μετράει η απευθείας αποτίμηση.Every level doubles the vertices on a curve and quadruples them on a surface — which is why direct evaluation matters.
- ΝτετερμινισμόςDeterminismΊδιες κορυφές, ίδια καμπύλη — σε αυτή τη σελίδα όπως και στον πυρήνα.Same vertices, same curve — in this page as in the core.
Τίποτα δεν είναι προϋπολογισμένο: ο κανόνας εκτελείται στον browser σε κάθε σύρσιμο.Nothing here is precomputed: the rule runs in the browser on every drag.
Σύρε τα τετράγωναDrag the squares
- ΈδρεςFaces
- 20
- Μη καν. / καν.Extraord. / reg.
- 1 / 10
Οι τρεις μέσοι όροιThe three averages
πλέγμα ελέγχουcontrol cage εκλεπτυσμένο πλέγμαrefined mesh
Οι τρεις μέσοι όροι, ζωντανάThe three averages, live
Σε επιφάνεια ο κανόνας δεν είναι δύο βάρη αλλά τρεις μέσοι όροι, κι αυτοί ακριβώς σχεδιάζονται πάνω στο πλέγμα: On a surface the rule is not two weights but three averages — and those are exactly what is drawn on the mesh:
F = (1/n) · Σ vᵢ
E = (v₁ + v₂ + F₁ + F₂) / 4
P′ = ( F̄ + 2R̄ + (n − 3)·P ) / n
Η τεκμηρίωση τα εξηγεί ένα-ένα. Εδώ τρέχουν: κάθε n-γωνο γίνεται n τετράπλευρα, οπότε μετά το πρώτο πέρασμα το πλέγμα είναι καθαρά τετραπλευρικό. The documentation explains them one by one. Here they run: every n-gon becomes n quads, so after the first pass the mesh is purely quadrilateral.
- Μη κανονικήExtraordinaryΤο κέντρο έχει βαθμό 5, όχι 4. Ανέβασε επίπεδο και δες τον μετρητή: η μη κανονική κορυφή μένει μία για πάντα, όσο κι αν πυκνώσει το πλέγμα γύρω της.The centre has valence 5, not 4. Step up a level and watch the counter: the extraordinary vertex stays at one forever, however dense the mesh around it becomes.
- Δοκίμασε n = 4Try n = 4Ο μετρητής γράφει μηδέν. Σε τετραπλευρικό πλέγμα κανονική είναι ακριβώς η κορυφή βαθμού 4, οπότε το κέντρο παύει να είναι εξαίρεση και η οριακή επιφάνεια είναι δικυβική B-spline — ο κανόνας δεν χρειάζεται καν. Γύρνα στο 5 και η μονάδα επιστρέφει. Μία κορυφή είναι όλη η διαφορά.The counter reads zero. On a quad mesh the regular valence is exactly 4, so the centre stops being an exception and the limit surface is a bicubic B-spline — the rule is not even needed. Go back to 5 and the one returns. A single vertex is the whole difference.
- ΧείλοςBoundaryΟι κορυφές του περιγράμματος δεν έχουν έδρες γύρω τους, οπότε παίρνουν τον κανόνα της καμπύλης — τον ίδιο που τρέχει το διάγραμμα από πάνω.Boundary vertices have no ring of faces, so they take the curve rule — the very one running in the diagram above.
- Γιατί 1978Why 1978Μόλις ο βαθμός φύγει από το 4, το σχήμα βγαίνει εκτός εμβέλειας της δικυβικής B-spline — και το χρειάζεσαι, γιατί ελάχιστα πραγματικά αντικείμενα είναι καθαρά καρέ. Ακριβώς αυτό λύνει η εργασία των Catmull και Clark.The moment the valence leaves 4, the shape falls outside the reach of a bicubic B-spline — and you need it to, because very few real objects are a clean grid. That is precisely what Catmull and Clark’s paper solves.
Πληκτρολόγιο: R για επαναφορά της ροζέτας.Keyboard: R to reset the rosette.
Σύρε τις κορυφέςDrag the vertices
- ΈδρεςFaces
- 384
- Μη καν. / καν.Extraord. / reg.
- 8 / 378
πλέγμα ελέγχουcontrol cage · 8 κορυφέςvertices οριακή επιφάνειαlimit surface
Οκτώ κορυφές μέσαEight vertices in
Το κόκκινο κουτί είναι όλο το αρχείο: οκτώ κορυφές και έξι τετράπλευρα. Ό,τι άλλο βλέπεις το υπολογίζει ο κανόνας — 24, 96, 384, 1.536 έδρες, χωρίς να γραφτεί ούτε μία επιπλέον κορυφή στην πηγή. The red box is the entire file: eight vertices and six quads. Everything else you see is computed by the rule — 24, 96, 384, 1,536 faces, without a single extra vertex being authored.
Η οριακή επιφάνεια κάθεται μέσα στο πλέγμα ελέγχου, και γι' αυτό δεν την κλιμακώνουμε: αυτή ακριβώς είναι η σχέση των δύο. The limit surface sits inside the control cage, and that is why it is not scaled up to fit: this is exactly the relationship between the two.
Και είναι γραφόμενο: σύρε ένα κόκκινο τετράγωνο και η επιφάνεια ξαναϋπολογίζεται στο ίδιο καρέ — αυτό κάνει ένας σχεδιαστής, μόνο που εδώ φαίνεται. Ο επιλογέας αλλάζει κλουβί (τετράεδρο, οκτάεδρο, πρίσμα): ο κανόνας μένει ένας και ο ίδιος, ακόμη και όταν οι έδρες παύουν να είναι τετράπλευρες. And it is authorable: drag a red square and the surface is recomputed in the same frame — that is what a designer does, only here you can watch it. The picker swaps the cage (tetrahedron, octahedron, prism): the rule stays one and the same, even when the faces stop being quads.
- Και οι οκτώAll eightΣε τετραπλευρικό πλέγμα κανονική είναι η κορυφή βαθμού 4. Ο κύβος έχει παντού βαθμό 3, άρα κάθε κορυφή του είναι μη κανονική — και μένουν οκτώ σε κάθε επίπεδο.On a quad mesh the regular valence is 4. Every corner of a cube has valence 3, so every one of them is extraordinary — and there are still exactly eight at every level.
- Χωρίς WebGLNo WebGLΠροοπτική, απόρριψη πίσω εδρών, ταξινόμηση κατά βάθος και σκίαση από μία πηγή, γραμμένα σε canvas 2D. Καμία βιβλιοθήκη, κανένα shader.Perspective, backface culling, depth sorting and single-source shading, written against canvas 2D. No library, no shader.
- ΣτεγανόWatertightΚάθε ακμή ανήκει σε ακριβώς δύο έδρες σε κάθε επίπεδο. Δεν επιδιορθώνεται — προκύπτει από τον κανόνα.Every edge belongs to exactly two faces at every level. It is not repaired — it falls out of the rule.
Πληκτρολόγιο: βελάκια για περιστροφή, κενό για παύση, R για επαναφορά.Keyboard: arrow keys to rotate, space to pause, R to reset.
ΈλεγχοςControl
Ημι-αιχμηρή τσάκισηSemi-sharp crease
Η οξύτητα δεν είναι διακόπτης· είναι συνεχής παράμετρος — η ιδέα των DeRose, Kass και Truong στο SIGGRAPH 1998. Σύρε τον δείκτη από το 0 στο ∞ και δες την ίδια κορυφή να περνά από τέλεια λεία σε πραγματική ακμή. Η τεκμηρίωση εξηγεί το γιατί. Sharpness is not a switch; it is a continuous parameter — the idea DeRose, Kass and Truong published at SIGGRAPH 1998. Drag the handle from 0 to ∞ and watch the same vertex go from perfectly smooth to a true edge. The documentation explains the why.
Πώς δουλεύειHow it works
Σε μια ακμή δίνεται τιμή οξύτητας s. Για τα πρώτα ⌊s⌋ επίπεδα υποδιαίρεσης εφαρμόζονται οι αιχμηροί κανόνες (η κορυφή μένει ακίνητη)· στο επόμενο επίπεδο γίνεται γραμμική ανάμειξη ανάμεσα σε αιχμηρό και λείο κανόνα με βάρος το δεκαδικό μέρος· από εκεί και πέρα ισχύουν οι κανονικοί λείοι κανόνες.
An edge is tagged with a sharpness value s. For the first ⌊s⌋ levels the sharp rules apply (the vertex stays put); at the next level the sharp and smooth rules are blended by the fractional part; beyond that the ordinary smooth rules take over.
Αποτέλεσμα: s = 0 δίνει τέλεια λεία μετάβαση, s = ∞ δίνει πραγματική ακμή, και οτιδήποτε ενδιάμεσα δίνει ελεγχόμενο fillet — χωρίς να προσθέσεις ούτε μία κορυφή στο πλέγμα.
The result: s = 0 gives a perfectly smooth transition, s = ∞ gives a true edge, and anything between gives a controlled fillet — without adding a single vertex to the cage.
Ο δείκτης δεν διαλέγει ανάμεσα σε έτοιμα σχήματα: κάθε θέση του ξανατρέχει τους κανόνες με νέο s.The handle does not pick between ready-made shapes: every position re-runs the rules with a new s.
Πού αλλού να παςWhere else to go
Το λογισμικό μαςOur software
Οι πέντε εκδόσεις του Geomiso, με μία γραμμή για την καθεμία.The five Geomiso editions, one line each.
Άνοιγμα →Open →Geomiso TNLGeomiso TNL
Ένας βραχίονας ραφιού που λύνεται σε κάθε κίνηση: βύθιση, τάση, ασφάλεια.A shelf bracket solved on every move: deflection, stress, safety factor.
Άνοιγμα →Open →Geomiso ISAGeomiso ISA
Η βάση με τρίτο άξονα, και ο τρισδιάστατος ισογεωμετρικός επιλύτης.The basis with a third axis, and the three-dimensional isogeometric solver.
Άνοιγμα →Open →