HUP0700118A2 - Method for determining a blended geometric object, for generating a geometric object on a computational system, and for generating, modifying a representation of a geometric object, as well as for modifying the representation of a surface - Google Patents
Method for determining a blended geometric object, for generating a geometric object on a computational system, and for generating, modifying a representation of a geometric object, as well as for modifying the representation of a surface Download PDFInfo
- Publication number
- HUP0700118A2 HUP0700118A2 HU0700118A HUP0700118A HUP0700118A2 HU P0700118 A2 HUP0700118 A2 HU P0700118A2 HU 0700118 A HU0700118 A HU 0700118A HU P0700118 A HUP0700118 A HU P0700118A HU P0700118 A2 HUP0700118 A2 HU P0700118A2
- Authority
- HU
- Hungary
- Prior art keywords
- geometric object
- profile
- geometric
- curve
- points
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/30—Polynomial surface description
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Architecture (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Geometry (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Description
ábra)
KÖZZÉTÉTELI
PÉLDÁNY
P 07 ο B 118
Eljárás egyesített mértani objektum meghatározására, továbbá mértani objektum számítógépes rendszeren való létrehozására, mértani objektum megjelenítésének létrehozására, módosítására, továbbá felület megjelenítésének módosítására
Találmányunk általánosságban olyan eljárásra és rendszerre vonatkozik, amelyek segítségével számítógéppel támogatott tervezés végezhető, ezen belül az ábrázolt mértani objektumok egyesítésére alkalmas hatékony számítógépes eljárásokra. Még pontosabban, a találmány tárgya egyrészt egy eljárás egy egyesített mértani objektum meghatározására, másrészt egy eljárás egy felület megjelenítésének módosítására felhasználó által, harmadrészt egy eljárás egy felület megjelenítésének módosítására egy számítógépes rendszerben, negyedrészt egy eljárás egy N-dimenziós mértani objektum megjelenítésének módosítására egy számítógépes rendszer felhasználója által, ötödrészt egy eljárás egy mértani objektum számítógépes rendszeren való létrehozására, hatodrészt egy eljárás egy mértani objektum megjelenítésének a létrehozására, és hetedrészt egy eljárás egy mértani objektum megjelenítésének a módosítására.
Egy számítógéppel támogatott tervezőmérnök rendszert (CAD) használó tervező tipikusan úgy közelíti meg egy kötetlen formájú mértani tárgy, például egy felület tervezését, hogy először is megadja a mértani tárgy azon kitüntetett és/vagy szükséges részegységeit, amelyeken a tárgy vonalainak keresztül kell haladnia. Ezt követően egy olyan műveletet indít el, amely létrehozza a megadott meghatározó részegységeknek megfelelő mértani tárgyat. Adott esetben a kérdéses részegység lehet pont, görbe, felület és/vagy több dimenziós mértani tárgy. Például egy felületet tervező tervezőmérnök megszerkeszthet és elrendezhet több olyan görbét, amelyeken a létrehozandó felületnek át kell haladnia - ezeket a görbéket leírásunkban „kitüntetett vonalnak” vagy „kitüntetett görbének” is nevezzük. A létrehozandó felülettől általában azt várjuk el, hogy olyan mértani tulajdonságokkal rendelkezzen, például differenciálhatóság, görbület, amelyek lényegében csak a felületet előállító görbék halmazára vonatkozó megkötéseknek való megfeleléshez szükséges mértékben változnak. Vagyis: a tervező azt várja el, hogy a létrehozott felület a szakma jellemző kifejezésével élve „tiszta” legyen. Ennek megfelelően a tervezőmérnök általában megszerkeszti ezeket a kitüntetett görbéket, és elhelyezi őket ott, ahol feltehetően úgy változik majd meg a létrehozandó felület mértani alakja, hogy az nem interpolálható egykönnyen a már megtervezett felület egyéb részegységeiből.
-2»
Vegyünk egy konkrétabb esetet: tartályok, például palackok tervezésekor a palack létrehozandó külső felületét indulásképpen olyan részegységekkel lehet megadni, mint (a) a palack felületének nagy görbületü részein elrendezett kitüntetett görbék, és (b) különleges mértani jellemzőkkel bíró felület részterületek - például olyan alakú vagy körvonalú felület, amelyre simán felhelyezhető egy címke. Vagyis a palack felület tervezője olyan palack tervet készít, amely megfelel a kiindulási feltételeinek, és ugyanakkor tiszta is. Előfordulhat, hogy a tervező szeretne megfogás céljára szolgáló lyukakat is előállítani, például ergonómikus palack fogantyúkat a palack felület különböző részeinek a deformálása révén, úgy, hogy a palack felülete továbbra is tiszta maradjon.
Mindeddig azonban nem létezett olyan CAD rendszer, amelyben a mértani tárgyak tervezője (vagy, általánosabban, a felhasználó) könnyen és hatékonyan kifejezhette volna tervezési szándékát úgy, hogy beviszi a feltételeket, és tiszta mértani tárgyat kap eredményül. Vagyis, előfordulhat, hogy a tervezőnek/felhasználónak meglehetősen sokáig kell várnia, tekintettel a jelentős számítási igényre, és/vagy a tervező/felhasználó olyan nem intuitív mértani tárgy definícióval és alakváltoztatási technikákkal találja szemben magát, amelyeknek a használata meglehetős tapasztalatot igényel. Például sok korábbi CAD rendszer esetében olyan technika szolgál a felületek tervezésére és/vagy alakváltoztatására, amelyben „kontroll pontokként” jelölt kitüntetett pontokat kell definiálni és/vagy manipulálni. Az ilyen módszerek azonban számítástechnikai szempontból általában drágák, nem kellően intuitívak, és legfeljebb az adott kontroll ponthoz tartozó felületi részt lehet könnyen változtatni velük. Továbbá a korábbi CAD rendszerek némelyike bizonyos egyedileg kijelölt kontroll vektorok segítségével definiálja és/vagy változtatja meg a felületeket, azaz a kérdéses vektorok irányával definiálható a nekik megfelelő felület alakja és körvonala. Csakhogy előfordulhat, hogy a tervező szándéka nem feleltethető meg egykönnyen az ilyen kontroll vektorokkal dolgozó felülettervezési technikának, mivel minden egyes vektor tipikusan csak a felület egyetlen pontjának felel meg, az annak megfelelő kontroll vektorokkal rendelkező egyéb pontoktól elszigetelten. Tehát az ilyen technikák legfeljebb csak a megfelelő kontroll vektorokkal rendelkező pontoknál elhelyezkedő felületek deformálására képesek.
Ezen túlmenően az ilyen korábbi, ismert CAD rendszerek esetében nehézségeket okozhat az egyesítési és kivágási műveletek pontos elvégzése is. Például két olyan mértani tárgy esetében, amelyeknek egy közös határvonal mentén kell érintkezniük, előfordulhat, hogy nem lehet kellő tűréssel egyesíteni őket a határvonalnál, vagyis elég nagy hézagok lehetnek
-3a mértani tárgyak között ahhoz, hogy a határvonalat ne lehessen hézagmentesnek tekinteni, ami problémát okozhat bizonyos gépi műveleteknél és más olyan műveleteknél, mint a szilárd testeken végrehajtott Boole-féle műveletek.
Ennek megfelelően kellő igény jelentkezik olyan CAD rendszer illetőleg eljárás iránt, amely egy vagy több olyan tervezési technikát tartalmaz, amelyek segítségével a CAD tervezők és felhasználók könnyebben, hatékonyabban és nagyobb pontossággal tudnak mértani tárgyakat tervezni. Célunk továbbá olyan rendszer és/vagy számítástechnikai megoldás kidolgozása mértani tárgyak grafikus megjelenítéséhez, amelyek segítségével a tervező és a felhasználó nagyobb szabadsággal és mozgástérrel rendelkezik a mértani tárgyak számítógépes definiálása és/vagy alakváltoztatása terén, és ezen belül is nagyobb fokú intuitív beleszólása van a számítógéppel tervezett mértani tárgyak alakját és körvonalát illetően.
Az alábbi részben a találmány ismertetése kapcsán használt, a 15. és 16. ábrán bemutatott alapvető fogalmakat adjuk meg.
Egy S parametrikus mértani objektum olyan mértani objektum, amely egy f függvény képe, ahol az f függvény értéktartománya egy paramétertémek nevezett koordinátarendszerbe ágyazott mértani alakzat, és az f értékkészlete egy objektumtémek nevezett másik mértani tér. Az S parametrikus mértani objektum f1 inverze vagy előképe tipikusan egy mértanilag egyszerűbb alakzat lesz, mint az objektumtérben megjelenő képe. Például egy 170 görbe objektumtérbeli előképe a paramétertérben 172 vonalszegmens lehet. Ennek megfelelően, ha az S parametrikus mértani objektum az objektumtérben található görbét jelöli, akkor jelölésileg az f függvényt és az S parametrikus mértani objektumot olyanként azonosítjuk, mint ueL, és az S parametrikus mértani objektum görbe megfelelő pontját S(u) jelöli. Hasonlóképpen egy a 16. ábrán bemutatott objektumtérbeli hullámzó 204 felület előképe egy paramétertérbeli egyszerű határolt 180 sík lehet. Ha tehát az S parametrikus mértani objektum a hullámzó 204 felületet jelöli, akkor (u^jef^S), S(u,v) a hullámzó 204 felület egy ennek megfelelő pontját jelöli.
200 profil (lásd a 16. ábrán) egy mértani objektum, például egy görbe az objektumtérben, amelyen keresztül a hozzá tartozó objektumtérbeli mértanilag modellezett tárgynak, például a 204 felületnek át kell haladnia. Vagyis az ilyen 200 profilokat a mértanilag modellezett objektumok létrehozására használjuk. A 200 profilok tehát szokványos és természetes módot adnak a művészeknek és tervezőknek tárgyak mértani megtervezésére, abban az értelemben, hogy a tervező a tervezés alatt álló felület (mértani objektum) jellegzetes alakjá
-4nak definiálásakor kitüntetett- vagy profilgörbékben gondolkodhat. Egy adott felületen elhelyezkedő profilgörbék például lényegében a származtatott mértani objektum geometriáját, például folytonosságát, görbületét, alakját, határait, gyűrődéseit stb. definiálhatják. Megjegyezzük, hogy számos tervezési alkalmazás esetében a 200 profilok tipikusan folytonosak és differenciálhatóak. Az ilyen megkötések azonban nem szükségesek. Például egy 200 profil, azon kívül, hogy megadja a rajta áthaladó mértani objektum általános alakját vagy trendjét, megadhatja a mértani objektum felületi textúráját is. így ha a 200 profil fraktál vagy fraktálszerü, a fraktál körvonal bizonyos fokig átöröklődik a 200 profillal szomszédos származtatott mértani objektum felületére. Továbbá Megjegyezzük, hogy a jelen találmányi gondolaton belül használhatóak olyan 200 profilok is, amelyek több dimenziósak (^). vagyis a 200 profil lehet felület vagy test is. Ennek megfelelően, ha a 200 profil felület, ebből származtatható egy olyan test, amelyből helyben (vagyis a 200 profillal szomszédos helyen) származtatható a 200 profil mértani jellemzőinek legalább egy része.
Továbbá, a 200 profiloknak (és/vagy ezek szegmenseinek) különböző számítógépes ábrázolásai lehetnek, úgymint lineáris (például hipersíkok), elliptikus, NURBS vagy Bezier. Megjegyezzük azonban, hogy a számítógépes ábrázolástól függetlenül előnyösebb az egyes 200 profilok deformálására vagy átalakítására szolgáló eljárás (mint például az interpolálás). Ezen belül előnyösebb lehet, ha a kérdéses eljárás olyan 200 profilt eredményez, amely megfelel bizonyos mértani követelményeknek, így például áthalad (vagy lényegében áthalad) egy vagy több előre megadott ponton, folytonos, differenciálható, minimális görbülettel rendelkezik, stb. Továbbá Megjegyezzük, hogy egy ilyen alakváltoztatási eljárással a 200 profilt alprofilokra bonthatjuk le, ahol az alprofilok közötti közös határ (például egy pont) az eredeti 200 profil mentén eltolható.
208 marker (lásd a 16. ábrán) olyan pont a 200 profilon, amely elmozdítható a 200 profil alakjának a megváltoztatása céljából a 208 marker körülötti tartományban. A 208 marker továbbá olyan pozíciót is jelöl a 200 profilon, ahol az ezen elhelyezkedő profilú mértani objektum alakja meg változtatható.
212 profilfogó (lásd aló. ábrán) a 200 profil érintőjét képező mértani objektum. Az ilyen 212 profilfogó lokálisan szabályozhatja a 200 profil alakját, úgy, hogy módosítja a 200 profil meredekségét (deriváltját) a 208 markemél. Vagylagosan, nem differenciálható 200 profilok esetén a profilfogó használható a 200 profil általános alakjának a szabályozására, úgy, hogy megadja a neki megfelelő profilvonulat irányát és nagyságát. Ha például a 200 profil fraktál, vagy egyéb nem differenciálható objektum, akkor a 212 profilfogó megad
- 5 hatja például az objektumtérben azt a tartományt, amelyre a 200 profilnak 212 korlátozódnia kell. A tartomány lehet például egy cső alakzat, úgy, hogy a 200 profilnak a cső alakzat belsejében kell elhelyezkednie. Megjegyezzük, hogy a 212 profilfogó befolyásolja a 200 profil teltségét, például a 200 profilon található 208 markerek közötti egyenes vonaltól eltérő görbület mértékét, ha változtatunk a 212 profilfogó hosszán.
220 izoklin határvonal egy 216 izoklin szalagon a 200 profillal szemben elhelyezkedő határoló görbe. Egy lehetséges foganatosítási mód esetében a 200 profil minden egyes pontját össze párosítjuk a 220 izoklin határvonal megfelelő pontjával, úgy, hogy egy ilyen pontpár egy olyan 224 vektort határoz meg és amelyet, jelzőkarónak” nevezünk, amely tipikusan keresztirányban helyezkedik el a 200 profilon levő pont egy tangensvektorához képest. Ezen belül egy parametrikus profil esetében a 220 izoklin határvonal úgy tekinthető, mint a 200 profil minden egyes lehetséges paraméter értékénél elhelyezkedő jelzőkarók összessége.
A 216 izoklin szalag vagy röviden izoklin olyan mértani objektum, mint például az a felület, amely a mértani objektum, például 204 felület meredekségét határozza meg a 200 profilnál. Ezzel ekvivalens módon a 216 izoklin szalag tekinthető a 200 profil által határolt mértani objektum, a későbbiekben tárgyalandó 218a és 218b izoklin fogók és a 220 izoklin határvonal megjelenítésének. Más szóval, a mértani objektumnak szorosan követnie kell a 216 izoklin szalagot a 200 profil mentén. Megint másként fogalmazva, egy lehetséges foganatosítási mód esetében a mértani objektumnak folytonosnak kell lennie a 216 izoklin szalagnál, és ezen kívül folytonosan differenciálhatónak kell lennie a 200 profilon keresztül is. Egy alternatív foganatosítási mód esetében a mértani objektumot a 216 izoklin szalag korlátozhatja úgy, hogy a mértani objektum egy bizonyos mértani tartományon belül helyezkedjen el, hasonlóan ahhoz, ahogyan azt fentebb a 200 profil kifejezés ismertetése kapcsán tárgyaltuk. Megjegyezzük, hogy minden egyes 200 profilhoz két 216 izoklin szalag tartozhat. Ezen belül egy olyan 200 profil esetében, amely két érintkező felület, például két érintkező 204 felület határvonalát képezi, a 200 profil mentén a két 204 felület mindegyikének lehet 216 izoklin szalagja. Ebben az esetben jobboldali és baloldali 216 izoklin szalagról beszélhetünk.
228 izoklin fogó olyan mértani objektum, például vektor, amellyel szabályozható a 216 izoklin szalag alakja a 208 markemél, úgy, hogy a 208 markemél levő 212 profilfogó és a 228 izoklin fogó megadhat egy érintősíkot a 204 felülethez képest. A 228 izoklin fogót tehát arra használjuk, hogy meghatározzuk a 204 felület vagy egyéb mögöttes mértani ob
- 6 jektum meredekségét a 208 markemél. Pontosabban: a 228 izoklin fogó a felhasználó által manipulálható jelzőkaró, a 224 vektor. Ha a 208 markemél például két vagy több érintkező 204 felület esetében minden 212 profílfogó és 228 izoklin fogó egy síkba esik, akkor a 204 felület sima lesz a 208 markemél, feltéve, hogy a 204 felület folytonosan differenciálható, ellenkező esetben a 204 felületen ránc vagy beszűkülés képződik. Megjegyezzük, hogy ha valamelyik fogót (akár a 228 izoklin fogót, akár a 212 profilfogót) kihúzzuk a többi fogó síkjából a 208 markemél, szándékosan ráncot hozhatunk létre a 204 síkon a 200 profil mentén.
A 200 profil két 208 marker között elhelyezkedő részét 232 profílszegmensnek nevezzük. Hasonlóképpen a 216 izoklin szalag két 228 izoklin fogó között elhelyezkedő részét 240 szalagszakasznak nevezzük.
244 határvonal szegmens a 220 határvonal két 228 izoklin fogó közötti részét jelenti.
Azt a 246 vektort, amely a 220 izoklin határvonal érintőleges deriváltja egy 228 izoklin fogónál, „szalag tangensnek” nevezzük. Megjegyezzük, hogy a jelen találmány a szalag tangensek módosításait is fel tudja használni egy olyan mögöttes mértani objektum alakjának a szabályozására és/vagy módosítására, mint amilyen a 204 felület.
A 228 izoklin fogók általánosíthatók úgy, hogy megadják a 204 felületet görbületét is. Vagyis a 228 izoklin fogóknál levő egyenes vektorok helyett görbe 228 izoklin fogók is lehetségesek, amelyeket 248 izoklin bordáknak nevezünk. Az ilyen 248 izoklin bordák megkönnyítik a görbületi folytonosság megőrzését olyan 204 felületek esetén is, amelyeknek a megfelelő 216 izoklin szalagjai egy közös profil határvonal mentén helyezkednek el, úgy, hogy a 216 izoklin szalagok 248 izoklin bordákból állnak. Ily módon a kérdéses 204 felületek görbülete megfelel megfelelő 248 izoklin bordájuk görbületének, nagyjából úgy, ahogy az érintőlegességük is azonos.
Síkba kiteríthető felület az olyan felület, amely elvben szakadás vagy ráncolás nélkül kiteríthető a síkba. A síkba kiteríthető felület esetében a vonalazott felület egy speciális esetéről van szó, amely utóbbi felület úgy definiálható, hogy bármely pontjára ráfektethető egy vonalzó (azaz egy egyenes él) és található olyan irány, hogy a vonalzó teljes hosszában hozzáérjen a felülethez. A síkba kiteríthető felület normálvektorai mind egyenlők a vonalazás mentén.
A címkefelületek olyan kétdimenziós, azaz síkba vagy majdnem síkba kiteríthető felületek, amelyeken címkét lehet elhelyezni például egy tartályon. A címkefelületen szakadás és
-7 ráncolódás nélkül el lehet helyezni egy matricát. Ezek a felületek igen korlátozottak, és tipikus esetben nem változtatja meg az alakjukat egy 216 izoklin szalag mértani módosítása.
A vágási profil olyan mértani objektum (görbe), amely egy másik mértani objektum (például felület) levágására szolgáló profil. Előfordulhat, hogy a vágási profilnak csak egy 216 izoklin szalag felel meg, hiszen ha a levágandó felület címkefelület, akkor azt nem módosítjuk, és ennek megfelelően nem használható 216 izoklin szalag az alakja megváltoztatására.
A vágási profil (görbe) felhasználható bármely felület - nem csak a címkefelület - határolására. Azt a felületet, amelyet egy vágási profil mentén egyesítünk egy vagy több másik felülettel, „túlkonstruált felületnek” nevezzük akkor, ha kilóg a vágási profilon kívülre. A 12. ábra 130 felülete például túlkonstruált felület, és a tervező általában nem is látja a felületnek a 134 tartományon kívüli részét annak a levágását követően.
Az Fi változók konvex kombinációja a összeg, ahol a Ci skaláris együtthatók és a / skalárisokkal való szorzás jól definiált Fj változókra (például az F, változók például vektorok, függvények vagy differenciál operátorok), és ahol a q > 0 és ^c, = 1 · Ha az Fi váltói zók például térbeli pontok, akkor az összes lehetséges ilyen kombináció halmaza adja ezen pontok konvex héját, amint az szakember számára ismerős.
Az előreható értékelés olyan mértani objektum értékelési technika, amelynek során azért, hogy egy f(x) függvényből mintául szolgáló értékek egy halmazát állítsuk elő, egyre növeljük az x változó értékeit, majd kiértékeljük az f függvényt. Ez a fajta értékelés általában gyors és hatékony, viszont nem ad meg függvényértékeket a növekmények közötti tetszőleges pozíciókra.
Implicit függvény az, amely f(x) = 0 alakban írható fel, XeRN. Azt a konverziót, amelyet egy parametrikus görbe vagy felület implicit alakra hozásakor használunk, implicitálásnak nevezzük. Következésképpen az f(t) = (sin(z), cos(t)) függvény parametrikus alakban f(x, y) = x2 + y2 -1 = 0 függvényként implicitálható. Mindkét függvény egy kört ír le.
A vektor elosztása a saját hosszával „normalizálja” azt. A normált vektor (egységvektor) egységnyi hosszú. Egy vektorfüggvény osztható a gradiensével, amely közelít az egységnyi hosszhoz, amint az szakember számára ismerős.
-8Ha van egy (/)7^(77)-ként definiált függvényünk, ahol p,(t) súlyfüggvények, ha i
ΣPi(O = 1 a t minden értékére, akkor a p.-k úgynevezett „egységosztást” képeznek. i
GI folytonosság itt olyan mértani folytonossági feltételt jelent, ahol egy parametrikusán definiált mértani objektumon található folytonos parametrikus út mentén az irány vektorok folytonosak, például nem vesszük figyelembe a tangensvektor nagyságokat.
A kitűzött feladatot egyrészt egy egyesített mértani objektum meghatározására vonatkozó eljárással oldottuk meg, amelynek során a találmány értelmében
- Sí parametrikus mértani objektumok mindegyike vonatkozásában, ahol i = Ι,.,.Ν, és N > 2 egy PS parametrikus térből a parametrikus Sí mértani objektumokat tartalmazó közös GS mértani térbe egy / olyan leképezést hajtunk végre, amellyel kapcsolatosan fennállnak az alábbi feltételek:
- a parametrikus S, mértani objektumok közül legalább egy parametrikus S. mértani objektum dimenziószáma nagyobb vagy egyenlő kettőnél; és
- minden egyes parametrikus Sí mértani objektum vonatkozásában a parametrikus S, mértani objektumnak van olyan P, része, ahol a fs leképezés //'(Τ’) pontokban folytonos; továbbá
- a PS parametrikus tér q pontjai sokaságának mindegyikében kiszámítunk egy S függvényt a közös GS mértani térben egy-egy megfelelő S(q) pont megkapásához, amelylyel kapcsolatosan fennállnak az alábbi feltételek:
- egy megfelelő S(q) pont függ / (q) leképezéstől, és legalább egy / (á) leképezés vonatkozásában j Φ i0, továbbá S(f~l)) c Τζ, £(//'(Sj)) c T3 ;
- a parametrikus S mértani objektum folytonos ///(Τ’θ) és /“'(/) pontokban; valamint
- a megfelelő S(q) pontokat egy S,o és S} között egyesült mértani objektum megjelenítéseként kijelezzük.
A javasolt eljárás egy előnyös foganatosítási módja értelmében (a) minden egyes végrehajtott leképezés egy S, mértani objektum paraméterezéséhez szükséges parametrikus fs leképezés;
(b) minden egyes Sí mértani objektum egy felület;
(c) minden egyes P, rész az Sí mértani objektumhoz való görbe; és (d) a S(q) pontokat az S függvény által definiált felület tartalmazza, úgy, hogy a Pj részek a felület kerületén helyezkednek el.
Előnyös továbbá a javasolt eljárás olyan foganatosítási módja, amelynek során minden egyes Pj részt több pont segítségével interpolálunk.
Előnyös továbbá a javaslat értelmében, ha a PS parametrikus tér pontjait előre meghatározott tartományú, előre megadott számú koordináta halmazként jelenítjük meg.
Előnyös továbbá a javasolt eljárás olyan foganatosítási módja, amelynek során az S függvény kiszámítása során a megfelelő S(q) pontot legalább a fs (q) és fsj(q) pontok súlyozott összegeként határozzuk meg.
Előnyös továbbá a javaslat értelmében, ha az S függvény kiszámítása során legalább néhány S(q) pont vonatkozásában a súlyozott összeg egy vagy több súlyát meghatározzuk, ahol minden egyes w súllyal az Sí mértani objektumok egyikének egy pontját méretezzük.
A kitűzött feladatot ezen túlmenően egy felület megjelenítésének felhasználó általi módosítására vonatkozó eljárással oldottuk meg, amelynek során a találmány értelmében egy megközelítőlegesen egy első görbét tartalmazó első felületet grafikusan megjelenítünk; majd egy olyan második görbét jelenítünk meg grafikusan, amelynek pontjai az első görbe minden egyes pontjánál vagy megközelítőleg minden egyes pontjánál az első felület érintőit jelzik; és az első felület körvonalának megváltoztatásához a második görbe egy részének helyzetét az első görbéhez képest módosítjuk.
A javasolt eljárás egy előnyös foganatosítási módja értelmében az első görbe minden egyes pontja egy előre meghatározott távolságon belül helyezkedik el az első felülettől.
Előnyös továbbá a javasolt eljárás olyan foganatosítási módja, amelynek során az előre meghatározott távolság a ΙΟ'3- 10'6 tartományba esik.
Előnyös továbbá a javaslat értelmében, ha az első görbe az első felület legalább két pontjából interpolált profilgörbe.
- 10Előnyös továbbá a javasolt eljárás olyan foganatosítás! módja, amelynek során legalább az első felület és a második felület egyike pontjainak a meghatározására egy felület első és második görbe közötti pontjait használjuk.
Előnyös továbbá a javaslat értelmében, ha az első görbe pontjait az első felület pontjainak felületi érintőiből interpolálással határozzuk meg.
Előnyös továbbá a javasolt eljárás olyan foganatosítási módja, amelynek során a módosítás során az első felület egy érintőjét reprezentáló vektor irányát vagy nagyságát változtatjuk.
A kitűzött feladatot ezen túlmenően egy számítógépes rendszerben egy felület megjelenítésének módosítására vonatkozó eljárással oldottuk meg, amelynek során egy rajta lévő első és második görbével rendelkező meghatározott felületet grafikusan megjelenítünk; a számítógépes rendszer felhasználója révén a meghatározott felületet deformáló felhasználói interfész módszert működésbe hozva az alábbi lépéseket végrehajtjuk. A találmány értelmében egy első mértani objektum megjelenítésen pontokat határozunk meg, ahol az első mértani objektum megjelenítés az első görbe számítógépes rendszerrel megjeleníthető pontjainak többségében a meghatározott felület kívánt körvonalának kiértékelése során használt első adatokat jelenti; majd egy második mértani objektum megjelenítésen pontokat határozunk meg, ahol a második mértani objektum megjelenítés a második görbe számítógépes rendszerrel megjeleníthető pontjainak többségében a meghatározott felület kívánt körvonalának kiértékelése során használt második adatokat jelenti; majd a meghatározott felület olyan módosított változatát létrehozzuk, amely az eredeti meghatározott felületről hiányzó számos olyan új pontot tartalmaz, amelyeket az első mértani objektum megjelenítéséből nyert legalább egy pont, és a második mértani objektum megjelenítéséből nyert legalább egy pont függvényeként határozunk meg; és a módosított változatot grafikusan megjelenítjük.
A javasolt eljárás egy előnyös foganatosítási módja értelmében az első mértani objektum és második mértani objektum megjelenítés legalább egyikénél egy felületet jelenítünk meg.
Előnyös továbbá a javasolt eljárás olyan foganatosítási módja, amelynek során a módosí- 11 tott változat létrehozása során a legalább egy új ponthoz az első mértani objektum és a második mértani objektum megjelenítés mindegyikén legalább egy-egy pont súlyozott összegét kiszámítjuk.
Előnyös továbbá a javaslat értelmében, ha a kiszámítás során az új pontok közül egyre vagy közülük többre vonatkozóan egyenként a súlyozott összeg egy vagy több megfelelő súlyát megállapítjuk, ahol minden egyes w súllyal az első mértani objektum és a második mértani objektum megjelenítés egyikének megfelelő pw pontját méretezzük.
Előnyös továbbá a javasolt eljárás olyan foganatosítási módja, amelynek során a megállapítás során új pontok Q készletének minden egyes q pontjára, valamint minden egyes új q ponthoz tartozó súlyok közül legalább egy wq súlyra egy olyan (Dw^) távmértéket állapítunk meg, amely függ (a) az új q pont előképi paraméterezésétől, és (b) egy, az említett mindkét módosított változaton rajta levő sq pont előkép paraméterezésétől, valamint a wq súlyhoz kapcsolódó (Z> ) pontot tartalmazó mértani objektum megjelenítéstől.
Előnyös továbbá a javaslat értelmében, ha az új pontok Q készletének q1( q2 pontjaira vonatkozóan, ha az egyik qipont előkép paraméterezése közelebb van (S) előkép paraméterezéséhez, mint a másik q2pont előkép (S^) paraméterezése előkép paraméterezéséhez, akkor Dw <DW . ’1 ’2
A kitűzött feladatot ezen túlmenően egy N-dimenziós mértani objektum megjelenítésének egy számítógépes rendszer felhasználója általi módosítására vonatkozó eljárással oldottuk meg, amelynek során a találmány értelmében
- a számítógépes rendszerben egy, egy beágyazott kevesebb dimenziós második mértani objektumot tartalmazó N dimenziós első mértani objektumot grafikusan megjelenítünk;
- pontjaival egy, az első mértani objektum második mértani objektumnál levő egy vagy több méretének a változási ütemét jelző harmadik mértani objektumot grafikusan megjelenítünk; és
- a második mértani objektumhoz képest a harmadik mértani objektum egy vagy több mértani jellemzőjét az első mértani objektum legalább egy mértani jellemzőjét érintő
- 12módon megváltoztatjuk.
A javasolt eljárás egy előnyös foganatosítás! módja értelmében az első, második és harmadik mértani objektum mindegyike vonatkozásában a mértani objektumok dimenziója egyenlő a mértani objektum összes pontjának a megjelenítéséhez szükséges lineárisan független vektorok legkisebb számával.
Előnyös továbbá a javasolt eljárás olyan foganatosítási módja, amelynek során az első és harmadik mértani objektumok legalább egy mértani jellemzője tartalmaz legalább egyet magában foglal a tangens-irány, a tangensvektor-nagyság és a görbület-mérték közül.
A kitűzött feladatot ezen túlmenően egy mértani objektum számítógépes rendszeren való létrehozására vonatkozó eljárással oldottuk meg, amelynek során a találmány értelmében
- egy görbét megjelenítünk;
- a görbén levő mindegyik pont vonatkozásában egy első felület alakját az adott pontban jelző adatokat kinyerünk;
- a görbét tartalmazó első felület megjelenítését meghatározzuk; valamint
- egy olyan körvonallal rendelkező második felületet jelenítünk meg, amely az említett első felület pontjainak a függvénye.
A javasolt eljárás egy előnyös foganatosítási módja értelmében az első felület egy izoklin szalagot tartalmaz a második felülethez, és a görbe az említett izoklin szalag egy profilja.
Előnyös továbbá a javasolt eljárás olyan foganatosítási módja, amelynek során az első és a második felületnek az említett görbe a határvonala, és az első és második felületnek azonos érintősíkjai vannak az említett görbe minden egyes pontjánál.
Előnyös továbbá a javaslat értelmében, ha a meghatározás során az első felületet mint síkba kiteríthető felületet vagy mint címkefelületet adjuk meg.
Előnyös továbbá a javasolt eljárás olyan foganatosítási módja, amelynek során a létrehozás során a második felületet az első felület és legalább egy további felület közötti egyesített felületként határozzuk meg, ahol a második felületen lényegében minden egyes pont az első felület és a további felület egy-egy pontjának a függvénye.
A kitűzött feladatot ezen túlmenően egy mértani objektum megjelenítésének a létrehozására vonatkozó eljárással oldottuk meg, amelynek során a találmány értelmében
- egy első felületet állítunk elő, amelynek egy része síkba kiteríthető felület;
- a síkba kiteríthető felülethez egy, az első felület zárt görbéjének a belsejét azonosító zárt görbe-határvonalat szerkesztünk;
- az első felületet megközelítőleg az említett határvonalnál grafikusan lényegében csak az első felület említett belső részét megjelenítő módon levágjuk; és
- az említett belső résszel grafikusan egy lényegében az említett belső részt lefedő címkét egyesítünk.
A javasolt eljárás egy előnyös foganatosítási módja értelmében az első felületet előállítása során az első felületet vonalazott felületként azonosítjuk.
Előnyös továbbá a javasolt eljárás olyan foganatosítási módja, amelynek során a határvonal szerkesztése során a határvonalat egy olyan egyesített felület származtatására felhasználható megfelelő izoklin szalaggal rendelkező profilgörbeként hozzuk létre, ahol a határvonal az említett egyesített felület határvonala
Előnyös továbbá a javaslat értelmében, ha az egyesített felület pontjait az izoklin szalag és legalább egy másik felület pontjainak a súlyozott összegéből származtatjuk.
A kitűzött feladatot ezen túlmenően egy mértani objektum megjelenítésének a módosítására vonatkozó eljárással oldottuk meg, amelynek során a találmány értelmében
- egy két vagy több dimenziójú első mértani objektumot megjelenítünk;
- legalább egy további mértani objektumot megjelenítünk úgy, hogy a megjelenítések közül legalább egynek az alakja és pozíciója az első mértani objektum megjelenítés alakját jelzi, továbbá, hogy a megjelenített további mértani objektumok közül legalább egy legalább egydimenziós; majd egyidejűleg elvégezzük az alábbi lépéseket:
- az említett további mértani objektum megjelenítések közül egynek vagy többnek az alakját vagy pozícióját megváltoztatjuk;
- az első mértani objektum megjelenítést a további mértani objektum megjelenítéseken eszközölt változásokat jelző módosításokkal újból megjelenítjük.
A javasolt eljárás egy előnyös foganatosítási módja értelmében a további; mértani objektum megjelenítések olyan grafikai megjelenítéseket tartalmaznak, amelyeket számítógépes grafikai kimeneti eszközön megjelenítve úgy mutatunk be, mint amelyek össze vannak kapcsolva az első mértani objektum megjelenítésével.
- 14Előnyös továbbá a javasolt eljárás olyan foganatosítás! módja, amelynek során a további mértani objektum megjelenítések legalább egy, felhasználó által megválasztható pontot, vektort, görbét és felületet tartalmaznak.
Előnyös továbbá a javaslat értelmében, ha a változtatás során a felhasználó által a további mértani objektum megjelenítésének megváltoztatására irányuló, lényegében folytonos idejű változtatási kérelmet viszünk be, amelynek során legalább egy korábban bevitt változtatási kérelem vonatkozásában az újbóli megjelenítéssel egyidejűleg az első mértani objektum megjelenítés módosításainak megfelelően grafikus megjelenítési al-lépést végzünk el.
Előnyös továbbá a javasolt eljárás olyan foganatosítási módja, amelynek során legalább a megjelenítési és újbóli megjelenítési lépések egyikében az első mértani objektum megjelenítést a további mértani objektum megjelenítések legalább egyikeként határozzuk meg.
Előnyös továbbá a javaslat értelmében, ha a meghatározás során kiszámítjuk a további mértani objektum megjelenítésének felhasználásával megkapott P pontok súlyozott összegét, hogy megkapjuk az első mértani objektum megjelenítés q pontját.
Előnyös továbbá a javasolt eljárás olyan foganatosítási módja, amelynek során a súlyozott összeg egy megfelelő egyesítő függvény felhasználásával kapott súlyokat tartalmaz, és minden egyes egyesítő függvény, amelynek tartománya O-tól 1-ig húzódik, annak a súlynak a meghatározására alkalmazott q pontnak a parametrikus előképétől függ, amelynek az egyesítő függvény megfelel.
Előnyös továbbá a javaslat értelmében, ha a mértani objektum megjelenítéseket és a további mértani objektum megjelenítéseket három dimenziós koordináta rendszerben jelenítjük meg.
Jelen találmányunk tehát olyan számítógépes mértani tervező rendszer, amely elég hatékony számítások elvégzésére képes ahhoz, hogy lehetővé tegye objektumok, például felületek valós idejű deformálását, miközben a felhasználó megadja az objektumot módosító kiindulási adatokat. Találmányunk tehát paradigmaváltást jelent a tipikus CAD rendszerekhez képest, hiszen egy tipikus CAD rendszerben a felhasználónak előbb meg kell adnia a mértani objektum megváltoztatásához vagy módosításához szükséges kiindulási adatokat, majd ezt követően kell kifejezetten kérnie az adatok feldolgozásának a megkezdését. A korábbi ismert CAD rendszereknél tehát a felhasználó különálló, általa kért időpontokban kap csak visszajelzést a tervéről. Találmányunk esetében viszont a frissítések a kiindulási
-15adatok beérkezésekor azonnal, valós időben feldolgozhatok anélkül, hogy a felhasználónak kifejezetten jeleznie kellene, hogy frissítő feldolgozást kell elvégezni.
Tekintettel a találmány javított számítógépi hatékonyságára, a felhasználó hatékonyabb iteratív közelítést végezhet a tervezése alatt álló mértani objektumra vonatkozóan. Gyorsan tervezhet, anélkül, hogy pontosan ki kellene számítania az objektum azon részeinek a tervezési mértani tulajdonságait, amelyeknél esetleg nincs szükség ilyen fokú pontosságra. Vagyis a felhasználónak kevésbé kell törődnie azzal, hogy „elsőre tökéleteset alkosson”, hiszen hála a könnyű módosíthatóságnak és a módosítások gyors kiszámíthatóságának, gyorsabban elkészítheti egy mértani objektum approximációját és/vagy prototípusát. A találmány tehát lényeges hatékonyságbeli előnyöket jelenthet abban az értelemben, hogy számos mértanilag megtervezett tárgy esetében (beleértve a géppel megmunkált részeket is) a kérdéses tárgyak jelentős részei kielégítően megtervezhetőek általánosabb körű mértani jellemzőkkel.
A találmány szerinti CAD rendszer új tervezési technikákat tesz lehetővé azáltal, hogy új számítógépes technikát biztosít két olyan parametrikus mértani objektum egyesítésére, mint amilyenek például a felületek. A találmány szerinti eljárás egy lehetséges megvalósítása esetében az új egyesítési módszerrel két felületet - Si(u,v) felületet és S2(u,v) felületet - egyesítünk úgy, hogy mindkét felület paramétertere például az egységnégyzet. Feltéve, hogy az Sí és S2 felületek mindegyikének megvan a maga Bi(u,v) illetve B2(u.v) egyesítő függvénye, úgy, hogy minden egyes egyesítő függvény u és v értéktartománya például (0,1) (azon kívül, hogy egyéb, az alábbiakban megadott tulajdonságokkal is rendelkeznek), akkor az új S felület az alábbi összefüggéssel definiálható:
S(u, v) = Si(u,v)· B{ (μ, v) + S2(u, v) · B2 (μ, v) (1)
Megjegyezzük, hogy a Bi és B2 egyesítő függvény tipikusan úgy van megválasztva, hogy az eredményül kapott egyesített S felület azonos legyen S] felülettel az Sí felülettel közös határvonalon és S2 felülettel az S2 felülettel közös határvonalon. Ezt úgy érjük el, hogy a B] egyesítő függvényt és a B2 egyesítő függvényt úgy adjuk meg, hogy Bi = 1 és B2 = 0 az Sí felülettel közös határvonalon, és B2 = 1 és B! = 0 az S2 felülettel közös határvonalon.
Egy általánosabb megvalósítás esetében a jelen találmány felhasználható több, SÍ5 i = Ι,.,.,Ν mértani objektum egyesítésére is, úgy, hogy minden egyes mértani objektumot az a megfelelő fs. függvény parametrizál, amelynek a tartománya tartalmazza az összes fs közös 1 i
PS paraméterterét, vagyis az eredményül kapott egyesített S felület esetében annak lénye
- 16gében minden egyes S(q) pontját, ahol q a PS paramétertérben az fs. (q) pontokból nyert pontok súlyozott összegeként van meghatározva. Továbbá, mivel az egyesített S felületet minden egyes S, felület egy Pj határvonal részével kívánatos összekötni, amikor az S felületet a PS paramétertérből a mértani objektumokat tartalmazó közös GS mértani térbe vivő függvényként interpretáljuk, akkor $(/-'(%)) e Τ’. Továbbá, az S felület folytonos is lehet minden egyes fg1 (Τ’) -nél.
Megjegyezzük, hogy a fenti (1) összefüggés reprezentatív az egyesített S felület (általánosabban: mértani objektum) létrehozására szolgáló különböző képletekre vonatkozóan; ilyen képletek egyéb megvalósítási formáit közli majd a lenti részletes ismertetés. Továbbá Megjegyezzük, hogy az ilyen képletek általánosíthatóak úgy, hogy a fenti (1) összefüggés (u,v) paramétertér-koordinátái más paramétertér-koordinátákkal helyettesíthetők, így paramétertér-koordináta hármasokkal (u,v,w), vagy egyszerűen csak egy egyedülálló u paramétertér-koordinátával. Továbbá a Bi és B2 egyesítő függvények is definiálhatók ilyen egyéb PS paraméterterekre is. Továbbá érdemes megjegyezni, hogy minden egyes ilyen Bj és B2 egyesítő függvény tekinthető az Sí és S2 felületekről (általánosabban: mértani objektumokból) kiválasztott pontok súlyozott összegéből képzett súlynak. Továbbá ez a súlyozott összeg fogalom is kiterjeszthető többféleképpen is. Például arra az általánosabb megvalósításra utalva, ahol több Sj, i = Ι,.,.,Ν mértani objektum van megadva, a megfelelő B] egyesítő függvény megadható az i minden egyes értékére, miáltal az (1) összefüggés következő változatát kapjuk az Sj felületek közös PS paraméterterében levő q pontokra:
= (2) /=1
Ugyancsak jelen találmányi gondolat körébe tartozik olyan egyesített mértani objektumok létrehozása is, ahol az S felület létrehozására használt Sí felület mértani objektumok közül legalább némelyek kettőnél több dimenziójúak. Ha például az Sí és S2 felületek parametrikus szilárd testek, akkor az S felület előállítható az Sí felületből és S2 felületből egyesítéssel képezett testként az (1) összefüggés egy másik változatának a felhasználásával, amint ez a szakterület ismerői számára érthető. Az S felület tehát Sí és S2 felületek között húzódhat, úgy, hogy az St felület egy Pi felülete és az S2 felület egy P2 felülete egyben az S felület határvonalait is alkotják, és az S felület az (1) összefüggéshez hasonlóan az Sj felület és az S2 felület pontjainak a súlyozott összegeként jelenik meg.
- 17Találmányunk egy másik aspektusában az (1) összefüggésben, vagy annak az alábbiakban közölt (2), (4), (5), (5.02), (5.03), stb. összefüggés változataiban szereplő S, parametrikus mértani objektumok közül egynek vagy többnek lehet Bezier, NURBS vagy valamilyen más többváltozós parametrikus számítógépes megjelenítése a jelen leírásban személtetésképpen használt 216 izoklin szalagok helyett. Továbbá a szakma ismerői számára szintén érthető módon a jelen találmány hatókörébe belefér az is, hogy eltérő számítógépes megjelenítés esetén az Sj felületeket definiáló mögöttes mértani objektumok (ha például az Sj felületek 216 izoklin szalagok, akkor ezt a mögöttes geometriát jelenthetik 208 markerek, 200 profilok, 228 izoklin fogók és 212 profilfogók) mások legyenek. Például egy Sj felület Bezier vagy NURBS ábrázolása esetén a kontroll pontok és/vagy az ezekből származtatott mértani egységek használhatóak az Sj felület alakjának a megváltoztatására és ezáltal a belőle származtatott mértani objektum alakjának a megváltoztatására is.
A jelen találmány egy további aspektusa szerint, ha az egyesített S felületet egy vagy több Si,...,SN, N > 2 216 izoklin szalagból hozzuk létre, az S felület deformálható az Sj 216 izoklin szalagok mértani tulajdonságainak a megváltoztatásával. Konkrétabban, ha bizonyos Sí felületekre megváltoztatjuk a 216 izoklin szalag egyik határvonalának az alakját, megváltoznak az S(u,v) pontok is, és ennek megfelelően megváltozik az egyesített S felület is, mivel az a kérdéses pontok súlyozott összege. Ezen belül az S felület mértani tulajdonságaiban (így például görbületében, tangensvektoraiban és/vagy érintősíkjaiban) beálló változás mértéke meghatározható az Sj felületet jelentő 216 izoklin szalagok alakjával. Még konkrétabban: lényegében lineáris parametrizálást tételezve fel minden egyes izoklin jelzőkaró mentén, minél nagyobb az ilyen jelzőkarók relatív nagysága egy bizonyos 216 izoklin szalag esetében, annál jobban kitér az S felület alakja ezen jelzőkarók irányába/irányaiba. Továbbá, a jelzőkarók irányának a változásával változik az S felület görbülete is. Vagyis, mivel az (1) összefüggéshez hasonló súlyozott összegek hatására az S felület mindig szorosan követi az Sí felületeket, az S felület alakja úgy változik meg, hogy az S felület azon egy vagy több Sj felületet jelentő 216 izoklin szalagot fogja követni, amely olyan jelzőkarókkal rendelkezik, amelyeknek az irányát megváltoztattuk. Következésképpen az egyesített S felület alakja megváltoztatható bármely olyan felhasználói interakciós technikával, amely (a) megváltoztatja egy vagy több Sí felület egy vagy több mértani tulajdonságát, úgy, hogy a kérdéses változtatás jelentheti az S, felület alakjának a megváltoztatását (ahol az „alak” több olyan mértani tulajdonságot jelent, mint a folytonosság, differenciálhatóság, görbület vagy magasabb rendű folytonosság), (b) megváltoztatja egy Sj felület
- 18 parametrizálását.
Megjegyezzük az is, hogy az egyesített felület alakváltoztatására szolgáló ilyen felhasználói interakciós technikák nagyobb dimenziószámú mértani objektumokkal is használhatók. Ha például a mértani objektumok testek és nem Sj felületek, akkor az eredményül kapott egyesített test alakját az annak meghatározására használt Sí felületek közül egynek vagy többnek az alakváltoztatásával lehet deformálni.
A jelen találmány körébe tartozik továbbá az is, hogy az egyesített test létrehozására használt mértani objektumok olyanok legyenek, hogy azok közvetve is módosíthatóak legyenek olyan egyéb mértani objektumokon keresztül, amelyekből esetleg magukat az Sí objektumokat létrehoztuk. Ha például az S felület a megfelelő Pi és P2 profilú Sí és S2 felületet jelentő 216 izoklin szalagokból egyesítéssel képzett S felület, és az Sí felületet a Pj profil végpontjainál található 212 profilfogóból, 228 izoklin fogóból és szalagtangensből interpoláljuk, akkor találmányunk olyan felhasználói interakciós technikákat szolgáltat az ilyen fogók és/vagy szalagtangensek módosítására, amelyekkel módosítható az egyesített S felület. Továbbá, az egyik felhasználói interfész technika esetében csak a fogókat lehet megjeleníteni, úgy, hogy a kérdéses fogók az egyesített S felülethez csatlakoztatva jelennek meg. Ily módon a fogók változtatásakor változik az egyesített S felület is. Megjegyezzük, hogy az ilyen felhasználói interakciós technikák képesek lehetnek valós időben reagálni a kérdéses fogókon és/vagy szalagtangenseken eszközölt felhasználói változtatásokra. Ezáltal elérhető, hogy azonnal megjelenik a felhasználó tervezési szándéka, miközben a felhasználó beviszi a kérdéses változtatásokat. Ennek megfelelően a találmányt alkalmazva a tervezési folyamatbeli felhasználói interakciók közelebb állhatnak az igazi mértani modell szerkesztési technikákhoz, mint a korábbi CAD felhasználói interakciós technikákhoz.
Találmányunk egy másik vetülete az, hogy különböző mértani korlátozási kritériumok alkalmazhatók a találmány szerint létrehozott mértani objektumokra. Ezen belül egy Oo mértani objektum tulajdonságaira és/vagy részgeometriájára vonatkozóan kiköthető, hogy ezek legyenek egy másik Oi mértani objektumon belül, úgy, hogy ha az Oi mértani objektumot deformáljuk, ennek megfelelően deformálódjanak az O0 mértani objektum tulajdonságai és/vagy részgeometriája is, és ezáltal ennek megfelelően deformálódjon az O0 mértani objektum is. A jelen találmány például lehetővé teszi, hogy úgy definiáljunk (azaz parametrizáljunk) egy objektumtérbeli p pontot, hogy annak az adott O] mértani objektumban/objektumon kelljen maradnia, ahol az Oi mértani objektum lehet görbe, felület, tömeg vagy test. Ily módon az Oi mértani objektum deformálásakor deformálódik az O0 mértani
-19objektum is. Továbbá a p pont helyett egyéb mértani alobjektumokra - így görbékre, felületekre vagy testekre - is alkalmazhatóak hasonló korlátozások. Továbbá egy Oo mértani objektum olyan kitüntetett részei, mint a kontrollpontok, a fogók (különböző típusúak például profil- vagy izoklin fogók), egységvektorok és csavaróvektorok, stb. is korlátozhatók úgy a jelen találmány által, hogy az Oi mértani objektum deformálásakor deformálódjon az Oo is. Például a jelen találmány által biztosított mértani objektum interpolálási technikák - például az (1) képlet és ennek variációi - felhasználásával az O0 mértani objektum hatékonyan újra létrehozható, például újra interpolálható lényegében valós időben akkor, ha az O0 mértani objektum korlátozott kitüntetett jellemzői és/vagy részgeometriái az Oi mértani objektum deformálásának megfelelően deformálódnak. Ezen belül a jelen találmány ezen aspektusa lehetővé teszi különböző Oi mértani objektumok hierarchikus kombinálását, úgy, hogy a „szülő” objektum mértani deformálása megfelelő mértani deformálást eredményezzen a vele függő viszonyban levő „gyerek” mértani objektumokban. Ha például egy felületdarabka egy nagyobb felület finomabban kidolgozott részlete, előnyös lehet a részletesebben kidolgozott felületdarabkát csatolni a nagyobb felülethez, hogy ezáltal a felhasználó automatikusan szabályozni tudja a részletesebben kidolgozott felületdarabka alakját a nagyobb felület alakjának a szabályozásával. Továbbá hasonló hierarchikus szabályozás biztosítható olyan egyéb mértani objektumokra vonatkozóan is, mint görbék, pontok és háromdimenziós deformációs terek.
Megjegyezzük, hogy ilyen hierarchikus kontroll használható olyan maradandó deformációs terekkel is, ahol kívánatos az ilyen térben levő mértani objektum ismételt deformálása, majd visszaállítása eredeti, deformálatlan állapotába. Megjegyezzük, hogy ezt nehéz valós időben megcsinálni egy egyszeri deformálás ismételt alkalmazásával. Éppen ezért a jelen találmány hierarchikus szabályozási lehetőségét használva egy ilyen háromdimenziós deformációs térbe ágyazott mértani objektum és/vagy az oda beágyazott mértani objektum kontroll struktúrái biztosítják a mértani objektum deformálását a háromdimenziós tér deformálásakor. Továbbá, ha egy vagy több ilyen deformációs teret ezután függő viszonyba hozunk egy olyan egyszerűbb geometriával, például egy felülettel vagy görbével, akkor az egyszerűbb geometria alakjának a manipulálása révén erőteljes kontroll biztosítható a mértani objektum alakja fölött, bármilyen összetett legyen is az.
A találmányt az alábbiakban a csatolt rajz segítségével mutatjuk be részletesebben, amelyen a javasolt eljárás néhány foganatosítási módját vázoltuk. A rajzon az
1. ábra a találmány szerint létrehozott 62 felületet mutatja, ahol a 62 felület a
| 30 és 34 felület között interpolál, valamint áthalad az 54, 58 és 60 görbéken is a 61 és 63 izoklin szalagoknak megfelelő, előre megadott irányban; a | |
| 2. ábra | az 1. ábra felületeinek a további módosítását mutatja, ahol a találmány szerinti eljárással a 30 felületet egy 66 körlemezzel egyesítettük; a |
| 3. ábra | a 30 és 34 felületből a találmány szerint létrehozott 62a egyesített felületet mutatja, amely áthalad az 54 és 58 görbéken, ahol az egyesítés egy itt megadott új felületgeneráló képlet (az (1) képlet) szerint történik; a |
| 4. ábra | a paramétertérben elhelyezkedő mértani egységek illetve az objektumtérben elhelyezkedő mértani egységek közötti megfeleléseket mutatja, úgy, hogy a paramétertérbeli 78a és 78b vonalak objektumtérbeli képe az 54 illetve 58 görbe, továbbá a paramétertérbeli 86 vonal objektumtérbeli képe a 80 görbe; az |
| 5. ábra | a találmány szerinti eljárás egyes foganatosítási módjainál használt B] és B2 egyesítő függvény grafikai megjelenítését mutatja; a |
| 6A-6D ábrák | szintén a találmány szerinti eljárásban használható további egyesítő függvények gráfjait mutatják; a |
| 7. ábra | a paramétertérben illetve objektumtérben elhelyezkedő mértani egységek megfeleléseit illusztrálja; a |
| 8. ábra | olyan 100 elliptikus tartományt mutat, amelyet a találmány szerinti eljárással a 108 hengerrel egyesítettünk úgy, hogy a 110 zárt görbe határolja el az elliptikus tartományt a 108 henger azon deformált részétől, amely a zárt görbéhez csatlakozik; a |
| 9. ábra | a 116 hengeren a találmány szerinti eljárással létrehozott egyszerű 112 kitüremkedést mutatja; a |
| 10. ábra | a 120 összetett görbét mutatja (lásd az alábbi definíciót), amely két egymást keresztező 124 és 128 görberészt tartalmaz; a |
| 11. ábra | azt a 130 felületet mutatja, amelyből a 134 címkefelület kivágjuk; a |
| 12. ábra | olyan számítógépes eljárást mutat, amellyel egy vi, v2, v3, v4 és v5 |
a
| 9 | -21 - csúcspontokkal rendelkező sokszög belsejében elhelyezkedő p ponttól a távmértéket határozhatjuk meg az adott sokszög egyes oldalaihoz képest egy csillagképzési folyamattal nyert megfelelő 150 csúcsszög felhasználásával; a |
| 13. ábra | a paramétertérben két 156a és 156b határoló görbét (azaz: az egységnégyzetet) mutat, úgy, hogy a köztük levő 168 területdarabkák maguk is parametrizálhatók az (s,t) koordinátákkal, ahol az s koordináta lineárisan változik az egymással szemben elhelyezkedő 160a és 160b görberész pár két megfelelő pontja közötti távolsággal, és a t koordináta a 160a és 160b görberész pár egyes részgörbéin elhelyezkedő megfelelő pontot adja meg; a |
| 14. ábra | egy olyan tartományt mutat, amelynek oldalait és szalagjait három Sí, S2 és S3 felület definiálja, úgy hogy az alábbiakban megadandó (5) képletet alkalmazva meg tudjuk adni a 300 tartományba eső felületdarabkát; a |
| 15., 16. ábrák | egyaránt részben általános számítógépes mértani fogalmakat, részben a találmány szempontjából alapvető új fogalmakat szemléltetnek. Megjegyezzük, hogy ezeket az ábrákat használtuk a fenti részben a bevezetett fogalmak illusztrálására; a |
| 17. ábra | a találmány szerinti eljárás felhasználója által egy mértani objektum tervezésekor végzett terv-szerkesztési műveletek tipikus folyamát mutató folyamatábra; a |
| 18. ábra | három 404, 408 és 412 profilgörbét mutat, amelyek a 420 profilmarkemél találkoznak, úgy, hogy a 416 és 418 felület simán átmegy egymásba a 420 profilmarkemél, mivel az izoklin fogók (a 420 profilmarkemél) a 460 közös síkba esnek; a |
| 19. ábra | a 484 és 486 felületek közötti lekerekített sarokrészt alkotó 480 felületet definiáló x és y profilgörbét mutatja. Az x és y profilt tipikusan a 484 és a 486 felület 482 metszési görbéjétől való 488 és 490 távolság felhasználásával definiáljuk; a |
| 20. ábra | a találmány szerinti eljárás egy olyan megvalósítását mutatja, amellyel |
| az 508 és 516 izoklin szalagokból kiszámítható egy egyesített felület; a |
21A-21C ábrák a találmány szerinti eljárásnak a 600 vájat kialakítására szolgáló mű-
| veletét szemléltetik; a | |
| 22. ábra | a találmány szerinti 710 egyesített felületet mutatja, ahol az egyesített felület egy 714 egyelemű profil (pont) és a 722 henger 718 kör alakú vége között húzódik; a |
| 23. ábra | azt a találmány szerinti 750 egyesített felületet mutatja, amely a 754 egyelemű profil (pont) és a 760 körívet tartalmazó 758 körlemez között húzódik; a |
| 24. ábra | a találmány által két 784a és 784b félkörív szalag közötti felület csatlakoztatására szolgáló, a találmány szerinti egyesítési technika eredményeit mutatja; a |
| 25. ábra | a találmány szerinti 808 egyesített felületet mutatja, amelynek p(u,v) pontjait egy olyan „előreható algoritmussal” határozzuk meg, amelyben magukat a 158 paramétertérben levő pontokat is egy további 828 paramétertérben levő pontoknak megfelelően parametrizáljuk, és ahol a további paramétertér 830 pontjait használjuk fel az (objektumtérbeli) 812 és 816 profilok (158 paramétertérbeli) előképeitől való távmérték hatékony megállapítására; a |
| 26. ábra | folyamatábra, amely egy interpoláló görbe kiszámításának a lépéseit mutatja a találmány szerint, a találmány újdonságát jelentő számítógépes eljárás egy egydimenziós foganatosításának felhasználásával; a |
| 27. ábra | folyamatábra, amely azt mutatja, milyen lépéseket kell elvégezni egy izoklin szalag izoklin határvonalára vonatkozó approximáció megszerkesztésekor, ha a határvonal az izoklin szalag profiljával szemközt helyezkedik el; a |
28A., 28B ábrák egy olyan program folyamatábráját mutatják, amellyel pontosabb
| izoklin határvonalat lehet szerkeszteni a 27. ábrán bemutatott approximációnál; a |
29A-29C ábrák annak a folyamatábráját mutatja, miként módosítható egy So összetett
| felület egy vagy több S, részfelülete az S, részfelületek határvonalait definiáló egy vagy több profilgörbén levő markerre vonatkozó izoklin fogó és/vagy szalag tangens mértani tulajdonságainak a megváltoztatásával; a |
30A., 30B ábrák egy olyan program folyamatábráját mutatják, amelyet a 29. ábrákon
| vázolt folyamatábrával hívunk meg az Sí felületek valósidejű deformálása céljából, azzal egyidejűleg, ahogy a felhasználó egy izoklin fogót és/vagy szalagtangenst módosít; a | |
| 31. ábra | a találmány szerinti eljárás egy foganatosításával egy felület alakjának a megváltoztatása céljából interakcióban álló felhasználó által végzett magas szintű lépések folyamatábrája; a |
| 32. ábra | grafikusan ábrázolja a 26. ábrán a C(u) interpoláló görbe kiszámítására használt paraméterek értékeire hozott példákat; a |
| 33. ábra | négy olyan Pn, P]2, P2i és P22 profilgörbét mutat, amelyek által határolt felületet szeretnénk létrehozni, ahol a felületet ez a négy Pn, P12, P2i és P22 profil (és az ezekhez tartozó szalagok) definiálják; a |
| 34., 35. ábrák | azokat a közbeeső felületeket mutatják, amelyeket a négyoldalú folt (lásd a 36. ábrát) megalkotására szolgáló egyik eljárás végrehajtása során hozunk létre kétoldalú egyesített elemekből a 33. ábrán látható négy Pn, P)2, P2i és P22 profilgörbe felhasználásával. Vagyis az Sí egyesített felületet (34. ábra) az Rn és Rj2 (a Pn illetve P!2 profilhoz tartozó) izoklin szalagok felhasználásával hozzuk létre, és az S2 egyesített felületet (35. ábra) az R2i és R22 (a P2i illetve P22 profilhoz tartozó) izoklin szalagok felhasználásával hozzuk létre; a |
| 36. ábra | az így kapott, az Sí (lásd a 34. ábrát) és S2 (lásd a 35. ábrát) felületekből származtatott egyesített S felületet mutatja, ahol az S felületet az alábbi részletes ismertetésben megadott (1) képlet szerint hozzuk létre; a |
| 37. ábra | azokat a mértani objektumokat mutatja, amelyekkel a találmány szerinti eljárás egy foganatosításával az S felületet hozzuk létre az Sj és S2 felületből. Ezen belül az ábrán bevezetjük azokat a jelölési konven- |
-24*
| ciokat, amelyeket a 38-41. ábrákon használunk; a | |
| 38. ábra | a találmány szerinti eljárás egy olyan foganatosítását mutatja, amellyel négyoldalú folt létrehozható; a |
| 39. ábra | a találmány szerinti eljárás egy másik foganatosítását mutatja a 38. ábrán is létrehozott négyoldalú folt létrehozására; a |
| 40.ábra | a 38. illetve a 39. ábrán látható mértani objektumok közötti jelölésbeli megfeleléseket mutatja; a |
| 41. ábra | a 38. ábra egy lehetséges mértani elrendezését mutatja, úgy, hogy a 38. ábrán látható Pi és P4 profilok egyeleműek; a |
42A., 42B ábrák a 2002 marker mozgását szemléltetik, amelyre az a korlátozás érvé-
| nyes, hogy a 2003 és 2004 görbéken kell lennie; a | |
| 43. ábra | összetett profilgörbékre vonatkozó korlátozásokat ábrázol, és a két, Sj és S2 egyesített felület közötti érintősík-folytonosság biztosítását szolgáló megfelelő izoklin szalagokat mutatja; és a |
| 44. ábra | egy P profilt mutat, a hozzá tartozó RL és RR izoklin szalagokkal, és különböző olyan fogókat, amelyeket annak az ismertetésére használunk, hogyan lehet GI folytonosságot elérni P profilon. |
I. Bevezetés
Az 1. ábra azt mutatja, hogyan használható fel a találmány egyik megvalósítása annak a 62 felületnek a megtervezésére, amely bármely két olyan parametrikus felület között interpolál, mint a félhenger 30 felület és a 34 felület. Tehát a 62 felületet egy új felület interpolálási folyamattal hozzuk létre, úgy, hogy a 62 felület alakjára vonatkozó korlátozásokat a kitüntetett 54, 58 és 60 görbék, valamint a nekik megfelelő új kontroll geometria (például 216 izoklin szalagok) adják meg. A 62 felületre ezen belül a következő korlátozások vonatkoznak:
(a) a 30 felületnek a kitüntetett 54 görbe mentén mutatkozó egy vagy több mértani tulajdonságát megköveteljük a 62 felülettől, (b) a 34 felületnek a kitüntetett 58 görbe mentén mutatkozó egy vagy több mértani tulajdonságát megköveteljük a 62 felülettől, és (c) a 62 felület a kitüntetett 60 görbén keresztül interpolál, úgy, hogy a 62 felület tan
-25genseit a 60 görbe hosszában a 61 és 63 izoklin szalagból származtatjuk (például azonosak azokkal).
A találmány szerinti eljárás segítségével a tervező tehát olyan felületet tud tervezni, amely a következőképpen van megadva: (a) viszonylag kis számú, gondosan megszerkesztett és beállított kitüntetett 54, 58 és 60 görbe és (b) a felület kívánt meredeksége vagy meredekségei a kérdéses kitüntetett görbék hosszában (216 izoklin szalagok révén). Továbbá a találmány segítségével egy ilyen megtervezett felület nemcsak tisztán interpolál a kitüntetett 54, 58 és 60 görbék között, de olyan egyéb korlátozásoknak is megfelelhet, amelyek a konvexitásra, konkavitásra és/vagy előre megadott görbületi tartományokra vonatkoznak.
Továbbá a találmány szerinti eljárás segítségével összekapcsolható egy felület-tartomány egy tervezés alatt álló objektummal. A 2. ábra például azt mutatja, hogyan lehet egy 66 körlemezt a 30 hengerfelülettel egyesíteni. Továbbá a találmány szerinti eljárás felhasználható dudorok, horpadások, lógók és kitüremkedések megszerkesztésére csakúgy, mint a rekurzív felület tervezésre, amint ez szakember számára a részletes leírásból érthető lesz.
A találmány szerinti eljárás legalább egy foganatosítási módja abban különbözik a hagyományos számítógéppel támogatott tervezés (computer-aided design, CAD) során alkalmazott megközelítésmódoktól, hogy a találmány szerinti eljárás esetében a kívánt mértani objektum (például egy felület) előállítható több mértanilag és számítástechnikailag független foltból (például három-, négy- vagy ötoldalú határolt felületből), amelyek azután úgy állíthatók össze, hogy megfeleljenek bizonyos, a foltok közötti határvonalakra vonatkozó korlátozásoknak. A kívánt mértani objektum tehát megtervezhető a több, egymástól független mértani részobjektum (részfelület) összeállításával, olyan módszerrel, amely úgy interpolálja, kapcsolja össze és/vagy vágja le ezeket a részobjektumokat, hogy a köztük levő határvonalakra és/vagy a köztük levő tartományokra vonatkozóan teljesüljenek bizonyos folytonossági, differenciálhatósági és/vagy görbületi feltételek. Ez alapvetően eltér a CAD hagyományos megközelítéseitől, hiszen a korábbi technológiával dolgozó rendszerekkel csak NURBS, Bezier, Hermite, Coons, Gordon vagy Boole-féle négyoldalú implicit felületeket lehetett összeilleszteni.
2. Mértani objektumok egyesítése
A találmány szerinti eljárásban mértani objektumok tervezésére alkalmazott egyik alapvető technika az egyesítés két olyan parametrikus mértani objektum között, mint a felületek, pontosabban az a mód, ahogyan ez az egyesítés történik. A meghatározásokat bemutató
-26rész egyik definíciója szerint egy parametrikus mértani objektum, például egy felület úgy definiálható, mint annak a leképezésnek az eredménye, amely egy egyszerű, koordináták közé helyezett, a paramétertérben elhelyezkedő mértani objektumot - például korlátozott síkot - egy másik, tipikusan összetettebb mértani objektumba leképez (objektumtér). Ha a paramétertér korlátos sík, akkor példaképpen két u, v koordináta vagy paraméter használható a paramétertérben levő minden egyes pont egyértelmű meghatározására. Ha az objektumtér három dimenziós, a korlátos sík paramétertér minden egyes (u,v) pontjához egy függvénnyel lehet hozzárendelni egy (x,y,z) pontot az objektumtérben.
A sík paramétertérről hagyományosan feltételezzük, hogy egységnégyzet, vagyis az u koordináta is és a v koordináta is 0 és 1 között változik, bár a találmány keretein belül más paramétertér-geometriákat és koordináta-tartományokat is lehet használni.
A találmány szerinti eljárás egyik megvalósítása esetében két egységnégyzet paraméterterű Sí (u,v) és S2 (u,v) parametrikus felület egyesítése úgy történik, hogy mindkét Sí és S2 felülethez hozzárendeljük a megfelelő Bi(u,v) illetve B2(u,v) egyesítő függvényt, úgy, hogy mindegyik egyesítő függvénynek például (0,1) az értéktartománya (azon kívül, hogy más, az alábbiakban megadandó feltételeket is kielégítenek). Következésképpen az új felületet a következő képlettel lehet meghatározni:
S(u, v) = Sx(u,v)· Bx (u, v) +S2(u,v)· B2(u,v) (1)
Megjegyezzük, hogy a Bi és B2 egyesítő függvények tipikusan úgy vannak megválasztva, hogy az eredményül kapott egyesített S felület azonos legyen Sí az Sí felülettel való határvonal mentén, és azonos legyen S2 felülettel az S2 felülettel való határvonal mentén. Ezt úgy érjük el, hogy a Bi és B2 egyesítő függvényeket úgy állapítjuk meg, hogy B] = 1 és B2 = 0 az Sí felülettel való határvonalon, és B2 = 1 és a B] = 0 az S2 felülettel való határvonalon. A 3. ábrán például, ha az Sí felület a 30 felület, és az S2 felület a sávos 34 felület, és az egyik határvonal a 30 felületen levő függőleges vonal alakú 54 és a másik határ a sávos 34 felületen lévő 58 görbe, akkor a 62a felület az S felület a 62a felület, amely e két határvonal között húzódik, és érintkezik a határvonalaknál az Sí felülettel és az S2 felülettel.
2.1. Egyesítő függvények
Egyesítő függvényeket adhatunk meg különböző típusú mértani objektumok egyesítése céljából. Például megadhatók olyan egyesítő függvények, amelyek két mértani objektumot kitöltő teret egyesítenek. A találmány szerinti eljárásnak megfelelő új egyesítő folyamat és a kapcsolódó egyesítő függvények leegyszerűsítése (és világos szemléltetése) céljából az
-2Ί alábbi ismertetés először csak két görbe vagy két felület egyesítésére szorítkozik. Következésképpen két összekapcsolandó Sí és S2 felület esetében a Bi(u,v) illetve B2(u,v) egyesítő függvényeket alkalmasint 0-ra vagy 1-re állítjuk be a találmány szerinti eljárás által létrehozott egyesített felület határainál.
A 4. ábra szerinti esetben azt feltételezzük, hogy a paramétertérbeli 78a, 78b határvonalak az objektumtérbeli 54 és 58 profiloknak felelnek meg, az egyesített felületen, például a 62a felületen található bármely 80 görbének megvan a maga, a paramétertérben definiált előképe (például a 86 vonal), az említetteknek megfelelően. Megjegyezzük, hogy az egyszerűség kedvéért a 78a és 78b határvonalak és a 80 görbe előképe egyenes, de ez nem szükségszerű.
Feltéve (ismét csak az egyszerűség kedvéért), hogy a Bi(u,v) és B2(u,v) egyesítő függvények értéktartománya az egységnégyzetbe esik (ez a paraméterterük), akkor bármely ebben a paramétertérben levő (u,v) pontra vonatkozóan fontos meghatározni valamiféle mértéket arra, hogy az (u,v) pont milyen „közel” esik a határoló görbékhez (például a 78a és 78b határvonalakhoz), és - általánosabban - a profilgörbék előképéhez. Az ilyen közelség vagy távmérték felhasználható a Bi(u,v) és B2(u,v) egyesítő függvények és/vagy az eredményül kapott értékek pontosítására. Megjegyezzük, hogy igen sok módja van a közelség vagy távmérték kiszámításának a paramétertérben. Ha például a 78 határvonal (vagy profilelőkép) egyenes vonal, akkor ez az (u,v) ponttól való parametrikus távolság könnyen kiszámítható a ponton át a határvonalra emelt merőleges szakasz hosszaként. Az alábbiakban további technikákat is ismertetünk még parametrikus távolságok kiszámítására (lásd például a 2.3 és 2.4 részeket).
Feltéve, hogy a paramétertér továbbra is az (u,v) pontok kétdimenziós tere, a B, egyesítő függvény (ahol 1 < i < N határoló görbék egy adott N számára) kiszámítható a egyváltozós távmérték-függvény függvényében, ahol a D, maga is az (u,v) függvénye, úgy, hogy Bi^D^ = 5,(£>.(«,v)) = Bz(w,v) , ahol a Dj(u,v) az S felület (objektumtérbeli) Cj határoló görbéjének a Cj4 előképére vonatkozó távmérték függvény. Megjegyezzük, hogy az ilyen távmérték-függvényeknek ki kell elégíteniük azt a feltételt, hogy ahogyan az (u,v) tetszőlegesen közel kerül a Cj4 i-edik határoló görbéjéhez (hagyományos euklideszi távolságban mérve), akkor a D, (u,v) tetszőlegesen közelít nullához. Az alábbiakban hozunk példákat ilyen Bi egyesítő függvényekre és Dj távmérték függvényekre.
-28 Mivel a leghasznosabb B, egyesítő függvények közül sok Bi(Dt) alakú, hacsak nincs megkövetelve további pontosítás, az alábbiakban Bj-vel fogjuk jelölni mind (a) a fentiekben először tárgyalt Bj (u,v) egyesítő függvényt, mind (b) a bizonyos Dj távmérték függvényre vonatkozó 5,(7),.) egyesítő függvényt. Ha viszont világosan meg kell különböztetni az (a) és a (b) egyesítő függvényeket, akkor a egyesítő függvény értéktartománya használható annak a jelölésére, hogy melyik egyesítő függvényről van szó. Mellékesen Megjegyezzük, hogy az (1) képlet ugyanígy érvényes a egyesítő függvényekre is, ahol i = 1,2, vagyis
5(u,v) = Sx(u, v) · Bi(Dt) + S2(u,v) · B2(D2) (2)
Ha egy (u,v) pont közel esik az i-edik előkép-határvonalhoz, ahol i = 1, 2, akkor a 5,(7),) egyesítő függvény várhatóan kicsi lesz, és a pont leképezése (az objektumtérbe) közel lesz az i-edik határvonalhoz.
A Bj függvények jó gyűjteménye nemcsak azt teszi lehetővé, hogy egy egyesített S felület leképezése egybeessen a kívánt kerületi (profil) görbékkel, de ráadásul oly módon teszi ezt, hogy az eredményül kapott egyesített S felület például különböző kiinduló felületek esetén két vagy több ilyen kerületi görbéje mentén megőrzi e két kiinduló felület olyan tulajdonságait, mint a görbület folytonossága. Vagyis az egyesített S felület szorosan követi a kiinduló felületek mindegyikét. Továbbá előnyösen a Bi egyesítő függvények lehetővé teszik, hogy az új felület letisztult legyen. Az 5. ábra egy pár kívánatos Bj, i = 1, 2 egyesítő függvény gráfját mutatja.
Ha Pi illetve P2 két Sí illetve S2 felület profilgörbéje, és a Pi és a P2 profilgörbék között akarunk egyesített S felületet létrehozni, feltételezve, hogy a Pi illetve P2 profilgörbének megvan a maga parametrikus előképe, amelyeknek a {(w,v)|0 <u< \ és 0 < v < 1} egységnégyzetbeli megfelelője az u = 0 illetve u = 1, akkor hasznos, ha a Bi és B2 egyesítő függvények rendelkeznek a következő tulajdonságokkal:
(1.1) Bi = 1 hau = 0ésBi =0hau= 1; B2 = 0 ha u = 0 és B2 = 1 hau= 1.
(1.2) A Bi’ és B2’ deriváltak értéke mindenhol 0, ahol Dj (u,v) = 0 és Dj (u,v) = 1, i = 1,2. Ez sima (tangens-folytonos) átmeneteket biztosít az egyesített S felület és a kiinduló Sí és S2 felületek között. Ha a magasabb rendű deriváltak értéke szintén nulla, akkor magasabb
-29rendű folytonosság teremthető a felületek között, ami általában nagyobb fokú tisztázást eredményez.
(1.3) B1+B2 = 1 minden (u,v) pontra. Ezt nevezzük egységosztásnak, és ez biztosítja az Sí és S2 felületek azon konvex kombinációjának a létrehozását, amellyel az új egyesített S felület érintkezik. Megjegyezzük, hogy ez megakadályozza, hogy a egyesített S felület túlságosan messze kerüljön a kiinduló Sí és S2 felületektől.
Egyesítő függvények definiálására számos megoldás létezik. Az egyik hasznos megvalósítás a következő összefüggésen alapul:
ö1(D1) = cos2(D1^) és B2(Z>2) = sin2(r>2^) (3) amely tetszőlegesen magas rendű folytonosságot biztosít a egyesítő függvényeknek, ami azért szükséges, hogy ugyanolyan magas rendű folytonosságot érjünk el a kiinduló egyesített S felületek között. Egy másik lehetőség az, hogy a fenti (1.1)-(1.3) tulajdonságokkal bíró polinom függvényeket választunk. Választhatunk például olyan ötödfokú polinomot, amelynek D = 0-nál és D — 1-nél nulla a második deriváltja, ami előnyös görbületi tulajdonságokat biztosít (lásd a 4.4 részt).
A fentiekben ismertetett egyesítő függvényeken kívül az alábbiakban közlünk néhány példát további egyesítő függvényekre:
Bi(x) és B2(x) polinomok, amelyek kielégítik az alábbi feltételeket:
Bi(0) = 1, B'i(O) - 0, B(l) = 0, B'(l) = 0
B2(x)=l-B!(x).
Megjegyezzük, hogy a magasabb fokú deriváltakra (például x = 0 és/vagy 1 esetén x = 0) vonatkozóan további korlátozások is megállapíthatóak. Ha például B'\ (0) = 2? (1) = 0, í = l, 2, akkor C2 folytonosságot érünk el azon objektumoknál, amelyekből kiindulva az interpolálást és/vagy egyesítést elvégeztük.
íme egy példa a kérdéses korlátozásokat kielégítő polinom egyesítő függvényre:
B](x) = (1-x)2 + 5x(l-x)4 + 10x2(l-x)3
B2(x)=1-Bi(x).
Megjegyezzük, hogy a Bi(x) deriválható olyan Bezier-görbeként, amelynek hat P], ...P6 kontrollpontja van, amint az a 6D. ábrán látható. Továbbá Megjegyezzük, hogy mivel
-30B'i(x) = -30x2 és
B2(x) = 60χ·(1-χ)2-60χ2·(1-χ), ezért
Β'ι(1) = 0, B(0) = 0, B,(l) = 0, B'2(0) = 0, B’2(l) = 0, B2(l) = 0, B'í(0) = 0 és B2(0) = 0.
(c) A fentiekben ismertetett egyesítő függvények bármilyen társítása egy P: [0,1]—> [0,1] bijektív (kölcsönösen egyértelmű, például egy-az-egyhez és rá) parametrizáló függvénnyel egy egyesítő függvénnyel is társítható, miáltal egy másik egyesítő függvényt kapunk. íme egy konkrét példa: legyen P(x) = 2c (x-x2) + x2, ahol a c konstans „dőlési” tényező, ekkor az új egyesítő függvény B(P(x))-ként írható fel. Vagyis ha c = Yi, P(x) = x. Továbbá a c változásának megfelelően elmozdul a P(x) gráf inflexiós pontja a 6A-6C. ábrákon látható módon. Megjegyezzük, hogy a 6B. ábrán látható egyesítő függvény (ahol c > '/2) hatására az egyesítő görbe (és/vagy felület vagy egyéb mértani objektum) megőrzi annak az egyesítés céljára felhasznált objektumnak a mértani tulajdonságait, amely a 6B. ábra gráfján a felület nagyobb részén megegyezik a x = 0 tengellyel.
A egyesítő függvények kiértékelésekor felmerülő valós idejű tervezés számítógépes kapacitás-szükségletének a csökkentése céljából az egyesítő függvények értékeit az egyik megvalósításnál a tervezési munkát megelőzően kellő felbontású táblázatos alakra lehet hozni és el lehet tárolni a memóriában, ami hatékony indexált hozzáférést tesz lehetővé az adott egyesítő függvény érték legközelebbi approximációjához.
2.2. Az egyesítés kiterjesztése N oldalú tartományokra
A találmány szerinti eljárás egyik megvalósítása esetében egy Si (i = 1, 2,...N és N > 2) egyes e; éleivel határolt tartomány fölötti csatlakoztatás új általános formája az Sj(uj(p),Vi(p)) pontok következő súlyozott összege:
S(p) = t i=l
K v,.(p)) (4) ahol (a) p az Sí felületek közös paraméterterében levő pontokat jelölő változó;
(b) Dj (p) az ej i-edik él előképére vonatkozó távmérték a közös paramétertérben;
(c) a Bi olyan egyesítő függvény, amely nulla, ha a D, nulla, és monoton nő a Dj növeke
-31 désével, és (d) az új és Vj olyan parametrizáló függvények, amelyek a p-t transzformálják a közös paramétertérből az S, (bármely) köztes paraméterterébe.
Megjegyezzük, hogy a Bj egyesítő függvények, például
N
j*i szorzatának összegével elosztva a (4) képlet az egyesítő függvényekre vonatkozóan normalizálható. Megjegyezzük továbbá, hogy a (4) képlet hasonló az (1) képlethez akkor, ha N = 2, olyannyira, hogy annak a kiterjesztése. Azaz, ha N = 2, a (4) képlet Bi egyesítő függvénye olyan függvény viselkedést tanúsít, mint az (1) képlet B2 egyesítő függvénye, és a (4) képlet B2 egyesítő függvénye olyan függvény viselkedést tanúsít, mint a Bi egyesítő függvény az (1) képletben. Vagyis a két képlet között alsóindex jelölési változás áll be.
A (4) képletre példaként vegyük a a 14. ábrán az objektumtérben látható 300 háromoldalú tartományt. A (4) képletet alkalmazva az S felület létrehozására a 300 tartományra vonatkozóan a következő egyenletet kapjuk:
S{p) = B2(y)B3(w)S\u) + Bl(u)B3(w)S2(v') + Bt(u)B2(y)S3(w) (5) ahol az u, v és w mint parametrizáló függvények a p súlyponti koordinátái, amint ezt a szakma ismerői számára nyilván érthető.
Az N oldalú (N>4) tartományok fölötti egyesített felület definiálására szolgáló alternatív eljárásnál először is az (1) képleten alapuló kétoldalú megközelítésmódot alkalmazzuk, a 34. ábrán látható Rn és Rj2-t használva Sí felületként illetve S2 felületként az (1) képletben, hogy így hozzuk létre a 34. ábra Sí felületét. Továbbá az (1) képletet alkalmazzuk a 35. ábra felületeire, úgy, hogy az (1) képlet Sí és S2 felületeit helyettesítjük R2i és R22-vel, hogy ezáltal hozzuk létre a 35. ábra S2-jét. Ezt követően az eredményül kapott két felületet, a 34. ás 35. ábra Sí illetve S2 felületét is összekapcsoljuk a (2) képletet használva, amelyben a fent ismertetett Bi és B2 egyesítő függvényeket és a megfelelő Dj-ket az alábbiakban ismertetjük. Például, mivel az Rh, Rj2, R2i és R22 szalagok mindegyikének közös az előképe, a Pii, Pi2, P2i és P22 (34. és 35. ábra) élpárok előképeire vonatkozó távmértékek kiszámítására a (2) képletben használt Dj a következő lehet:
(a) A 34. ábrán látható Si felület (közös) előképének egy Pi pontjára vonatkozóan: Di(Pi) = min (D(P],Pn), D(Pi,Pi2), ahol a D a Pi és a neki megfelelő Ph profil közötti euklideszi távolság, és (b) A 35. ábrán látható S2 felület (közös) előképének egy P2 pontjára vonatkozóan: D2(P2) = min (D(P2,P2i), D(P2,P22). Ennek megfelelően a két Sí és S2 felület a (2) képletet alkalmazva egyesíthető, miáltal a 36. ábrán látható S felületet kapjuk.
Egy másik olyan megvalósítás esetében, amely különösen hasznos négyoldalú egyesített folt létrehozására, a következő korlátozott, de képlékeny sémát vesszük a profilok és szalagok definiálására:
(a) Minden fogó szakaszosan lineáris szegmens, és (b) Minden egyesítés a (3.1) képlet Bi(x) és B2(x) függvényeivel történik.
Ezen túlmenően, először a 37. ábrára hivatkozva a jelen folt létrehozási technika ismertetésekor, a következő címkézési sémát használjuk. A P profilra:
mL,mR: a P profil bal (L) illetve jobb (R) oldali markerei;
Iil, hR: a P profil bal (L) illetve jobb (R) oldali profilfogói;
Sl, Sr: a P profil bal (L) illetve jobb ( R) oldali izoklin fogói;
bt, bR: a P profil bal (L) illetve jobb ( R ) oldali szalagtangensei az R izoklin határvonal megfelelő bal illetve jobb végpontjainál (ezeket a szalagtangenseket „határvonal fogóknak” is nevezzük).
A 37. ábra jelölését használva definiálhatók az Sl felület és az Sr felület, úgy, hogy az Sl felületet az sL, hL, bL és dL = (sL + bL)-nek megfelelő szakaszok határolják, és az SR felületet az sR, hR, bR és dR = (sR + bR)-nek megfelelő szakaszok határolják. Ezen belül az SL felület és az SR felület a szakmában „csavart síkként” ismeretes, és ennek megfelelően az Sl felületet baloldali csavart síknak és az SR felületet jobboldali csavart síknak nevezzük. Továbbá ezek a felületek a következő (5.01a) és (5.01.b) képletek felhasználásával értékelhetők:
SL(u,v) = (l-v,v) 'mL \SL U >
(5.01a) ahol az u és a v paraméter keresztirányban nő, amint azt az u iránynyíl illetve a v iránynyíl mutatja a 37. ábrán.
-33S/w,v) = (l-v,v) mR
(5.01b) ahol az u és v paraméter szintén keresztirányban nő, úgy, hogy az u iránya a 37. ábra uiránynyilával ellentétes irányú.
Ennek megfelelően az izoklin szalag S felületeket (37. ábra) most a következőképpen definiálhatjuk:
S(u,v} = B2(u)SL(u,v) + Bx(u)Sr(u,v) (5.02) ahol kapóra jön, hogy az u paraméter egyben a (3.1) képletek Bi és B2 egyesítő függvényéhez szükséges távmérték is egyben. így tehát, ha v = 0, az S(u,0) a profil, vagyis a (hLhil) és a (hR-mR) kontrollfogók közötti egyesítés eredménye. Továbbá Megjegyezzük, hogy ha v = 1, az S(u,l) a (Ól-sl) és (bR-sR) vektorok egyesítéséből származtatott R szalag határvonal. Megjegyezzük még az is, hogy ha a bL és a bR a hL illetve a hR eltolása az sLmt illetve sr-hir mentén, akkor az R a P eltolása, és az ilyen hasonlóságok leegyszerűsíthetik a találmány szerinti eljárás adattárolási követelményeit.
Több Sí, S2,...SN izoklin szalag esetében, ha minden egyes Sj-t az (5.02) képlettel hozunk létre, akkor ezeket az Sj, S2,. ..Sn izoklin szalagokat most használhatjuk az alábbi általánosabb N-oldalú felület felírására, amely a (4) képlet variációja:
(5.03)
Megjegyezzük, hogy e képlethez definiálni kell a következőket: Dj(s,t), Uj(s,t) és Vi(s,t) vagyis a távmértéket és azokat az általános N-oldalú folt paraméterterétől (az s-ben és tben) az S, szalagok (u-ban és v-ben) paraméterterébe vivő leképezéseket.
Azokban a speciális esetekben, amikor N = 2, 3, 4 és N > 5, és az egyesített Sí szalagokat használjuk, először is vegyük észre, hogy a szalagra vonatkozó (5.02) képlet az (5.03) képlet egy speciális esete. Például az (5.02) képletben a nevező 1, a távmérték csak az u
-34paraméter, és u és a v pontosan megfelel s-nek és t-nek. A kétoldalú felületre vonatkozó képlet hasonló, azzal a különbséggel, hogy az alapfelületek az (5.02) képlet szerint derivált szalagok (ezeket itt „csavart szalagnak” is nevezzük), tehát
S(u, v) = B2 (y)Sx (u, v) + B, (y)S2 (u, v) (5.04) az (5.02) képletben, ahol az u paraméter a távolság mértéke, a profílgörbe iránya mentén változik. Itt, az (5.04) képletben a v paraméter adja meg a távolságot.
A 38. ábrán bemutatott esetben az Sí és S2 izoklin szalagok úgy vannak parametrizálva, ahogyan azt az egyes szalagokon levő u és v iránynyilak jelzik, és ezek a szalagok használhatóak egy négyoldalú folt létrehozására. Az u-ban eltérő két Pi és P2 profilt az Sí és S2 csavart szalagok felhasználásával kapcsoljuk össze. A P3 és P4 másik két oldal az izoklin fogókból származtatott egyesített profil, azaz a P3 a hR’ és a hL' egyesítése (az (1) képlet alkalmazásával), ahol a hR’ az Sí és a hR 2 az S2 az (1) képletben és, hasonlóképpen, a P4 a hR és a ht egyesítése.
Megjegyezzük, hogy a 38. ábra egyesített S felülete tenzor szorzat alakú. Ez kimutatható, ha az (5.04) képletet tenzor alakra hozzuk, úgy, hogy az Sí és S2 szalagok mindegyikét az (5.01a) és (5.01b) képletből származtatjuk. Vagyis az Sí az Sl1 és az SR* egyesítése (38. ábra), és az S2 az SR' és az SR 2 egyesítése. Ennek megfelelően a felbontás a következőképpen néz ki:
/5.(w,v))
S(u,v) = (B2(v)B,(v)) / 7
S(u,v) = (B2(V)BSv))
S1(W,v)S;(M,v)YB2(M))
Sl 2(M,v)52(M,v)Xb,(u)J (5.05)
S(u,v) = (B2(v)Y +B,(v)SÁ 2B2(v)5; +B,(v)S2) k
A fenti utolsó kifejezés tehát azt mutatja meg, hogy ugyanaz az S felület létrehozható úgy, hogy először is létrehozzuk a csavart szalagokat a v parametrizációban, és másodszor elvégezzük az egyesítést az u parametrizációban. Mivel azonban az u és v szerepe szimmetrikus, a csavart szalagok létrehozhatóak az u parametrizációban, és elvégezhető ezután az egyesítés a v parametrizációban. Vagyis a 39. ábrán látható Sl3 és SR3, Sl4 és SR4 felületek ugyanazt az S felületet adják ki, mint a 38. ábrán. Tehát bármelyik eljárást használjuk is az
-35S deriválására, az mL l, mR', hL', hR', sL‘, sR', bL', bR‘ bemeneti adatok azonosak, ahol „i” azt a Pi (i = 1, 2, 3, 4) profilt jelöli, amelyre a bemeneti adatok vonatkoznak. A 40. ábra a különböző bemeneti adatok közötti összefüggéseket mutatja.
Tehát összességében az (5.04) képlet kétoldalú foltjából igen képlékeny négyoldalú folt jön ki. Továbbá, ennek az értékelése is hatékony. Ily módon, ha az (5.01a) és (5.01b) képletek segítségével kifejtjük az (5.05) képletben levő S/, SR' értékeket, a következő képlethez jutunk:
(B2(v),5,(v)) (l-v,v) l-wY^íw/ u A5i(wb ahol az az (5.01a) és (5.01b) képlet megfelelő mátrixai. Megjegyezzük, hogy a kifejezés értékelésére adott esetben a Bi-et valószínűleg táblázatos formában kell megadni.
Bár a fenti kifejezés matematikailag helytálló, mértani értelemben vett intuitív alkalmazásához a felhasználó ítélőképessége is szükséges. Ezért egyes esetekben helyénvaló bizonyos matematikai fogódzókat is biztosítani. Gyakori eset, hogy a két profil (például Pi és P2 profil) metszi egymást, mint a 41. ábrán látható. Ez egy elfajult eset, mivel a P3 és P4 profilok (a 38. ábrán) nulla hosszúságúak, és közös vég-markereik vannak (azaz: mL 3 = mL es mR = mL ).
Megjegyezzük azonban, hogy az (5.04) képlet ennek ellenére definiál egy S felületet, de jól látható, hogy a felület hurkot képezhet a profil-metszéspontoknál. A hurkolódás kiküszöbölése érdekében, úgy, hogy a markereknél azért megmaradjon a fogószerű kontroll, az (5.04) képlet szerinti csavart szalag lezárható az u egy függvényével. Az egyik olyan függvény, amelynek értéke u = 1/2-nél 1 és u = 0-nál 0 a következő:
a(w) = l-4(i/-y)2
Az (5.01) képlet tehát a következőképpen igazítható ki:
S(u,v) = B2(y)a(u)S} (u,v) + Bl(v)a(u)S2(u,v) (5.07) (5.08)
Egy ilyen (5.08) függvény valószínűleg a legtöbb hurkot megszünteti.
-36«
Az a tény, hogy a szalagot a végeinél is le tudjuk csökkenteni, egyéb alkalmazásokat is sugall. Egy olyan léptékváltó függvény, mint a{(u) = l-u2 (5.09) az u = 1 végénél csökkenti le a szalagot, míg az
0^,(^) = 1-(^-1)2 (5.091) az u = 0 végénél. Hatékony módszer ez háromszög alakú (háromoldalú) felület előállítására, amint azt a szakma ismerői is elismerik.
2.2.1. Dudorok és horpadások két élből
Az ún. „dudor” tulajdonság két profil-él egyesítésével érhető el. A profilok megadhatók például a 24. ábrán látható 784a illetve 784b izoklin szalaggal rendelkező 780a és 780b félkörök formájában. A 784a és 784b izoklin szalagok különálló párhuzamos síkokon helyezkednek el. A 784a és 784b izoklin szalagok egyesítésével a 24. ábrán látható 786 felületet nyerünk, amely dudornak vagy horpadásnak tekinthető. Megjegyezzük, hogy igen sok más változat, például kupola-alak, rakétaorr, plató, alma, felső ív, stb. is létrehozható hasonlóképpen. Továbbá, ha a felső félkörív-szalagot forgatjuk, a dudort meg is csavarhatjuk. Ez a séma használható csövek közötti olyan átmenetek céljára, mint egy összekötés.
Megjegyezzük, hogy egy másik megvalósítás esetében az egyesítés úgy végezhető el, hogy az egyes (objektumtérbeli) határoló görbékkel szomszédos területet használjuk alapértelmezett izoklin szalagként, és ebből végezzük el az egyesítést az (1) vagy (4) képlettel. Tehát ha definiálunk egy ε>0 értéket, és minden egyes határvonal mentén minden egyes felületből veszünk egy olyan sávot és szélességet, amellyel a felületet össze akarjuk kapcsolni, akkor ezek a sávok használhatóak fel izoklin szalagként. Ennek megfelelően a felülethatárok profilgörbék lesznek, és ezek előképei használhatóak az (1) vagy (4) képletben.
2.3. Profilgörbék
Mivel a találmány szerinti eljárás alkalmas arra, hogy vegyünk néhány jól beállított (objektumtérbeli) különböző típusú profilgörbét, és ezeken keresztül hozzuk létre a nekünk megfelelő felületet a fenti (1) képlet szerinti egyesített S felületként, az S; és S2 felület mindegyikének két paramétertérbeli előkép-görbéje van, úgy, hogy ezek a görbék a B; és B2 egyesítő függvények határai, vagyis egy görbe Dj = 0-nál és Dj= 1-nél minden egyes Bj egyesítő függvényre vonatkozóan. Valójában nyolc olyan görbe lehetséges, amint az a 7.
-37ábrán látható, amellyel definiálni lehet egy egyesített felületet. Vagyis: lehetséges két 78a és 78b görbe az S, paraméterterében, és két további 78c és 78d görbe az S2 paraméterterében (természetesen sok esetben ez a két paramétertér azonos). Továbbá ott vannak a 78 görbék leképezései a 30 illetve 34 felületre, ezek adják meg a megfelelő 90, 54, 58 és 91 kép-görbéket a megfelelő 78a, 78b, 78c és 78d előképekkel.
Megjegyezzük, hogy abban az esetben, amikor az Sj és S2 paramétertere azonos, a 78b profil az 54 profil előképe. Továbbá ha a 78d S2-je (= 78b) az 58 profil, akkor a 78b benne van az Sí, az S2 és a 62 egyesített tér előképében egyaránt.
Ha a találmány szerinti eljárást felülettervezésre használjuk, a felhasználónak vagy tervezőnek módjában áll úgy megtervezni egy egyesített felületet, hogy folyamatosan húzza vagy deformálja egy kiinduló felület egy profilgörbéjét, és így teremt új felületet a kérdéses kiinduló felület valamint egy másik kiinduló felület profilgörbéje között.
Megjegyezzük, hogy a találmánnyal különböző típusú profil- és határoló görbék használhatók. A találmány szerinti eljárás egyes megvalósításainál egy ilyen C profilgörbe tipikusan parametrikus előképpel rendelkezik a paramétertérben, vagyis C'(s) = (u(s), v(s)), ahol az s az előkép parametrizálása (például 0 < s < 1). Megjegyezzük, hogy az olyan parametrikus görbék, mint a C, a következő alakú görbéket tartalmazzák: (a) egyeneseket, parabolákat, köröket és ellipsziseket tartalmazó másodrendű síkgörbék; Bezier, Hermite és egyenlőtlen racionális b-homyok (NURBS); (b) trigonometriai és exponenciális alakok; és (c) olyan egyelemű formák, mint a pontok. Továbbá Megjegyezzük, hogy ezek a görbealakok ortogonálisán osztályozhatók egyéb olyan tulajdonságok alapján, mint nyílt, zárt, egyelemű, összetett, amint az szakember számára nyilvánvaló.
A profilgörbék a következő (2.3.1)-(2.3.5) görbetípus-kategóriákba tartozó görbéket tartalmazhatnak:
2.3.1 Nyílt görbék
A nyílt görbe olyan görbe, amelynél a görbe végpontjainak nem kell egybeesniük, például a végpontok beállítása szabadon választható. A nyílt görbe valószínűleg a legáltalánosabb típus, amelyet a találmány szerinti eljárás esetében olyan görbék (profilok) tetszőleges együttesének a definiálására alkalmazunk olyan (objektumtérbeli) felület létrehozása céljából, ahol a felületnek meg kell felelnie a görbék együttesének.
2.3.2. Zárt görbék
2.3.2. Zárt görbék
Ha a görbe végpontjai egybeesnek, a görbét zártnak nevezzük. Ez azt jelenti, hogy a görbe kezdőpontja azonos a görbe végpontjával. A zárt görbék tartományokat - például felületet - határolnak, és különösen hasznosak különböző tervezési területek elkülönítésére. Az egyik példa erre a tartályok címkefelülete (leírását lásd a bevezető definíciói között); ilyen például a 2. ábra 66 felülete. A címkefelület tehát olyan tartomány, amelynek egy bizonyos felület típusúnak kell lennie, amelyet kiteríthető felületnek nevezünk, hogy a ráhelyezett címke ne gyúródjon meg és ne is tépődjön el. Minden egyes ilyen címkefelület erősen korlátozott, és általában zárt görbével választjuk el a terv többi részétől (az ilyen görbe esztétikai célokat is szolgálhat a tartály tervén). A 8. ábra a 108 hengerhez kacsolt 100 elliptikus tartományt mutatja, ahol a 110 zárt görbe határolja az elliptikus tartományt. Gyakori, hogy a zárt görbe egybeesik a tangensekkel a végpontokon.
2.3.3. Egyelemű görbék
Több módja van annak, hogy egyelemű profilt generáljunk. Az egyik módszernél a nyílt görbe hossza nulla, illetve a zárt görbe egy területtel nem rendelkező tartományt zár be. Ebben az esetben az eredmény egy pont, amely összekapcsolható a szomszédos felülettel. A 9. ábra egy olyan pont egyesítést mutat, amelyet egy egyelemű körszelet (azaz az Sj jelű pont) és a 116 henger (S2-ként is jelölve) egyesítésével hoztunk létre. Ezáltal egyszerű 112 dudort hoztunk létre a 116 hengeren. Ezen belül megfelelő BÍ5 i = 1, 2 egyesítő függvény esetén egyesített felülethez jutunk az (1) képlettel az Sí és S2 között. Továbbá, mivel az (1) képlet helyett használhatjuk a (4) képletet is, létrehozható olyan felület, amely több pont (azaz egyelemű profilok) és egy szomszédos felület között létesít egyesítést. A 23. és 24. ábra egyelemű profilokkal való további egyesítéseket mutat.
A 23. ábrán látható 710 egyesített felület a 714 egyelemű profil (pont) és a 722 henger 718 kör alakú vége között található. Ezen belül a 710 egyesített felület a 726 és 730 izoklin szalagok egyesítésével áll elő, ahol is a 726 izoklin szalag olyan síkbeli körlap, amelynek középpontja a 714 egyelemű profil, a 730 izoklin szalag profilja pedig a 718 kör alakú vége. Ha tehát az (1) képletben az Si a 726 izoklin szalag és az S2 a 730 izoklin szalag, a távmértékek (a megfelelő paraméterterekben) a következőkkel egyenlők:
(a) a 714 egyelemű profiltól a 726 izoklin szalagon mért sugárirányú távolsággal, (b) a 718 profiltól való, a 730 izoklin szalagon mért távolsággal.
A 24. ábra egy másik 750 egyesített felületet mutat, amely a 754 egyelemű profil (pont) és
-39egy, egy kör alakú 760 görbét (és opcionálisan egy olyan 762 központi vájatot ezen keresztül, amelynek a 760 görbe a határvonala) tartalmazó síkbeli 758 körgyűrű között húzódik. Ezen belül a 710 egyesített felület a (754 egyelemű profilhoz való) 766 izoklin szalag és a 758 körgyűrű (amely például opcionálisan lehet a 770 felület egy olyan izoklin szalagja, amelynek a 760 görbe egy profilja) közötti egyesítés eredménye. Ha tehát az Si a 766 izoklin szalag és az S2 a 758 körgyűrű, a távmértékek (a megfelelő paraméterterekben) a következőkkel lesznek egyenlők:
(a) a 754 egyelemű profiltól a 726 izoklin szalagon mért sugárirányú távolsággal, (b) a 760 profiltól való, a 758 körgyűrűn mért távolsággal.
2.3.4. Összetett görbék
A találmány szerinti eljárás újfajta mértani tervező technikái összetett görbékkel is használhatók. Az összetett görbék olyan általános görbe-formák, amelyek részgörbeként tartalmaznak más görbéket, amely részgörbék keresztezhetik egymást, vagy például a végpontjaiknál megtörhetnek. Az olyan összetett görbék használatakor, amilyenek például a profilok, fontos az összetett görbe távmértékének a definíciója. A 10. ábra egy olyan 120 összetett görbét mutat, amely két egymást keresztező 124 és 128 részgörbét tartalmaz. Ugyanakkor az ilyen összetett görbék részgörbéi is egyesülhetnek a végüknél.
Feltéve, hogy a C összetett görbe Cj, j = 1, 2,...,N részgörbéi parametrizálva vannak, és közös paraméterterük van, a Cj részgörbék előképeitől való D távmérték meghatározása a következőképpen történik:
D(p) = DN(P), valamint Dk(P)^dk(P} + Dk^P}-[d2k(P) + D2k_x{P^ (5.5) ahol k = 2,...N és Di(p) = di(P) = a P és C] közötti távmérték, és a Dk(P) = a P és Ck közötti távmérték. A D(p) tehát felhasználható egy olyan B(D) függvény bemeneti adataként, amellyel egy vagy több görbét lehet összekapcsolni a C összetett görbével.
2.3.5 Vágási görbe
A találmány szerinti eljárás lehetővé teszi a felület „levágását”, amely esetben a levágás arra a folyamatra vonatkozik, amikor egy felületet egy határoló görbe (ezt vágási görbének is nevezzük) egyik oldalára korlátozzuk vagy azzal határoljuk el. Ezen belül parametrikus felületek esetében a vágási görbe előképe például a felület (u,v) paraméterterében meghatározza, hogy a felület előképének mekkora részének kell megmaradnia a vágási műveletet követően. A vágási görbe lehet profilgörbe, és a kívánt levágott felület az eredeti levágat
-40lan felület azon része, amely tipikusan a vágási görbének csak az egyik oldalán helyezkedik el. Láthatunk egy példát erre all. ábrán, ahol az eredeti levágatlan felület a lényegében téglalap alakú 130 rész. A lekerekített 134 felület „címke”-felület, amely az eredeti 130 felületből van kivágva a 138 görbe mentén. Megjegyezzük, hogy a 138 vágási profilhoz tartozhat egy izoklin szalag (az ábrán ez nem látható) egy vagy több szomszédos felülethez (például a 142 felülethez), amely szorosan követi az izoklin szalagot a 138 vágási profil mentén . Ilyen szomszédos felületek alakmódosításakor az izoklin szalagok használata fontos technika a szomszédos felületekről a levágott felületre való sima átmenet megteremetésére.
Megjegyezzük, hogy a találmány szerinti eljárás tartalmazhat olyan vágási technikát is, amellyel vájatot lehet létrehozni egy mértani objektumban. Ha a mértani objektum első felületén vájatot hozunk létre a hátsó felületén keresztül, majd az első felületet levágjuk úgy, hogy kizárjuk a megfelelő részt a hátsó felületen, olyan vájat hozható létre, amely például egy tartály fogójaként használható.
2.3. Távolság metrika
A fentiekben már megadtunk néhány távmérték-számítási technikát. Ebben a részben további ilyen technikákat ismertetünk. A találmány szerinti eljárás mértani tervező és modellező kiviteli formájának a hatékonyságát jelentősen befolyásolhatja az, hogy milyen hatékonyan számítjuk ki egy a paramétertérben levő pont távolságát egy vagy több adott mértani objektum előképtől (görbéktől) a paramétertérben. Általában a paramétertérben levő pontok és görbék között az ilyen távmérték-számítások esetén (ahol általában a hagyományos euklideszi távolságmetrika egy monoton függvényéről van szó) kompromisszumra kell jutni a görbe komplexitása és a kérdéses mérések értékelésének a hatékonysága között. Általában minél egyszerűbb a görbe, annál gyorsabban lehet meghatározni a kérdéses távolságokat. Mellékesen Megjegyezzük, hogy egy paramétertérbeli görbe és (objektumtérbeli) kép-görbéje esetében ezek a görbék nem tartoznak szükségszerűen azonos számítási típusba (például polinom, transzcendens, nyílt, zárt stb.). Sőt, egy egészen egyszerű paramétertérbeli görbe is lehet egy bonyolult objektumtérbeli felület-görbe előképe. Például az 1. ábrán látható 58 Bezier-görbének megfelelő paramétertérbeli görbe lehet egy egyenes vonal. Ha a lehető legegyszerűbb paramétertérbeli görbével dolgozunk, ez gyors távolságszámítást tesz lehetővé.
2.4.1. Parametrikus távolságszámítások egyesítés céljára
Az alábbi részben többféle távmérték-számítási eljárást ismertetünk (amelyek általánosabban a hagyományos euklideszi távolságmetrika monoton függvényei) több paramétertérbeli görbére vonatkozóan, és nagyjából növekvő számítási nehézségi sorrendben soroljuk fel ezeket.
Tételezzük fel, hogy egyesített felületet kell létrehozni a Pi és P2 profilgörbék között, amelyek mindegyikének megvannak a maga izoklin szalagjai, úgy, hogy minden egyes szalag parametrizált, és például a síkbeli egységnégyzet [0,1] x [0,1] a szalagok közös paramétertere. Az egyesítés céljára használható egyik alkalmas távolság függvény olyan függvény, amely a közös paramétertérben az (u,v) koordináta-párral ábrázolt pontok egyik vagy másik koordinátájától függ csak. Vagyis, feltéve, hogy az izoklin szalagok P] és P2 profilja olyan, hogy előképük a u = ki és u = k2 függőleges egyenes, ahol 0 < ki < k2 < 1, akkor a megfelelő távmérték-függvény lehet a Di(u,v) = (u-k2)/(ki-k2) illetve D2(u,v) = (uki) / (k2-ki). Továbbá, ha az előképek a paramétertérbeli határoló függőleges u = 0 és u = 1 egyenesek (azaz: ki = 0 és k2 = 1), akkor a megfelelő távmérték-függvény lehet Di(u,v) == 1 illetve D2(u,v) = 2, és ennek megfelelően az ilyen egyszerű távmérték-függvényeket nagyon hatékonyan ki lehet számítani.
Három eljárás alkalmazható a parametrikus távmérték-számífásra, ha kettőnél több összekapcsolandó profil előképeiről van szó, és meg akarjuk őrizni a parametrikus távolságszámítás kívánatos egyszerűségét. Az alábbiakban egyenként ismertetjük e három módszert.
Egy paramétertérbeli háromszög alakú tartomány, amelyet például három profilgörbeelőkép (amely egyben görbe is) határol, a vb v2 és v3 csúcspontjai alapján parametrizálható, három (valós értékű) r, s és t paraméter alkalmazásával, és az r + s +1 = 1 kikötéssel. Más szóval, a vb v2 és v3 csúcspontú háromszög alakú tartományban levő p pont p = r*vi + s*v2 + t*v3 -ként reprezentálható. Az r, s, t paramétereket súlyponti koordinátáknak nevezzük, és olyan háromoldalú felületekkel használjuk őket, mint a 14. ábra paramétertérbeli 300 felülete.
A paramétertérben elhelyezkedő, négy profil előképe által határolt tartományok (ezeket négyoldalú esetnek nevezzük) lehetnek a két szemközti oldalán határolt (kétoldalú esetnek nevezett) tartomány egyszerű kiterjesztései. A kétoldalú esetnél megfelelő parametrizálás esetén csak egy paramétert, az u-t kell használni a távolmérték-függvény kiszámításánál. A négyoldalú esetnél használható mind az u, mind a v paraméter, valamint ezek kiegészítői
-42(olyan megfelelő megjelenítést tételezve fel, mint a paramétertérbeli egységnégyzet). Ily módon a négy profil-előkép határvonaláig tartó távolság a paramétertérben u, v, 1-u és 1-v lehet (vagyis feltesszük, hogy a profilok előképei u = 0, v = 0, v = 1, u = 1).
Parametrikus térbeli tartományok súlyponti koordinátáinak a meghatározására - feltéve, hogy a profilok előképei sokszöget alkotó szakaszok - használható a 12. ábrán bemutatott megközelítésmód (egy 148, vb v2, v3, v4 és v5 csúcspontú ötoldalú poligonra vonatkozóan), ahol a profil előképek a 149a-149e jelzetű vastag vonalak. A távmérték függvény meghatározásához először is „stellálni” kell, vagyis csillagalakzatot kell létrehozni a 148 poligon előképéből úgy, hogy a 149a-149e oldalak mindegyikét meghosszabbítjuk addig, míg nem kereszteznek egy köztük levő másik meghosszabbított 149 vonalat. Ily módon meghatározzuk a 150a-150e metszéspontokat a 12. ábra ötoldalú esetére. Ezt követően megszerkeszthetek a 152a-152e szakaszok a megfelelő 150a-150e pontokból a poligon egy p pontjára. Az eredményül kapott távmértékek a 153a-153e szakaszok megfelelő hosszai a p ponttól a 148 poligon 149a-149e oldaláig. Következésképpen a p ponttól a 149 i-edik oldaláig (i = a, b, c, d, e) mért távolság a 153 i-edik szakasz mentén mért távolság a p-től a 148 poligon határoló éléig. Megjegyezzük, hogy ha minden egyes eredményül kapott távmértéket elosztunk a p ponthoz tartozó összes távmérték összegével, normalizálhatók a távmértékek.
2.4.2. Egyenes vonal
Az egyenes vonal az au + bv = c egyenlettel reprezentálható, ahol a, b és c állandók. Egy vonaltól való (előjel nélküli) távolság könnyen megkapható a következőképpen:
D(m,v) = |(íz,ű)((u,v)-c| (6)
Az euklideszi távolságnak megfelelő intuitívabb változatot kapunk a (6) képletet normalizálásával, amit osztunk a gradiens hosszával:
P(w,v) = |(ú^)((u,v)-c|/(íz2 + b2), (7)
2.4.3. Másodrendű síkgörbék
Másodrendű síkgörbék a parabolák, a hiperbolák és az ellipszisek. A másodrendű síkgörbe általános alakja a következő:
Au2 + Buv + Cu2 +Du + Ev + F = 0.
Előjel nélküli távolsága a következőképpen számítható ki:
+ íjb(«,v) + F (8)
Ez szintén normalizálható, ha osztunk a függvény gradiensének a hosszával, miáltal megfelelőbb távmérték-függvényt kapunk, amely a kör esetében euklideszi. Megjegyezzük, hogy Farin: Introduction to Curves and Surfaces című művében (Bevezetés a görbékbe és részfelületekbe), Academic Press, 4. kiadás, 1996, megadja a fenti implicit alak és egy racionális parametrikus alak közötti konverziót. A (8) képlet tehát alkalmazható, függetlenül attól, hogy a másodrendű síkgörbe implicite vagy parametrizálva van-e megjelenítve.
2.4.4. Parametrikus és implicit polinom görbék
Tételezzük fel, hogy egy parametrikus görbét Bezier-alakúra konvertáltunk, például a fent említett Farín-referencia által ismertetett módon. A Proc. ACM Solid Modeling Conf., 1993. májusi Blending Parametric Objects by Implicit Techniques című cikkéből (Parametrikus objektumok egyesítése implicit technikákkal) egy olyan eljárást ismerhetünk meg, amellyel egy görbét parametrikus görbéből numerikus módon implicit görbévé lehet átalakítani, úgy, hogy a távolságot implicite mérjük az objektumtérben úgy, hogy eltoljuk a görbét egy adott irányba, úgy, hogy az eltolás kiszámítása heurisztikus alapokon történik. A pont távmértéke annak az eltolási távolságnak az értéke, amelynél az eltolt görbének át kell haladnia a ponton. Konkrétan egy Bezier-görbe esetében érdemes lehet ezzel a távmértékkel dolgozni, mivel hatásos (vagyis nem rosszul kondicionált) és viszonylag gyorsan ki lehet értékelni, mivel átlagosan csak két-három Newton-Raphson iterációra van szükség hozzá, amint ez a szakterületen jártas szakember számára világos. Habár ez az eljárás talán egy nagyságrenddel lassúbb, mint a másodfokú síkgörbék távolságmértékének a kiszámítása, de sokkal gyorsabb, mint a merőleges távolság kiszámítása, amely ráadásul instabil is.
2.4.5. Szakaszos parametrikus görbék
A találmány szerinti eljárás ezen túlmenően egy új megoldást ad a paramétertérben elhelyezkedő összetett görbék távmértékének a kiszámítására is.
A 13. ábra alapján tételezzük fel, hogy a 156a és a 156b határoló görbék a 158 egységnégyzet paramétertérben található szakaszos parametrikus polinom görbék, a megfelelő, azonos n-ed fokú 160a, 160b részgörbékkel Ha a megfelelő részgörbék végpontjait össze
-44kötjük a 164 szakaszokkal (azaz elsőfokú görbékkel ), a paramétertér 158 egységnégyzet megjelenítésében megszerkeszthető az n-ed fok a 168 Bezier-foltokkal. Megjegyezzük, hogy minden egyes 168 folt önmaga második, (s,t) koordinátájú paraméterterének tekinthető, ahol (a) két 160a és 160b Bezier-részgörbe esetében (amelyeket itt bi(t) és b2(t), 0 < t < 1 jelöl), a t minden egyes to értéke egy a bi(to) és b2(to) közötti //Lto// szakasznak felel meg, és (b) az s úgy parametrizálja az szakaszt, hogy Z,,o(s) gú(/0), ha s = 0, és Ζ,θ (5) e ú2(/u), ha s = 1, ahol az s a b 1 (to) és a b2(to) közötti távolsággal arányosan változik, amikor 0 < s < 1. Következésképpen, ha a bi(t) és a b2(t) görbe (és/vagy a 164 folthatároló szakaszok) közötti távmértéket a második paramétertérben számítjuk ki, akkor bármely, a folton belül elhelyezkedő (u,v) ponthoz meg kell keresni a kérdéses folthatároló görbékhez képest a megfelelő (s,t) pontot, és ezt követően ezt kell kiértékelni a távmértéket megállapítandó. Mivel az s a lineáris paraméter (amely egy olyan pont távolságának felel meg, amely a két megfelelő 160 és 160b részgörbe között helyezkedik el, amelyeket a 164 ugyanazon két szegmense kapcsol össze a végpontjaiknál), a bi(t) illetve b2(t) távolságfüggvényei lehetnek az egyszerű fi(s) és f2(s), úgy, hogy fi(s) = s és f2(s) = 1 - s. Megjegyezzük, hogy mind az u, mind a v paraméter ábrázolható az s és a t Bezierfüggvényeként. Ezen belül az (s,t) koordinátákból az (u,v) paramétertér-koordinátákba való konvertálás céljára használható egy Newton-típusú algoritmus, amint az a szakma ismerői számára világos.
A távmérték meghatározásának egy másik megközelítése bizonyos körülmények között az ilyen 168 foltok kiértékelése „elöreható algoritmussal”. Vagyis, a 25. ábrán látható egy olyan 808 objektumtérbeli egyesített felület, amely például a812ésa816 profilokat kapcsolja össze (amelyek izoklin szalagja a 820 illetve a 824, amelyeket a 808 felület szorosan követ). A 812 profil előképe a 160a görbe (a 158 paramétertérben), és a 816 profil előképe a 160b görbe (a 158 paramétertérben), úgy, hogy a 158 paramétertémek a 808 felülethez tartozó része a 168 folt. Egy további 828 paramétertér s-ben és t-ben tekinthető a 158 paramétertér előkép-paraméterterének, ahol a 160a görbe előképe a függőleges szakasz s = 0nál, és a 160b görbe előképe a függőleges szakasz s = 1-nél. Ha a 828 további paramétertérben x-ekkel jelölt 830 pontok elég sűrű halmazát használjuk a 168 folt (u,v) pontjainak az értékelésére (például egy 830 legközelebbi pont meghatározása útján), akkor az egyesített 808 felületen levő megfelelő p(u,v) pontok hatékonyan kiszámíthatók, hiszen a 160a és
-45 160b előkép-görbékre vonatkozó távmérték-függvények lehetnek Di(u(s,t),v(s,t))=s illetve D2(u(s,t),v(s,t))=l-s. Ezzel a megközelítésmóddal könnyen és gyorsan létrehozható a egyesített felület. Megjegyezzük, hogy ez az eljárás különösen vonzó abban az esetben, amikor a 808 felületen nem kell később levágási műveletet végeznünk.
3. Egyesítő programok
A 17. ábra a találmány szerinti eljárás felhasználója által végzett tervszerkesztési műveletek tipikus menetét ábrázolja. Tehát: egy kapcsolódó profil megszerkesztéséhez profilfogókra lehet szükség, és a csatlakozó izoklin szalag megszerkesztéséhez szükség van profilra, az izoklin szalagra pedig szükség lehet ahhoz, hogy megkapjuk a csatlakozó objektum (például felület) kívánt alakját, amelyre viszont a kívánt mértani modell megszerkesztéséhez van szükség.
A 26-30. ábrák a találmány szerinti eljárás egy megvalósítása által végzett feldolgozást mutatják magas szinten, amely lehetővé teszi a mértani objektum alakjának újszerű, valós idejű manipulálását, aminek következtében a felhasználó hatékonyabban és közvetlenebbül kifejezheti tervezői szándékát. Továbbá Megjegyezzük, hogy a találmány szerinti eljárás egyik alaptétele a tipikus CAD rendszerektől való paradigmatikus eltérés. Vagyis: a tipikus CAD rendszernél a felhasználónak be kell vinnie a mértani objektum megváltoztatására vagy módosítására vonatkozó bemeneti adatot, majd ezt követően kérnie kell a bemeneti adatfeldolgozás megkezdését. A felhasználó tehát az általa megjelölt diszkrét időpontokban kap visszajelzést a tervről. A találmány szerinti eljárás ezzel szemben valós időben dolgozza fel a frissítéseket, rögtön az adatbevitelt követően, anélkül, hogy a felhasználó kifejezetten jelezné, hogy el kell végezni a frissítés feldolgozását. Ennek megfelelően a találmány szerinti eljárás felhasználója hatékony iteratív approximációt végezhet a tervezés alatt álló mértani objektumra vonatkozóan, anélkül, hogy pontosan ki kellene számítania lényegében az objektum minden egyes részének a mértani tulajdonságait. Ez különösen jelentős hatékonyságbeli előnyökkel járhat, hiszen számos mértanilag tervezett objektum esetében (beleértve a géppel megmunkált részeket is) a kérdéses objektumok lényeges részei kielégíthetőén megtervezhetők mértani alakú objektumok széles skálájának a felhasználásával. A találmány szerinti eljárás segítségével tehát sok ilyen mértani objektum megtervezhető anélkül, hogy a felhasználónak szükségtelenül pontosan meg kellene adnia az objektum azon részeit, amelyeknél szükségtelen ilyen pontosság.
A 26. ábra azt mutatja, milyen lépésekben számolunk ki egy interpoláló görbét a találmány
-46szerinti eljárással, a fenti 2. részben tárgyalt (1) képlet egydimenziós változatát használva. Eszerint 1004 lépésben megkapjuk a létrehozandó C(u) interpoláló görbe végpontjait és végponti tangenseit. Az adott esetben a kérdéses görbe végpontjait a PT1 és PT2 változókhoz rendeljük hozzá. Továbbá, a C(u) interpoláló görbe PT1 és PT2 pontjához tartozó irányvektorokat hozzárendeljük a TANI illetve TAN2 változókhoz. Megjegyezzük, hogy PT1, PT2, TANI és TAN2 többféleképpen is megadható. Például a kérdéses változók közül egynek vagy többnek az értékét megadhatja a felhasználó, és/vagy közülük egy vagy több deriválható egyéb, a felhasználó rendelkezésére álló mértani objektum megjelenítéséből (például egy másik görbe, felület vagy test megjelenítéséből). Adott esetben a TANI és TAN2 nevű irány tangensventorok automatikusan is meghatározhatóak egy olyan mértani objektum (például felület) parametrizációjának megfelelően, amelyen a PT1 és PT2 pont elhelyezkedik.
1008 és 1012 lépésekben a fenti (2.1.) részben tárgyalt módon kiválasztjuk aB| és B2 egyesítő függvényeket. Megjegyezzük azonban, hogy a megadott egyesítő függvények beállíthatóak egy bizonyos egyesítő függvény párra, és akkor a felhasználónak nem kell explicite megadnia őket. Ugyanakkor a találmány szerinti eljárás megengedi azt is, hogy a felhasználó kifejezetten megválaszthassa ezeket a egyesítő függvényeket. Ebben a vonatkozásban Megjegyezzük, hogy mivel a találmány szerinti eljárás célja kifejezni a felhasználó mértani tervezői szándékát, igen sokféle elfogadható egyesítő függvény lehetséges, hiszen a felhasználó szándékát gyakran ki lehet fejezni anélkül, hogy célzatosan igen pontos inputot adna meg. Vagyis úgy véljük, hogy az egyesítő függvények széles skálája lehet elfogadható egy végső mértani objektum iteratív approximációja céljára, hiszen egyre finomabb részleteket lehet megadni úgy, hogy a tervezés alatt álló mértani objektum egyre kisebb részeit hozzuk létre és/vagy módosítjuk lényegében ugyanannak a egyesítő függvénynek az alkalmazásával. Másképp fogalmazva: mivel a találmány szerinti eljárás támogatja a precíz (mértani vagy egyéb) korlátozások megadását csakúgy, mint a felhasználói szándék iteratív kifejeződését fokozatosan növekvő nagyításokban, a nagy pontosságú és/vagy kis léptékű tervezési jellemzőket elég akkor bevenni a felhasználói tervbe, amikor tényleg szükség van rájuk.
1016 lépésben kiszámítjuk a C(u) interpoláló görbét a (2) képlet egy egydimenziós paramétertérre alkalmazott változatával. A 32. ábra a megjelölt PT1 és PT2 pontokkal és TANI és TAN2 vektorokkal rendelkező C(u) interpoláló görbét mutatja.
A 27. ábra folyamatábrája azt mutatja, milyen lépéseket végzünk egy S objektum (például
-47felület) R(u) izoklin határvonalára vonatkozó approximáció megszerkesztésekor, ahol a PT1 és PT2 pontok egy olyan profílgörbét jelölnek ki, amely megfelel a generálandó izoklin szalag határvonal approximációnak. Adott esetben a kérdéses folyamatábra által létrehozott közelítő izoklin szalag határvonalnak közelítőleg meg kell felelnie a fenti Definíciók c. részben megadott izoklin szalag definíciónak. Még pontosabban: a jelen folyamatábra által meghatározott izoklin szalag határvonal meg fog felelni az S objektum PT1 és PT2 közötti részére vonatkozó izoklin szalag határvonal definíciónak, annak a függvényében, hogy például milyen sima az objektum a PT1 és PT2 között létrehozott profilgörbe mentén. Tehát: a 27. ábra 1104 lépésében behívjuk a 26. ábrán ábrázolt görbe interpoláló programot az S objektum (felület) a PT1, PT2 pontjaival és ezek megfelelő TANI és TAN2 tangenseivel. Ily módon egy olyan C(u) interpoláló görbét kapunk vissza, amely a kérdéses görbével szomszédos S körvonalának az approximációja.
1108 és 1112 lépésben az S objektum parametrizációja mentén egy-egy tangenst (azaz jelzőkarót) határozunk meg a PT1 illetve a PT2 pontnál; és ezekhez hozzárendeljük a PICKET1 illetve PICKET2 változót. Megjegyezzük, hogy a PICKET1 és PICKET2 jelzőkarók tipikusan merőlegek lesznek a TANI és a TAN2 vektorra, bár ez nem szükségszerű. Ezt követően alll6ésall20 lépésben meghatározzuk a PT 1-nek és a PT2-nek megfelelő izoklin szalag pontokat, és hozzárendeljük őket a RIBBON PT1 illetve a RIBBON PT2 változókat. Ezután a 1124 lépésben ismét behívjuk a 26. ábra görbe interpoláló programját a RIBBON_PT1, RIBBONPT2, TANI és TAN2 értékkel, hogy ezáltal hozzuk létre az R(u) izoklin szalag határvonal approximációt. Érdemes megjegyezni, hogy bizonyos esetekben nem alkot feltétlenül felületet a C(u) interpoláló (profil) görbe által határolt izoklin szalag approximáció, a megfelelő jelzökarók (PICKET 1 és PICKET2), és az R(u) újonnan létrehozott izoklin határvonal. A C(u) és R(u) görbék például lényegében egybeeshetnek (például ha a PICKET1 azonos a TANI-gyei és a PICKET2 a TAN2-vel).
A 28A. és 28B. ábra egy olyan program folyamatábráját mutatja, amellyel precízebb izoklin szalag határvonal szerkeszthető, mint a 27. ábrából adódó approximációval. A 28A. és 28B. ábra folyamatábrája ismételten és adaptív módon behívja a 27. ábra programját, aszerint, hogy milyen változtatást eszközölünk az S objektumon (például felületen) a rajta megadott profilgörbe útja mentén. Ennek megfelelően a 28A. ábra 1204 lépésében egy vagy több Mj, i = 1,2,...N, N > 1 markerből álló sorozatot rendelünk a MARKER SET változóhoz, úgy, hogy a kérdéses markerek az S felületen találhatóak, és a markerek a létrehozandó profilgörbe mentén megcélzott előfordulásuk sorrendjében rendezettek. Megje
-48gyezzük, hogy az egyik tipikus megvalósításnál a markereket általában a találmány szerinti eljárás felhasználója adja meg (szerkeszti meg és/vagy választja ki). Továbbá ennél az ismertetésnél most feltételezzük, hogy az Mj markereknek megfelelő S felületi érintők a felhasználó által bevitt S érintők. A találmány szerinti eljárás kereteibe azonban belefér az is, hogy az ilyen tangensvektorokat automatikusan adjuk meg, például az S felület parametrizációs irányára vonatkozó tangens meghatározásával.
A 28A. ábra 1208 lépésében először hozzárendeljük a MARKER_SET halmazban levő első markert a MARKER 1 változóhoz. Ezt követően a 1212 lépésben meghatározzuk, hogy van-e további marker a MARKER_SET-ben. Ha van, a 1216 lépésben az INTRVL változóhoz hozzárendelünk egy parametrikus növekmény-értéket a későbbiekben az alábbiak szerint generálandó profílgörbén/görbéken levő pontok növekményes kiválasztása céljából. Az egyik megvalósítás esetében az INTRVL-hez olyan értéket lehet hozzárendelni, amely a kb. 10'3 - 10’4 -nél nagyobb vagy azzal egyenlő tartományban van.
A 1220 lépésben a MARKER2 változóhoz hozzárendeljük a MARKER_SET-ben levő következő marker értékét. Ezután a 1224 lépésben behívjuk a 26. ábra görbe interpoláló programját a MARKER 1-gyei és MARKER2-vel (és ezek megfelelő, a felhasználó által megadott tangensvektoraival), miáltal megkapjuk a Cj(u) interpoláló görbét a két marker között (ahol j = 1,2, ..., attól függően, hogy ezt a lépést hányszor végezzük el). Ezután a 1228 lépésben a 27. ábrának megfelelően meghatározunk egy izoklin határvonal approximációt a MARKER1 és MARKER2 és a C(u) interpoláló görbe felhasználásával, hogy megkapjuk az Rj(u) izoklin határvonal approximációs görbét.
Ezt követően a 1240 lépésben az u_VAL változóhoz hozzárendeljük az INTRVL kiinduló beállított értéket, hogy pontokat válasszunk ki a Cj(u) és az Rj(u) görbéken. Ezután a 1224 lépésben az INCRMT PT változóhoz hozzárendeljük a Cj(u_VAL)-nak megfelelő pontot. Majd a 1245 lépésben az S_PT változóhoz hozzárendelünk egy pontot az S-en, amely a „legközelebb esik” a Cj(u VAL) ponthoz. Pontosabban: feltételezve, hogy az S nem hajlik vissza saját magáraz e > 0-nál közelebb egy bizonyos e-re, kiválasztunk az S-en egy olyan pontot, amely a Cj e-nél kisebb környezetében található. Megjegyezzük, hogy mivel előfordulhat, hogy a Cj(u_VAL) nincs rajta az S-en, mivel az INTRVL értékét úgy állítjuk be, hogy ennek a változónak az értéke megfeleljen a maximális hossznak az interpoláló Cj görbe mentén a kérdéses görbe által keresztezett bármely S felületi hullámzás max. felénél, azt gondoljuk, hogy a Cj interpoláló görbe valóban követi az S felületet vagy egybeesik az
-49zal. Ezt követően a 1246 lépésben meghatározzuk, hogy az INCRMTPT pont az előre megadott S_PT távolságon belül van-e (az előre megadott távolság lehet például a 10’3-tól a 10'6 tartományban). Ezen belül az előre megadott távolságot beállíthatja a felhasználó és/vagy beállítható egy olyan rendszer-értékre, amely változtatható annak az alkalmazásnak megfelelően, amelyre A találmány szerinti eljárást éppen alkalmazzuk. Következésképpen, feltételezve, hogy az INCRMT PT és az S_PT az előre megadott távolságon belül van, jön a 1248 lépés, amelyben meghatározzuk az izoklin határvonal approximáción levő Rj(u VAL) pontot, és hozzárendeljük a RIBBON PT változóhoz. Ezt követően a 1252 lépésben meghatározzuk az izoklin jelzőkaró egy közelítését Cj(u_VAL)-nál, és ezt hozzárendeljük a PICKET változóhoz.
A 1254 lépésben meghatározzuk az S felület (általánosabban: objektum) tangensét a Cj(u VAL) pontnál, és hozzárendeljük az INCRMT TAN változóhoz, amely tangens az S parametrizálása irányába esik.
A 1256 lépésben meghatározzuk azt, hogy az INCRMT_TAN és a PICKET vektorok elég közel vannak-e egymáshoz (például egy képernyő-pixelen belül). Ha igen, akkor meghatározunk egy következő új pontot a Cj interpoláló görbén az u_VAL értékének az inkrementálásával a 1264 lépésben. Majd a 1268 lépésben meghatározzuk, hogy elértük-e illetve elhagytuk-e a Cj(u) interpoláló görbe végét. Megjegyezzük, hogy a feltételezés itt az, hogy 0 < u < 1. Következésképpen, ha az u_VAL kisebb 1-nél, akkor megint sorra kerül a 1244 lépés, és elvégezzük a 1256-ig tartó lépések egy részét vagy mindegyikét, hogy meghatározzuk, hogy az Rj(u VAL) izoklin szalag approximáció elég közel esik-e a tényleges szalagponthoz a fenti Definíciók c. részben megadott elméleti definíció értelmében.
Visszatérve most a 1246 lépésre, Megjegyezzük, hogy ha az INCRMT_PT nincs elég közel az S-hez, akkor meghatározunk egy olyan interpoláló görbét, amely pontosabban van azonosítva az S aktuális pontjaival. Vagyis az S_PT pontot markerrá tesszük, és beillesztjük a MARKER_SET-be, miáltal új Cj(u) és Rj(u) interpoláló szalag görbéket hoztunk létre, amelyek kevésbé fognak eltérni az S-től (feltéve, hogy az S folytonosan differenciálható). Vagyis elvégezzük a 1272 lépést, úgy, hogy hozzuk létre az S_PT pont markerét, és ezt az új markert beillesztjük a MARKER_SET-be a MARKER1 és a MARKER2 aktuális értékei közé. Ezután az aktuálisan MARKER2-vel jelzett markert megjelöljük „nem használtként” (1276 lépés), és a 1280 lépésben töröljük a legutóbb szerkesztett Cj(u) interpoláló görbét és bármely kapcsolódó Rj(u) izoklin szalag határvonalat. Ezután ismét elvégezzük a 1220 és az ezt következő lépéseket, hogy meghatározzuk az új Cj(u) és Rj(u) interpoláló és
-50szalag határvonal görbéket.
Megjegyezzük, hogy a 1272-től 1280-ig tartó lépéseket és a 1220 lépést akkor is elvégezzük, ha a 1256 lépésben az INCRMT TAN és a PICKET úgy van megadva, hogy nincsenek elég közel egymáshoz az S objektumterében.
Visszatérve ismét a 1268 lépéshez, ha elértük vagy elhagytuk a Cj(u) interpoláló görbe végpontját, akkor feltételezzük, hogy a Cj(u) elég közeli approximáció az S-en levő pontokhoz (a MARKER1 és MARKER2 között), és az Rj(u) nincs elég közel a kérdéses pontok egy izoklin szalagjához az S-en. Ha tehát vannak további olyan markerek is, amelyekre vonatkozóan nem határoztuk még meg a Q(u) interpoláló görbét és a neki megfelelő Rj(u) szalag-approximációt, akkor meghatározzuk a MARKER_SET-ben a következő egymásra következő marker párt (a marker elrendezésben), és elvégezzük a 1220 és ez utáni lépések egy részét. Vagyis a 1284 lépésben a MARKERl-hez hozzárendeljük a MARKER2 értékét, és a 1288-ban meghatározzuk, hogy van-e következő nem használt marker a MARKER_SET-ben. Ha van, akkor a fent ismertetett módon elvégezzük a 1220 és rákövetkező lépések variációit. Ellenkező esetben, ha már minden marker használtként van megjelölve, akkor a 1292 lépés grafikusan megjeleníti a Cj(u), Rj(u) eredmény-görbéket minden egyes felhasznált] = 1, 2,...-re, és eltárolja későbbi visszakeresés céljára. Megjegyezzük, hogy a Cj(u) profilgörbék opcionálisan újra parametrizálhatók úgy, hogy ezek a görbék együttesen parametrizálhatók legyenek egy C(u) görbeként, ahol 0(0) = C,(0) és
0(1) = 0^(1).
A 29. és 30. ábrák folyamatábrái magas szinten ismertetik, hogyan lehet egy vagy több felületet (általánosabban mértani objektumot) módosítani izoklin fogók, szalag tangensek és ezek kapcsolódó izoklin szalagjainak a módosításával. Ezen belül, az egyszerűség kedvéért feltételezzük, hogy van egy összetett So felület, amely (legalább részben) egy vagy több Sj, i = 1, 2,...N, N > 1 részfelülettel meg van adva, úgy, hogy a kérdéses Sj részfelületek egymáshoz vannak kapcsolva (például össze vannak illesztve) közös határvonalaik mentén, úgy, hogy az So-nak nincsenek nem kapcsolódó részei. Ily módon egy ilyen So összetett felület esetében a műveletek magas szinten a következőképpen írhatóak le. A módosítandó Sj részfelületekkel együtt meghatározunk egy izoklin fogót és/vagy szalag tangenst, amelynek legalább egy mértani jellemzőjét (például hosszát, irányát, görbületét stb.) meg kell változtatni, hogy tükrözze az izoklin fogó és/vagy szalag tangens változásokat (lásd a
-51 29. ábrát). Ezt követően kiszámítjuk és valós időben megjelenítjük a részfelületek módosításait, ahogyan a felhasználó beviszi a kiválasztott izoklin fogó és/vagy szalag tangens módosításait (lásd a 30. ábrát). Megjegyezzük, hogy a felületek (általánosabban: mértani objektumok) valósidejű módosítása korábban nem volt lehetséges magasabb dimenziós mértani objektumok esetében, mivel túlságosan nagy volt a számítógépes kapacitás szükséglete. A találmány szerinti eljárás viszont lecsökkentette ezt a kapacitás-igényt azzal, hogy olyan új technikát biztosít az egyesített felületek kiszámítására, amely igen hatékony, és amely tiszta felületeket hoz létre.
Az alábbiakban részletesebben ismertetjük a 29A. és 29B. ábrát. Ha nincsenek az egyes Sí részfelületek teljes határvonalának megfelelő profilok vagy izoklin szalagok, 1400 lépésben olyan profilokat és izoklin szalagokat készítünk, amelyek közelítenek az egyes Sj részfelületek teljes határvonalához. Megjegyezzük, hogy ez a lépés elvégezhető a 28. ábra folyamatábrája szerinti program felhasználásával. A 1404 lépés grafikusan megjeleníti a felhasználónak az So felületen levő markereknek megfelelő izoklin fogókat és szalag tangenseket. A 1408 lépésben meghatározzuk, hogy a felhasználó egy vagy több további izoklin szalag hozzáadását kérte-e az So felülethez, vagy egy meglévő olyan izoklin szalag kiterjesztését, amelynek a profilgörbéje az So-n van. Ha a felhasználó előállt ilyen kéréssel, akkor elvégezzük a 1412 lépést, hogy biztosítsuk, hogy a felhasználó által hozzáadott bármely egyéb markeren kívül megadtunk markereket (a) minden olyan esetben, amikor a profil hozzáér egy Sj részfelület határvonalához, és (b) úgy, hogy a profilgörbék kitérjesztése olyan módon történik, hogy azáltal mindegyik egy S, részfelület egy határánál ér véget. Ezen kívül további markereket is megadhatunk a görbe-profilok metszéspontjainál. Ily módon ez utóbbi markerekhez két különálló szalag tangens is tartozhat (vagyis minden egyes részfelülethez egy).
Ezt követően 1416 lépésben behívjuk a 28. ábra programját minden egyes S, részfelülethez, ahol i = 1, 2,...,N, hogy ezáltal megkapjuk a kívánt további profilokat és izoklin határokat. Mellesleg Megjegyezzük, hogy a 28. ábra programját csak az olyan részfelületek esetében kell behívni, amelyekhez új markereket adtunk hozzá.
Az 1416 lépést követően 1420 lépésben megjelenítünk minden újonnan megadott izoklin fogót és szalag tangenst. Megjegyezzük, hogy némely megvalósítások először csak az izoklin fogókat jelenítik meg, és a felhasználó választhatja a szalag tangensek kívánság szerinti szelektív megjelenítését.
-52Ezt követően 1424 lépésben megállapítjuk, hogy a felhasználó kérte-e egy vagy több további marker megadását a meglévő profilokon belül. Ha igen, akkor elvégezzük az új markerek hozzáadását, és meghatározzuk legalább az új markerekre vonatkozó megfelelő izoklin fogókat. Mellesleg Megjegyezzük, hogy a találmány szerinti eljárás egy megvalósítása esetében új marker hozzáadásakor a meglévő profilhoz a profil valamelyest megváltozik, mivel ekkor pontosan megegyezik az So felülettel egy másik pontnál, és a profil egymás után következő markerei között (a 26. ábra szerint) létrehozott interpoláló görbét most az újonnan hozzáadott marker felhasználásával hozzuk létre. Ennek megfelelően az egy vagy több további markerrel rendelkező profil általában jobban meg fog felelni az So felület vele szomszédos részei alakjának.
Ezt követően 1432 lépésben grafikusan megjelenítjük a felhasználó számára a megadott új markereket és opcionálisan ezek megfelelő izoklin fogóit és szalag tangenseit is.
Megjegyezzük, hogy az 1408-1420 és az 1424-1432 lépéseket nem kell feltétlenül a megadott sorrendben elvégezni. A számítógépes felhasználói interfész tervezésben jártasak számára érthető módon az esemény-vezérelt felhasználói interfészeknél minden egyes új marker feldolgozása elvégezhető egyenként, és az eredmény megjeleníthető, mielőtt még a felhasználó megadná a következő új marker előfordulási helyét. Tehát a 1408-1420 lépések egymás utáni elvégzése keveredhet az 1424-1432 lépések egyszeri vagy többszöri elvégzésével.
1436 lépésben meghatározzuk, hogy a felhasználó kiválasztott-e izoklin fogót és/vagy szalag tangenst módosításra. Megjegyezzük, hogy az ISO azonosítót használjuk a módosítandó izoklin fogó és/vagy szalag tangens jelölésére.
1440 lépésben meghatározzuk az ISO-nak megfelelő markért, és megteremtjük elérhetőségét az MRKR változón keresztül. Ezt követően 1444 lépésben meghatározzuk az MRKRrel szomszédos egy vagy több Si,...,SN részfelület gyűjteményét, és megteremtjük az elérhetőségét az ADJ_SURFACES változón keresztül.
1448-1460 lépésekben meghatározzuk az MRKR-rel érintkező Sj részfelületek részeinek a határvonal-megjelenítésit (1452 lépés), és beillesztjük őket egy felülethatárolók megjelenítéséből álló, MOD_SET-tel jelzett készletbe (1456). Ezen belül az ADJ_SURFACESben levő minden egyes részfelületre vonatkozóan bevisszük a MOD SET halmazba a részfelület azon legkisebb egységének a határvonalára vonatkozó adatmegjelenítést, amely érintkezik az MRKR-rel, és amelyet izoklin szalagok határolnak.
-53 Végül 1464 lépésben módosító céllal valós időben behívjuk a 30. ábrán bemutatott programot, azzal egyidejűleg, hogy a felhasználó módosítja az ISO-t, az So azon részét, amely belül van a MODSET által tartalmazott határvonal megjelenítésen. A 30. ábra programját konkrétan az MRKR és a MOD SET értékekkel hívjuk be.
A 30. ábra folyamatábrája azokat a magas szintű lépéseket mutatja, amelyekkel valós időben módosíthatóak a MOD SET felületi határvonal megjelenítés által azonosított felület részek, úgy, hogy a kérdéses felület részek érintkeznek az MRKR markerrel. Ennek megfelelően a 1504 lépésben megkapjuk az MRKR markemek megfelelő izoklin fogó és/vagy szalag tangens első (következő) módosított változatát, és hozzárendeljük az ISO-hoz. Ezt követően a 1508 lépésben újból létrehozunk minden, az ISO módosított izoklin fogóját és/vagy szalag tangensét tartalmazó izoklin szalagot, hogy tükrözzék a felhasználó által kért legutolsó módosításokat. Megjegyezzük, hogy ez az (1) képlet egydimenziós változatának a felhasználásával történik, úgy, hogy teljes hosszában módosítunk minden egyes ilyen izoklin szalagot az MRKR és az MRKR-t tartalmazó egyes izoklin szalagokon levő szomszédos markerek között.
Ezt követően 1512 lépésben hozzárendeljük a MOD_SET-ben levő első (következő) határvonal megjelenítést a B változóhoz. Ezután a 1516 lépésben a B-ben található (profil) határvonal szegmensekhez tartozó izoklin szalagok halmazát hozzárendeljük az R változóhoz. Megjegyezzük, hogy az R változó legalább egy olyan izoklin szalagot tartalmaz, amely tartalmazza az MRKR markert.
1520 lépésben olyan egyesített felületet hozunk létre, amelyet az R izoklin szalagok profiljai határolnak. Az ebben a lépésben használt képlet hasonló a (4) képlethez. A jelenlegi képletben azonban további Qi(p) függvényeket is megadunk. Megjegyezzük, hogy általában a paraméteriéinek az a része, amelyet ebben a lépésben az S(p) felület létrehozására használunk, két, három, négy, öt vagy több oldallal (profil előképpel) rendelkezhet, amelyeknek szintén megvannak az izoklin szalag előképei. Ennek megfelelően az R változó egyes Rj izoklin szalagjaira vonatkozó Qi(p) eltoló függvények esetében, ahol a p pontok az R Rí izoklin szalagjaihoz tartozó Pj profilok előképeinek az I belsejében levő paramétertérben helyezkednek el, kívánatos, hogy ezeket a p pontokat eltoljuk az Rj paramétertér pontjaira, úgy, hogy meg lehessen határozni az R, izoklin szalag objektumterében levő megfelelő pontot, és azt fel lehessen használni a jelen lépés egyesítő függvényében. Megjegyezzük, hogy a Qi(p) eltoló függvény előnyösen kielégíti legalább a következő követelményeket:
(a) a Qi(p) folytonos felületekre folytonos függvény, és
LIMIT (b) p-»2’W)(2(p)) = («,0)
Azaz: amikor az I-beli pontok egy sorozata konvergál a Pj(u) profilpont előképéhez, akkor a Qi(p) konvergál az (u,0) ponthoz az izoklin szalag paraméterterében.
Ezt követően 1524 lépésben megjelenítjük az S(p) felületet, és 1528 lépésben meghatározzuk, hogy van-e további határvonal megjelenítés a MOD_SET-ben egy további S(p.) egyesített felszín létrehozására. Ha van, ismét elvégezzük a 1512 lépést. Ezzel szemben, ha nincs további határvonal megjelenítés, akkor 1532 lépésben meghatározzuk, hogy van-e további felhasználói módosítás az MRKR-nek megfelelő izoklin fogóban és/vagy szalag tangensben. Ha van, akkor ismét elvégezzük legalább is a 1504-1528 lépéseket. Megjegyezzük, hogy a 30. ábra szerinti lépések elég hatékonyan elvégezhetők úgy, hogy az MRKR izoklin fogónak és/vagy szalag tangensnek a felhasználó által megjelölt inkrementális valósidejű változtatásai megjeleníthetőek legyenek, miközben a felhasználó módosítja az illető izoklin fogót és/vagy szalag tangenst.
4. Mértani tervezés felhasználói interfésze
A fent ismertetett alapelvek képezik az alapját egy új, számítógéppel támogatott mértani tervező felhasználói interfésznek.
A találmány szerinti eljárás egyik felhasználói interfész megvalósítása felhasználói interfészt biztosít az izoklin szalagok definiálására. Az interfészt használó tervező például megkövetelheti, hogy egy izoklin szalag merőleges legyen egy adott fényirányra egy egész profilgörbe mentén, hogy ezáltal reflexiós vonalat hozzon létre a szakterületen ismert módon. Általánosabban: az új felhasználói interfész lehetővé teheti különböző megkötések bevitelét, hogy olyan izoklin szalagokat, izoklin fogókat és/vagy szalag tangenseket generáljunk, amelyek kielégítik ezeket a követelményeket. Ezen belül a felhasználói interfész globális korlátozásokat is megenged a fényirány, görbület, érintkezés, egyenletes körvonalak, egy síkú diéderes szögfüggvények, stb. esetében a szakterületen ismert módon.
A felhasználói interfész egyik megvalósítása esetében a felhasználó egy adott mértani objektumból, például hengerből indul ki. Ezt követően beírhat egy profilgörbét a hengerre, úgy, hogy a henger különböző pontjain markereket helyez el. A profil-tangensek és/vagy izoklin fogók beállíthatók a henger meredekségére vonatkozó információk átvételével. A profil-tangensek például minden egyes markemél a hengernek a markemél levő érintősík-55jába esnek.
A felhasználó ezt követően kiválaszthatja és módosíthatja a markereket, további markereket adhat meg és/vagy módosíthatja az izoklin fogók és/vagy szalag tangensek helyzetét vagy irányát. Ennek megfelelően módosul az izoklin szalag is, és a henger (általánosabban: a mértani objektum) tükrözi az izoklin szalag módosításában eszközölt változásokat. Ily módon további profilokat és markereket adhatunk meg, míg meg nem kapjuk a (hengerből származtatott) mértani objektum kívánt alakját. E lépésekre mutat egy példát a 31. ábra folyamatábrája. Vagyis a felhasználó kiválaszt egy grafikusan megjelenített felületet (általánosabban: mértani objektumot) az 1904 lépésben. Ezt követően 1908 lépésben a felhasználó egy profilgörbét szerkeszt a kiválasztott felületen (objektumon).
Ezt követően 1912 lépésben izoklin szalagot (vagy legalább is izoklin határvonalat) hozunk létre a profilhoz. Megjegyezzük, hogy ez a szalag vagy határvonal, ha kívánjuk, létrehozható lényegében további felhasználói adatbevitel nélkül. Vagyis egy izoklin szalag vagy határvonal létrehozható annak a felületnek a tangenciális jellemzőiből, amelyen a profil helyet foglal. Ezen belül, egy parametrikus felület (általánosabban: mértani objektum) esetében a felületen a profilon levő pontoknál levő parametrikus tangensek használhatóak arra, hogy a profilhoz izoklin szalagot vagy határvonalat generáljunk. Ily módon a profilgörbe egyik oldalára eső környező felületek felhasználhatóak a profillal rendelkező felület egy első izoklin szalagjának vagy határvonalának a meghatározására, és ha a profil az első felület és a második felület összevarrásánál van, akkor a profil másik oldalán levő felület-környékek használhatóak egy második izoklin szalag/határvonal meghatározására.
Továbbá Megjegyezzük, hogy más felület-tulajdonságok is megőrizhetőek egy izoklin szalag vagy határvonal révén. Például a profilgörbe pontoknál levő parametrikus tangensek megtartásán kívül az izoklin szalag vagy határvonal opcionálisan megőrizheti az olyan felületi jellemzőket is, mint a görbület, a magas fokú (> = 2) derivatív folytonosság a felülettel. Megjegyezzük azonban, hogy a találmány szerinti eljárás megengedi további felülettulajdonságok megőrzését is az izoklin szalagban vagy határvonalban.
A 1916 lépésben a létrehozott izoklin szalag vagy határvonal használható fel a fentiekben a 29. és 30. ábra folyamatábráin látható programokra hivatkozva tárgyaltak szerinti profilgörbével rendelkező felület(ek) módosítására.
A felhasználói interfész egyes kiviteli alakjai olyan műveletet biztosítanak a tervezőnek, amellyel kiválasztható két objektumtérbeli felület közös határvonala, és a művelet automa
-56tikusan kikényszeríti, hogy a felületek találkozásánál az érintősík-folytonosságnál magasabb rendű folytonossági kritérium érvényesüljön (például görbületi folytonosság). Például a közös határvonalnál levő felületek egyikéből származó izoklin szalagra vonatkozó magasabb rendű folytonossági követelmény felhasználható a közös határvonalú másik felület izoklin szalagjának a hasonló korlátozására. Vagyis ez a művelet segít megkönnyíteni az úgynevezett „Mach-szalag” effektust, amelynek hatására az emberi szem bizonyos esetekben folytonossági hiányokat észlel a görbületben.
A találmány szerinti eljárás által biztosított egyéb felhasználói interfész műveletek a következők:
(a) Lekerekítés·. olyan javító művelet, amely úgy módosít egy meglévő felületet, hogy lekerekíti vagy beszűkítik a kiálló éleket (olyan felületekről van szó, amelyek simák, egyetlen pont kivételével, ahol a felület megtörik), és ezzel eltünteti a kiálló éleket. Az ilyen műveletek úgy végezhetőek el A találmány szerinti eljárás segítéségével, hogy a kiálló él szemközti oldalain profilgörbéket helyezünk el a felületen, és sima egyesítést létesítünk a profilok között (például az (1) képlet felhasználásával a 2.3.5. részben ismertetett módon), majd ezt követően eltávolítjuk a kiálló élet tartalmazó profilközi felületet.
(b) Beágyazás', iteratív felhasználói interfészes eljárás, amelynek segítségével vehetünk egy kész modellt, megváltoztathatjuk a léptékét és esetleg elforgathatjuk vagy más módon deformálhatjuk, hogy beleilljen egy másik modell egy részébe.
4.1. Izoklin szalagok definiálása markerek, profilok és felhasználói interfész segítségével
Az explicit profilok olyan profilgörbék, amelyek a felhasználó szándékát fejezik ki. Az explicit profilok lehetnek korlátozatlanok (szabad alakúak) vagy részben korlátozottak (vágottak). Az implicit profilok lehetnek a felület-foltok közötti látható, például a felületi diszkontinuitás által okozott határvonalak (például egy törés vagy görbület a henger homlokfelülete és annak a hengeres oldala között).
Az implicit felületek automatikusan jönnek létre, amikor a felhasználó például felületi diszkontinuitást vezet be. Egy modell minden egyes profilja vagy explicit, vagy implicit.
4.1.1. Markerek létrehozása
A profilmarkerek és profilfogók létrehozása a következő módokon történik:
A) Automatikusan jönnek létre markerek az új explicit és implicit profilok végeinél.
B) Beillesztheti őket a tervező (ha például kétszer rákattint egy pontra) egy explicit profilra. A tervező szemszögéből ez azt jelenti, hogy egy pontot illeszt a profilra. Az újonnan elhelyezett marker minimálisan vagy egyáltalán nem változtatja meg a profil alakját az új markert tartalmazó profil-szakaszban. Ezt követően profil- és izoklin fogókat határozunk meg az új markerhez csatlakozó profil és felület(ek) alakjának megfelelően.
A marker azonosítható, mint egyazon profilon elhelyezkedő több egybeeső pont (például olyan profilon, amely hurkot képez és saját magába kapcsolódik vissza). A marker ilyetén, több profil-ponttal történő azonosítását nem lehet megbontani, csak a marker törlésével. Ha két vagy több egy közös pontban találkozó profilnak profilmarkere van, az ilyen profilok közül mindegyiknek megvan a markere a közös pontnál, és a markerektől megköveteljük, hogy megőrizzék az egybeesést, vagyis ha elmozdítjuk az egyik markert, akkor mindkettő elmozdul.
A tervező által elhelyezett profilmarkerek beilleszthetők azért, hogy profilfogó pontokul szolgáljanak vagy bizonyos specifikus izoklin értékek beállítása céljából. Megjegyezzük, hogy a profilfogó pont megkötések halmazát jelentheti az izoklin fogójára vonatkozóan, vagyis az izoklin fogó értéket/értékeket örökölhet a két legközelebbi szomszédos izoklin fogó interpolálása révén.
4.1.2. Markerek és profilok megtekintése
A profilfogókra és izoklin fogókra többféle megkötést alkalmazhatunk, és ennek megfelelően a kérdéses fogók megjelenítése is különbözhet a vonatkozó megkötéseknek megfelelően. Konkrétan a következő korlátozások alkalmazhatóak ezekre a fogókra:
(a) a fogó korlátozása irányok egy bizonyos tartományára;
(b) a fogó korlátozása abszolút értékek egy bizonyos tartományára;
(c) a fogó korlátozása arra, hogy a többi fogóval egy síkba essen;
(d) a fogó korlátozása görbületek egy bizonyos tartományára;
(e) a fogó korlátozása egy másik fogó transzformációjával, például azonos elforgatások és/vagy eltolások révén.
A tervező a mértani objektumok tulajdonságainak a megjelenítésére vonatkozó kéréssel választhatja a korlátozások megjelenítését. Az egyik megvalósítás esetében különböző színekkel lehet megjeleníteni a különböző típusú korlátozott profil markereket. Például a variabilitás nélküli (itt „teljesen megkötöttnek is nevezett) fogók megjelenhetnek kék szín-59Továbbá: a második megvalósításnál a felhasználói interfész a következő lépéseket támogatja a sikeres profílkészítés érdekében:
(Al) Olyan markerpontokat adunk meg, amelyek a felület(ek)en helyezkednek el. Illesztett görbét hozunk létre a paramétertérben levő pontok mentén, majd ezt az illesztett görbét kiértékeljük, hogy megkapjuk a megfelelő, objektumtérbeli kép-görbét.
(A2) Minden olyan új felületre vonatkozóan, amelyet a profil keresztez, a felhasználó megadhatja a felületet keresztező profilszegmens típusát (szabadalakú vagy levágott). A felületre felvázolt profil vagy levágja a felület egyik oldalát, vagy két új felületre bontja fel a felületet. Ennek megfelelően Megjegyezzük, hogy minden olyan (nem egyelemű) profilnak, amely belép a felület belsejébe kereszteznie kell a felület határvonalát egy belépési pontnál és egy kilépési pontnál. Vagyis két olyan felület, amely egy közös profil határvonal mentén helyezkedik el, mindig össze van kapcsolva a profillal, úgy, hogy a kérdéses profilra vonatkozóan a kérdéses felületek a következőképpen jellemezhetők: (a) az egyik felület levágott felület, a másik nem levágott felület (amelyet „szabad alakú felületnek is nevezünk), vagy (b) mindkettő szabad alakú felület.
(B) Profil másolása A tervező kiválaszt egy lemásolandó profilt. A profilt átmásolja egy pufferbe (amelyet vágólapnak nevezünk). A felhasználó ezt követően kiválasztja a másolás módját (például: profilfogók megtartása, vagy profilfogók adaptálása ahhoz a geometriához, ahova a profilt be kell másolni). A felhasználó kiválasztja, hol helyezze el az új profilt (ezen kívül meg változtathat] a a léptékét, elforgathatja és/vagy tükrözheti stb.). A felhasználó kiválasztja az új profil helyét. Megjegyezzük, hogy az új profil korlátozható az eredeti profilra vonatkozó megkötésekkel. Például az új profil tükrözhető a meglévő profil egy síkjára, úgy, hogy az eredeti profil bárminemű megváltoztatása változást eredményezzen a másolatban. Az új profil létrejöttekor automatikusan profil markerek generálódnak az új profil mindkét végénél. A profilfogókat és izoklin (szalag tangens) fogókat az új profil által felbontott felületek mértani tulajdonságaiból származtatjuk.
4.1.5. Markerek és profilok módosítása
A markerek és/vagy profilfogók módosítása függ attól, hogy milyen követelményeket támasztottunk a markerekkel és/vagy fogókkal szemben. Az alábbi megkötések valamelyikét alkalmazhatjuk rájuk:
A Interaktív módosítás fogó (profil vagy izoklin fogó) kiválasztásával egy bizonyos m markemél, amely fogó végpontját úgy mozdítjuk el, hogy megköveteljük, hogy egy nor
-60málsíkba essen, vagyis az m-et tartalmazó profillal rendelkező felülethez képest merőleges síkba, vagy egy olyan felület normálsíkjába, amelyet a profil izoklin és profilfogói definiálnak m-nél. A felhasználó rendelkezésére áll egy előbukkanó tulajdonság-lap is, ahova konkrét nagyság- és szög- számértékeket írhat be a kiválasztott profilés/vagy izoklin fogó módosítására.
B Olyan markerek esetében, amelyekre az a megkötés érvényes, hogy előképük a profil előképébe essen, a marker elcsúszhat a kérdéses „szülő” profil mentén például interaktív módosítás révén, az ilyen markerpontok elhúzásával. Megjegyezzük, hogy a pozicionális korlátozatlan markerek esetében a markerpontok szabadon (azaz: a felhasználó útmutatása szerint és minden egyéb korlátozás nélkül) elmozdíthatok azon „szülő” profil(ok) mentén , amely(ek)en az ilyen markerek elhelyezkednek. Továbbá Megjegyezzük, hogy a felhasználó több profil-markerpontot is kiválaszthat úgy, hogy mindegyikre külön-külön rákattint, vagy úgy, hogy kiválaszt minden markert egy kijelölt tartományban (például határoló téglalapban). Ilyenkor a felhasználó mozgathat egy kijelző mutató eszközt (például egeret), amellyel azután minden kiválasztott markert egységesen elmozdíthat a kijelző mutató eszköz mozgásának megfelelő irányba. A markerek mozgása azonban függ attól, hogy milyen korlátozások vonatkoznak az adott markerekre. Egy korlátozott marker például csak a neki megszabott határokon belül fog mozogni. így ha egy első kiválasztott marker csak az első profilon belül mozog és egy második kiválasztott marker csak egy eltérő második profilon belül mozog, amely ortogonálisán helyezkedik el az első profilhoz képest, akkor a kívánt mozgás irányától függően az alábbi esetek egyike áll elő:
(i) az első marker el tud mozdulni, a második nem;
(ii) a második marker el tud mozdulni, az első nem;
(iii) mind az első, mind a második marker el tud mozdulni, (ív) egyik marker sem tud elmozdulni.
C A marker- és fogó-megkötések beállíthatók alapértelmezéssel is, ahelyett, hogy a felhasználó adná meg őket, explicite. A felhasználó egy előbukkanó tulajdonság-kijelző segítségével tudja beállítani vagy eltávolítani a konkrét korlátozásokat.
D További olyan korlátozások is tehetők, a profil- és/vagy izoklin fogókra vonatkozóan, amelyek függnek a másik geometria tulajdonságaitól. Például a profil- és izoklin fogóknál kiköthetjük, hogy merőlegesek vagy párhuzamosak legyenek egy kiválasztott refe
-61 rencia-síkhoz képest. Megjegyezzük, hogy a profílmarker pozíciójára vonatkozóan is kiköthető, hogy függjön más geometria tulajdonságaitól. Például kiköthetjük, hogy a marker egy határfelületre essen. Vagyis a palack-tervezés első/hátsó szimmetria síkjára. Egy másik példa ilyen korlátozásokra a szimmetrikus tervek létrehozásakor merül fel, vagyis arra a profil marker másolat, amelyet egy elválasztó síkra tükrözünk, kikötjük, hogy szimmetrikus legyen a „szülő” profilmarkerre.
E Egy profillal szomszédos felületeknek esetleg meg kell felelniük a C0-, Cl- vagy C2folytonosságnak, ahol a CO pozícionális folytonosság, a Cla tangencia és a C2 sima felületi egyesüléseket kényszerít ki. Az egyik olyan kikötés, amely egy markerre alkalmazható az, hogy Cl-folytonosságot kényszerítsen ki a markert körülvevő felületeken az egyenlő hosszúságú tangensvektorok belső markereinek a megőrzésével.
Ha egy markemél befagyasztjuk a profil- és izoklin fogókat (azaz megszüntetjük módosulás! képességüket), akkor a markert tartalmazó profilszakasz újraépül következő két legközelebbi marker profilfogói alapján, úgy, hogy ténylegesen megváltoztatja ennek a markernek a fogóit, úgy, hogy a két oldalán levő két marker által épített görbét tükrözze.
A profilmódosítást javarészt a felhasználói interfésznek a profil alakját szabályozó profilmarker-pozíciók és -fogók módosítására szolgáló technikák végzik. Az alábbiakban ilyen felhasználói interfész technikákra mutatunk példákat.
A. Közvetlen eljárás: A profilokat közvetlenül módosítjuk egy objektumtérbeli (3D) modellen. Ez a profilt alkotó profil markerek és profilfogók módosításával történik.
Ha a tervező egy vágási profilt módosít, a profil mindig annak a felületnek a paraméterterében található, amelyet levág, vagyis a vágási profilt mindig a saját eredeti túlnyúló felületének a kontextusában kell módosítani, ahova be van ágyazva. Ha kiválasztunk egy vágási profilt (vagy ennek valamely alkotóját) módosításra, ennek eredményeként a túlnyúló konstrukciós geometria kiemelődik. Kiemelve marad mindaddig, míg a felhasználó a vágási profilt módosítja.
A felhasználónak lehetősége lehet arra, hogy a közvetlen eljárást alkalmazva aktivizáljon és módosítson profilokat. Például egy olyan profil módosítása hatására, amely egy túlnyúló felületet definiál, a túlnyúló felület felfrissül. Mivel a kérdéses túlnyúló felületet levágó profilra az a megkötés érvényes, hogy a felület paraméterterén belül kell elhelyezkednie, a vágási profilt is újra ki kell számítani.
B. Tervezőszalag-eljárás. Ezt az eljárást egy profil egy megadott tartományának a módosítására használjuk. A segítségével a felhasználó például leegyszerűsítheti a tervezői interakciókat azáltal, hogy egy olyan nézetben módosítja a profilt, amely egy másik nézetben összetett. A tervező megad két markert, amelyek ugyanazon a profilon helyezkednek el. A két marker közötti profilszegmens(eke)t extrudáljuk a profil legalább egy grafikai nézetében, tervezőszalagot hozva létre ezáltal (nem tévesztendő össze az izoklin szalaggal!). A tervezőszalag egy egyszerű extrudált felület (azaz olyan görbe, amelyekkel adott irányok mentén pásztázva felületet hozunk létre; például a profil végeinél levő markereknél a megfelelő profilfogókat kiváltjuk a megfelelő izoklin fogókkal, miáltal határvonal-fogókat kapunk, és izoklin határvonalat interpolálunk például a (2) képlet egy alacsonyabb dimenziós verziójával; (2) a profilból, az izoklin fogókból és az izoklin határvonalból álló kerületű felület adja meg az új extrudált felületet). A markerek között megadott háromdimenziós profilszegmensek mindig ennek a tervezői szalagnak az előképén belül helyezkednek el. A felhasználó kétféleképp módosíthatja a profilt:
(Bl) Módosítja azt a kétdimenziós vezérlő görbét, amelyből a tervezői szalagot extrudáltuk, és amely a szalag végénél áll elő, úgy, hogy az alapértelmezés szerint a kérdéses görbe a tervezői szalagot megadó háromdimenziós profilszegmensek kétdimenziós megjelenítése. A felhasználó „leegyszerűsítheti” a vezérlő görbét a kétdimenziós pontok egy részhalmazának a kiválasztása által. Valahányszor a felhasználó módosít egy vezérlőgörbe-pontot, a szalagot mindig felfrissítjük, és a háromdimenziós profilt módosítjuk, úgy, hogy a módosított szalag paraméterterében legyen. A vezérlőgörbén végrehajtható műveletek közé tartoznak mindazok, amelyeket a Profilmarkerek c. részben felsoroltunk (csúcs illetve meredekség módosítás, beillesztés, törlés stb.).
(B2) Módosítja a kétdimenziós profílpontokat a tervezői szalagon belül. A felhasználó közvetlenül módosítja a kétdimenziós profilt, olyan nézetben, amely merőleges az elsődleges nézetre. A kétdimenziós pontok mindig a szalag paraméterterébe esnek. A műveletek közé tartoznak mindazok, amelyeket a Profilmarkerek c. rész felsorol (csúcs illetve meredekség módosítás, beillesztés, törlés stb.).
Felületenként és profilszegmensenként csak egy tervezői szalag lehetséges. A tervezői szalagot létre lehet hozni, módosítani lehet és törölni lehet, Ha létrehoztuk a szalagot, az perzisztens vagyis módosulatlan marad mindaddig, míg a tervező egy későbbi időpontban nem módosítja ugyanazt a szegmenst. A tervezői szalag csak akkor jelenik meg a kijelzőn, amikor a tervező épp módosítja azt. Egyetlen profilnak több szalagja is lehet, a profilt tar-63talmazó több felületnek megfelelően.
Megjegyezzük, hogy a profil módosítása a közvetlen eljárással töröl minden olyan tervezői szalagot, amely a módosítás alatt álló pontokat összeköti. Ez érvényteleníti a szalagot, és ezért a tervezőnek újra meg kell adnia a szalagot.
C. Profil(ok) mozgatása. A tervező kiválaszt es mozgat két vagy több profilt egyszerre. Vagyis a felhasználói interfész parancs kiválasztja egy profil (vagy profilszegmens) összes profilmarkerét, és ezeket együtt mozgatja, egy egységként.
D. Profilok egyesítése: A tervező felvázolhat egy új profilt, és ezt összekapcsolhatja egy meglévő profillal, úgy, hogy az egyes profilok végpontja egybeesik. Ezen kívül a tervező megadhatja azt, hogy a meglévő profil mely szegmensét vagy szegmenseit kell törölni. Ezt követően egyesítjük az új profilt és a meglévő profilnak azt a fennmaradó kapcsolódó részét, amelynek egybeesik a végpontja az új profiléval. Megjegyezzük, hogy a profilok egyesítése következtében a két egybeeső végpontra vonatkozó megfelelő profilfogók, izoklin fogók és szalag tangensek egyetlen ilyen halmazzá kombinálódnak.
E. Profil felbontása. Bontsunk egy profilt két részre egy p pontnál. A két új profil egyegy végpontjának egybe kell esnie a p-vel.
4.1.6. Markerek és profilok törlése
A profilmarker mindig törölhető, kivéve a profil végpontjainál. A találmány szerinti eljárás egyes megvalósításai esetében azonban a markert esetleg olyan markerrel kell helyettesíteni, amely korlátozott, ha ez szükséges a sima foltok megtartásához. Megjegyezzük, hogy az új korlátozott helyettesítő marker lehet ugyanott vagy máshol, mint az előző marker.
Ha egy egész profilt törlünk, akkor a felhasználói interfész kiemel minden függő mértani objektumot, és kéri a felhasználó megerősítését, mielőtt törölné a profilt és a függő mértani objektumot/objektumokat. Ennek megfelelően Megjegyezzük, hogy A találmány szerinti eljárás elegendő függőségi információt tart meg a modellben levő mértani objektumok közötti függési viszonyokról ahhoz, hogy egy olyan objektum módosításai esetén, amelyet egyéb objektumok származtatására használunk, automatikusan megfelelő további módosításokat lehessen elvégezni ezeken az egyéb objektumokon.
4.1.7. Profilmarkerek és profilfogók
Megjegyezzük, hogy egy profilmarkemek tipikusan két profilfogója, két izoklin fogója és két szalag tangense van, vagyis felületenként egy profilfogója, egy izoklin fogója és egy
-64szalag tangense, minden olyan felületen, amelynek a profil a határoló görbéje. Ugyanakkor több fogó is tartozhat a profilhoz akkor, ha több profil konvergál, illetve kevesebb, ha a profil a felület széle.
4.2. Az izoklin fogók és a felhasználói interfész
Az izoklin fogó meredeksége szabályozza a felület érintkezését a markemél és a markert tartalmazó profil környező részénél. Vagyis azt, hogy a felület mennyire hasasodik ki. Az izoklin fogóra vonatkozóan kiköthetjük, hogy el legyen tolva egy mási izoklin fogótól (például -10 fokkal a másik oldaltól). Az izoklin fogó a profil mentén bármely pontnál kiszámítható (úgy, hogy markert helyezünk el a profilon).
4.2.1. Izoklin fogó létrehozása
A felhasználói interfész támogatja izoklin fogók egymáshoz képest való korlátozását. Az ilyen fogók lehetnek mindig tangensek, azonos nagyságúak, vagy eltérhetnek egymástól egy bizonyos mennyiséggel. A találmány szerinti eljárás egyik megvalósításánál a felhasználói interfész olyan felbukkanó menüt biztosít, amellyel megjeleníthetők és megváltoztathatók az izoklin fogó korlátozó értékek, így a hossz és az irány.
4.2.2. Izoklin fogó módosítása
Ha a felhasználó egy profílmarkert elcsúsztat a profil mentén, rögzítheti a marker izoklin fogóját, miáltal a profillal szomszédos (és attól függő) felületek megváltoznak, és az izoklin fogók interpolálódnak a profilon elhelyezkedő két legközelebbi fogó között (amely esetből az következik, hogy a függő felületeket ez nem érinti).
4.2.3. Izoklin fogó törlése
A felhasználói interfész támogatja az izoklin fogók törlését.
4.3. Speciális mértani objektumok és a felhasználói interfész
A találmány szerinti eljárás lehetővé teszi több speciális mértani objektum típus létrehozását és manipulálását, ami lényegesen megkönnyítheti az olyan objektumok tervezését mint a tartályok.
4.3.2. Címkefelületek
A címkefelület a levágott felület egy speciális esete. A címkefelület speciális eset aspektusai a következők:
(i) van egy „vízválasztó” profil, amely a címke aljától a tetejéig tart;
(ii) vannak címke görbék, amelyek között a megfelelő címkefelület vonalazott (például a 11. ábra 132 címke görbéi);
(iii) van egy határoló (vágási) profil (például all. ábra 138 vágási profilja).
A címkefelületet a levágott felületektől megkülönböztető legfontosabb különbség az, hogy az eredeti felület (az, amelyből a címkefelületet kivágtuk) vonalazott felület. Konkrétan: a címkefelületet definiáló görbék úgy vannak korlátozva, hogy e definiáló görbék határain belül megmaradjon a vonalazott felület.
Megjegyezzük, hogy egyéb felületek is összekapcsolhatók egy címkéhez való vágási profillal, de a vágási profil csak olyan módon módosítható, amely biztosítja, hogy egy vonalazott felületet határoljon.
A találmány szerinti eljárás egyik megvalósítása esetében létrehozható a címkefelület kétdimenziós „kiterített” megjelenítése. Vagyis a felület egy az egyben megfeleltethető egy síknak, ha laposan kiterítjük. Az ilyen megjelenítés egy olyan címkefelületet szimulál, amelyre a tervező azután készíthet valamiféle művészi munkát, amelyet azután rá lehet borítani a tartályra.
4.3.1.1. Címkefelület létrehozása
Ahhoz, hogy címkefelületet hozzunk létre, a levágandó túlnyúló felületnek vonalazott, közelítően kiteríthető felületnek kell lennie, vagyis olyan vonalazott felületnek, amelyen bármely vonalra emelt minden felületi merőleges párhuzamos. Ezt követően a felhasználó azután a szokásos felület-levágási lépéseket követi, vagyis felvázolja a profilt a vonalazott felületre, generálja a (rész)felületeket a profil mindkét oldalán (vagyis a címkefelületet és a felület levágandó részét), levágja a címkefelületet és összekapcsolja a többi felületeket a vágási felülettel.
Megjegyezzük, hogy a levágott felületrész normál nézetben el van takarva (vagyis nem része a továbbiakban a látható modellnek).
A címkefelület létrehozására alkalmazható eljárás magas szintű lépései a következők:
(i) Bizonyosodjunk meg arról, hogy a felület vonalazott. Vagyis: a felhasználói interfész támogatja a felhasználó által kiválasztott profilok automatikus módosítását, úgy, hogy ezek a profilok kielégítsék a 4.3.1. (i) és (ii) pontjaiba foglaltakat. Ezen belül e lépés elvégzéséhez a következő al-lépéseket kell elvégezni:
(ii) A felhasználó felvázolja a határoló profilt a címke határait definiáló felületre;
(iii) Elkészíti a címke grafikai megjelenítését (azaz: a vonalazott felületet rajta a szöveggel, művészi munkával és/vagy mintákkal);
(iv) A felhasználónak módjában áll grafikusan alkalmazni a címkemegjelenítést a címkefelületre (vagy annak egy megjelenítésére). Ezen belül a címkemegjelenítés alkalmazására szolgáló felhasználói interfész automatikusan címke-megjelenítést rendelhet a címkéhez egy csoportosítási típusú művelettel, úgy, hogy a címke-megjelenítés megtartja a pozícióját a címkefelületen a különböző például címkefelület-elforgatások, eltolások, lépték-váltási műveletek stb. során;
(v) A felhasználónak módjában áll megsemmisíteni a tervet, ha a címkefelület és/vagy a címke nem kielégítő.
4.3.1.2. A címkefelülct módosítása
A címkefelület összetevők módosítása némileg eltér a levágott felület módosításától.
A vízválasztó profil azon részének, amely egyenes vonal szegmens, egyenesnek kell maradnia.
A vízválasztóval szemközti határvonal (a „szülő” vonalazott felület „másik oldala”) nem módosítható. Ez egyszerűen egy egyenes szakasz a felső és az alsó határvonal között. A felső és az alsó határvonal-profilok módosíthatóak. Úgy vannak korlátozva, hogy nem lehet rajtuk további szabad profilmarkert elhelyezni. Továbbá a vízválasztótól távolabbi végnél levő profil marker úgy van korlátozva, hogy csak úgy mozoghat, hogy megmaradjon a vonalazott felület. Kiterjeszthető (extrapolálható ugyanazon görbület mentén) és a végpontjainak a szöge állítható - megint csak addig, amíg megmarad a vonalazott felület.
4.3.1.3. Címkefelületek törlése
A címkefelület törlése eltávolítja a korlátozásokat minden olyan profil esetében, amelyet a címkefelület létrehozásához használtunk. Továbbá törlődik minden olyan, a címkefelületre vonatkozó konstrukciós geometria, amely a felhasználó számára láthatatlan. Eltávolítjuk azokat a korlátozásokat is, amelyek a vonalazott felület megtartását célozzák. így tehát a megmaradó mértani objektumok megszabadulnak a címkefelületre vonatkozó megkötésektől, és oly módon módosíthatóak, ami korábban nem volt lehetséges.
4.4. Vájatkészítő felhasználói interfész
A találmány szerinti eljárás olyan új számítógépes eljárást is biztosíthat a felhasználónak, amely segíti abban, hogy vájatot hozzon létre egy mértani modellen (olyat, amilyen egy
-67fogó hozzáadásához szükséges egy fogó nélküli palack esetében). Ahhoz, hogy az eljárást alkalmazó modellre vájatot képezzünk, a következő információkra van szükség: a homlokzati felületen levő profil-szakaszokból képzett hurok, az átellenes, hátsó felületen levő profilszegmensekből képzett hurok, a profil-hurkokban található egyes profilok típusa (szabadalakú vagy vágás) és a vájat belsejét alakító opcionális profil(ok).
4.4.1. Vájat létrehozása
A vájatkészítő eszköz egy sor lépésen vezeti végig a felhasználót a vájat elkészítése céljából. A 22A-22C. ábrák azt szemléltetik, milyen eljárással hozhatunk létre 600 vájatot (22C. ábra) egy 604 mértani objektumon a találmány szerinti eljárás felhasználásával. A 600 vájat létrehozására irányuló megfelelő lépések a következők:
(a) Vázoljunk fel egy 608 profilhurkot a 612 felületre;
(b) Vázoljunk fel egy 616 profilhurkot a hátsó felületre (opcionálisan: vetítsük ki a 608 profilt a hátsó felületre). Megjegyezzük, hogy automatikusan izoklin fogók kerülnek a 608 és 616 profilra.
(c) Ha a 608 és 616 profilhurkok egy vagy több profilja szabadalakú profil, akkor a felhasználó új profilokat adhat meg (egy ilyen profilhurok kiegészítése céljából), és/vagy a profilok egyesítődnek olyan hurokká, amelyben ezek a profilok úgy vannak korlátozva, hogy úgy használjuk őket, mintha egy profilról lenne szó. Ennek megfelelően amint elkészültek a profilhurkok, lehánthatók a hurkok közötti felületek, hogy így helyettesítsük a lyukat elfoglaló eredeti felületet.
Ha vágási profil van megadva, a profílhurkon belüli felületi tartományt levágjuk.
Adott esetben a vájatkészítő eljárás további profilokat használ arra, hogy felületeket helyezzen illetve alakítson a vájat belső határvonalainál. Egyéb esetben a felületeket automatikusan lehántjuk az első és a hátsó profilhurkok között.
4.4.2. Vájat módosítása
A vájat módosítása a vájat geometriáját alkotó módosító profilmarkerek és profilfogók feladata.
4.4.3. Vájat törlése
A vájat törlése szintén a vájat geometriáját alkotó komponensek (azaz profilok és egyéb vájat geometriák) törlési funkciója.
4.5. Simasági megfontolások érvényesítése a felhasználói interfészen keresztül
A szomszédos (a profiloknál találkozó) felületek közötti átmenet rendjével foglalkozunk. Ez a rész azonban bizonyos szélesebb körű implikációkat fogalmaz meg a 2. rész általános elméletére vonatkozóan.
4.5.1. Folytonos profilok a felhasználói interfészen keresztül
Két egymást metsző profilgörbe esetén akkor biztosítható derivatív folytonosság a metszéspontnál, ha több feltétel teljesül:
(a) az egyik profil végpontja egybeesik a másik profil végpontjával (pozícionális folytonosság);
(b) a profilok létrehozására használt B, függvények (1. 26. és 27. ábra) egyenlők a metszésponti markemél; és (c) a metszésponti markemél levő profilfogók egy vonalba esnek és egyforma hosszúak.
A tangens irányú folytonosság gyengébb feltétel, amely kielégíthető, ha a fenti ( c ) feltételt az alábbira változtatjuk:
(c*) a metszésponti markemél a profilfogók csak egy vonalba esnek. Ebben az esetben a profilfogók nagysága eltérő lehet.
A tervező szándékosan törést idézhet elő egy markemél a metszésponti markemél levő két profilfogó egy vonalba esésének a megtörésével. Ez azt jelenti, hogy a két profilfogó nem esik egy irányba.
4.5.2. Folytonos felületek
A felületek közötti érintősík-folytonosság fogalma a következőképpen definiálható: két Sj és S2 felület közötti határ minden egyes p pontjára az Sí felület Ti(p.) érintősíkja a p pontnál azonos az S2 felület T2(p.) érintősíkjával. Ahhoz, hogy tangens-folytonosságot éljünk el a felületek között a köztük levő profil határvonalon keresztül, az szükséges, hogy az izoklin fogók (a felületek mindegyikénél) a profil határvonal minden egyes markerénél egymással és a markemél levő profílfogóval közös síkba essenek. Ha ez nem történik meg, akkor törés keletkezik a felületen a profil mentén.
Megjegyezzük, hogy amikor két vagy több felületi foltot kell létrehozni, úgy, hogy ezekre a foltokra az a korlátozás érvényes, hogy találkozniuk kell egy p közös marker-pontnál, a találmány szerinti eljárás automatikusan generál izoklin fogókat, amelyeket „közös irány
-69fogóknak” nevezünk. Vagyis a felületek közül egy vagy több definiálására használt minden egyes P profilhoz (amely tartalmazza a p pontot) van egy megfelelő, automatikusan létrehozott közös irány fogó, amely egy V vektor, amely a p-ből indul ki, úgy, hogy a V merőleges a P profil profílfogójára, amely profil a többi, a p-t szintén tartalmazó profil profilfogói által képzett közös síkba esik. Továbbá Megjegyezzük, hogy a felhasználói interfész támogatja azt, hogy a felhasználó tetszése szerint megjelenítse vagy ne jelenítse meg a közös irány fogókat.
Megjegyezzük, hogy nem szükséges a közös markemél érintkező profiloknak megfelelő profilfogókkal és izoklin fogókkal rendelkezni ahhoz, hogy ott sima felületekhez jussunk, csak az szükséges hogy mind ugyanabba a közös síkba essenek. A 18. ábrán három 404, 408 és 412 profilgörbe van megadva a 416 és 418 felülethez. A három profílgörbe mindegyike a 420 profil markemél találkozik, és mindegyik profilnak megvan a maga izoklin szalagja: a 420 a 404 profilhoz, a 428 a 408-hoz és a 432 a 412-höz. Továbbá a 404,408 és 412 profilokhoz tartozó izoklin fogók a 420 markemél (i) a 436 profilfogó és 440 izoklin fogó a 404 profilhoz;
(ii) a 444 profilfogó és 448 izoklin fogó a 408 profilhoz;
(iii) a 452 profílfogó és 456 izoklin fogó a 412 profilhoz.
Tehát, ha a 436, 440, 444, 448, 452 és 456 profilok és izoklin fogók mind a 460 síkba esnek (amelyet a szaggatott vonalas téglalap alakú rész jelöl), akkor a 416 és 418 felület simán kapcsolódik össze a 420 markemél.
Két izoklin szalag bármely markemél valószínűleg ugyanúgy találkozik, mint ahogyan két profil találkozna, vagyis két izoklin szalagnak lehet közös izoklin fogója és egy széle a szalagok mindegyikéhez.
Ahhoz, hogy érintősík-folytonosságot érjünk el két különböző (egyesített) Sí és S2 felületi tartomány között (43. ábra), amelyeket egy összetett profil kapcsol össze, nem csak a P] és P2 profilokon keresztül szükséges tangens-folytonosság, hanem a csatlakozó Rí és R2 szalagok között is. Vagyis a Pi (a 2010 és a 2014 marker közötti) és a P2 (a 2014 és a 2018 marker közötti) profiloknak és ezek megfelelő Rí és R2 szalagjainak, ha felületként gondolunk rájuk, érintősík-folytonosnak kell lenniük, és osztozniuk kell a közös 2002 izoklin fogón. Megjegyezzük, hogy a szalagok közötti érintősík-folytonosság a legtöbb esetben egyenértékű a profilok közötti tangens-folytonossággal és a szalag-határok közötti tangens
-70folytonossággal, amire a felület-folt határvonalak közötti sima átmenethez van szükség. Továbbá A találmány szerinti eljárás felhasználói interfésze biztosít technikákat a szalaghatárok közötti érintősík-folytonosság biztosítására, úgy, hogy a kérdéses technikák lényegében azonosak azokkal, amelyek annak a profilok közötti érintősík-folytonosság biztosítását szolgálják. A találmány szerinti eljárás tehát érintősík-folytonosságot tud biztosítani az izoklin szalagokból A találmány szerinti eljárás szerint létrehozott szomszédos felületek között.
Bizonyos körülmények között szándékosan meg lehet tömi az összetett szalagok folytonosságát, hogy ezáltal gyűrődést idézzünk elő a szalagokból létrehozott felületen, úgy, hogy a gyűrődés ne feleljen meg a gyűrődés mentén levő egybeeső profilnak. A találmány szerinti eljárás bizonyos megvalósításai esetében azonban létrehozható egy implicit profil, amely egybeesik a gyűrődéssel.
4.5.3. Görbületi folytonosság
Egy felület látvány-minősége nem csak az érintősík-folytonosságtól függ, hanem a magasabb fokú deriváltaktól is. A felhasználó nagyon érzékeny lehet a felületív megtört változásaira, különösen akkor, ha a felület tükröző csúcsfényekkel vagy tükrözött textúra-leképezésekkel van megadva, ami gyakori a realisztikus ábrázolásnál. A felhasználó zavaró vizuális képződményt észlelhet, amelyet „Mach-sávnak” nevezünk. Javul a dolog, ha az átmeneteknél a folytonossági fokot megemeljük a görbületi folytonosságéra.
Az elemzés megmutatta, hogy az (1) vagy a (4) képlettel definiált felület görbülete a Bj és az Sí második deriváltjától függ. A B, függőségei nem triviálisak, és előnyös, ha úgy választjuk meg a egyesítő függvényeket, hogy a második derivált nulla legyen, és engedjük, hogy az Sí felület függvényei határozzák meg a görbületet. A 2.1. rész koszinusz négyzet függvénye megfelel ennek a feltételnek. Léteznek bizonyos ötödfokú polinomok is, amelyek szintén kielégítők. Ilyen például a (3.1.) képletek Bi(x) polinomja.
Ha az (1) vagy a (4) képlettel létrehozott egyesített felület görbülete csak az Si-től függ (például Bj” = 0), akkor meg lehet emelni az Sí határos felület-foltok közötti görbületi fokot az előző részben a tangens-folytonosság elérésére ismertetett eljárásokkal analóg módon. E célból egyszerűen úgy definiáljuk a megfelelő profilokat és izoklin fogókat, hogy a profil-határvonalon levő egyes markereknél egybeessenek a második deriváltjaik. Megjegyezzük azonban, hogy minden egyes profilfogó tekinthető egy paraméter lineáris függvényének, és ezért a második deriváltja nulla. Ily módon megvalósul a görbületi folytonos
- 71 ság, habár úgy, hogy a profilon keresztüli görbület „lapos”, azaz nulla. Ez hasznos ott, ahol a profilon inflexiós pont van, de máshol esetleg nemkívánatos lehet. A helyzet orvoslására a lineáris fogók helyettesíthetőek íves bordákkal, így parabolaívekkel. A fogók ekkor ívek lesznek, és a markereknél a görbületet megfeleltetjük az adott ívnek.
Ha kiterjesztjük az azt elgondolást, hogy minden fogónak, például profilfogónak, izoklin fogónak és határvonal fogónak nullától eltérő görbületet adunk, az egyesítő függvények nulla második deriváltjával együtt, akkor enyhíthetőek a Mach-sáv hatásai.
4.5.4. GI folytonosság a vízszintes és a függőleges tengely körüli elmozdulás (roll és yaw) és nagyság (magnitude) megjelenítése felhasználásával
A találmány szerinti eljárás a megfelelő profllgörbéhez való kezelő vektorok (például izoklin fogók) megadására is kínál felhasználói interfész eljárást, úgy, hogy biztosítva legyen a profil által egyesített felületek közötti GI folytonosság (ahogyan azt a bevezetőben definiáltuk). Ez az eljárás, amelyet itt hengerelő-pörgető (roll-yaw) eljárásnak nevezünk, megad egy V vektort három, roll, yaw és mag (magnitude) nevű skalár kifejezéssel, úgy, hogy a roll és a yaw összetevőket egy görbe P pontjánál határozzuk meg, felhasználva a T tangensvektort a P pontnál, és a P pontnál levő görbére merőleges N vektort. A V vektor yaw összetevője a T szögeltérését jelöli P-nél. Ha például a V vektor a T-re merőleges irányú, a yaw érték (legalább egy keretben) 0 °, és ha a V vektor a P pontnál ugyanolyan irányú, mint a T, akkor a yaw érték 90 °. A V vektor roll összetevőjét tekintve: ez a skalár a T mint forgatási tengely körüli szögelfordulás nagyságát mutatja, úgy, hogy a szög mérésére szolgáló alapvonal-tengely az N vektor P-nél. Következésképpen az N vektor 0° rollt jelent, és az elfordulási tartomány -180 és 180° közé esik a jobbkéz-szabály alkalmazásával, amint azt a szakma ismerői érteni fogják. Ami a V vektor magnitude összetevőjét illeti, ez egyszerűen a V vektor hossza. Megjegyezzük, hogy bármely, háromdimenziós derékszögű koordinátarendszerben kifejezett vektor egy az egybe átalakítható az adott T-re és N-re vonatkozó roll-yaw-mag jelölésre.
Megjegyezzük, hogy az N vektort választhatjuk a T-re merőleges sík vektorai közül. Ez azonban nem határozza meg pontosan az N-t. Többféle eljárás használható az N definiálására. Az N definiálására szolgáló első ilyen eljárás az, hogy egyszerűen egy konstans VC vektort választunk, és azután a következő egyenlettel határozzuk meg az N-t: N = T x VC. Ez az eljárás azonban defmiálatlan értéket ad az N-re akkor, ha a T és a VC egy egyenesbe esik. Ahhoz, hogy értéket adjunk az N-nek akkor, amikor ez az egyenlet nulla vektort
-Ί2eredményez, az N megközelíthető a kollinearitás topológiai környezetében. Vagylagosan, az N létrehozására szolgáló egy második eljárás esetében kiválaszthatjuk a mögöttes görbe Frenet-Serrat keretét, amint az a szakterületen ismert. A Frenet-Serrat keret azonban nemfolyamatos lehet a görbe mentén levő inflexiós pontoknál. A találmány szerinti eljárás ezért olyan eljárást biztosít, amellyel létre lehet hozni egy olyan minimálisan forgó referenciakeretet egy összetett (azaz: háromdimenziós) görbéhez, amely a görbe és T tangensvektora irányától és alakjától függetlenül kiküszöböli az N vektor definiálásával járó nehézségeket.
Amint már említettük, a roll-yaw eljárás új utat biztosít a profilon keresztüli GI folytonosság elérésére. Példaképpen gondoljunk a 44. ábrán szemléltetett geometriára, amely a P profilt és az LR és RR baloldali illetve jobboldali izoklin szalagot mutatja. Az LR és RR izoklin szalagok mindegyikének megvan a megfelelő izoklin fogója a végeinél, vagyis az LR izoklin szalagnak a HL 1 és HL2, és az RR izoklin szalagnak a HR1 és a HR2. Feltéve, hogy a P profil végpontjai HP, és HP2 jelzetű fogókkal rendelkeznek, a profil bármely pp pontjára a profilon keresztüli, az általa határolt felületekre vonatkozó folytonosságot az 1L és ÍR interpolált izoklin értékek határozzák meg. Továbbá az ÍR interpolált (a találmány szerinti eljárás szerint) a HR1 és HR2-ből, az 1L interpolálva van a HL1 és HL2-bőL Tehát, amint az a szakma ismerői számára nyilvánvaló, a P profilon keresztüli GIfolytonossághoz az IL-nek és IR-nek legalább is ellenkező (kollineáris) irányokba kell esniük. Továbbá a szakma ismerői kimutathatják, hogy ha az ÍR és az 1L képzése IL-re a HL1 es HL2, az IR-re a HR1 és HR2 közötti harmadfokú Hermite-féle interpolációval történik, akkor a GI folytonosság feltétele az, hogy a HL1 és HR1 egyenlő és ellenkező irányú vektor legyen. Továbbá ugyanennek kell igaznak lennie HL2-re és HR2-re is. Ha azonban az 1L és ÍR izoklin értékeknek a descartes-i térben történő interpolálása helyett az interpolálást a (roll, yaw, mag) térben végezzük el, a GI folytonosság kevésbé erős feltétellel is elérhető, éspedig azzal, hogy a HL 1 és a HL2 roll-értékének azonosnak kell lennie. Ez viszont azt jelenti, hogy a HL 1-nek, HRl-nek és HP 1-nek csak egy síkba kell esnie (és ugyanennek kell igaznak lennie a HL2-re, HR2-re és HP2-re vonatkozóan) ahhoz, hogy garantáljuk a GI folytonosságot a P profilon mindenhol. Továbbá megjegyezzük, hogy hasonló feltételeket kell szabni akkor is, ha az izoklin fogok íveltek, nem pedig egyenesek Ezen belül az izoklin fogókra a P profillal közös pontjaikon emelt tangensvektorokat használhatjuk bármely más megfelelő, a 44. ábrán ábrázolt izoklin fogó vektor helyett. Ily módon, amint azt a szakma ismerői értékelni fogják, olyan számítógépes lépéseket lehet meg
-73 adni, amelyek magukban foglalják a roll-yaw módszert arra, hogy szükség esetén a Descartes-! vektorokból konvertáljunk a roll, yaw, mag vektorokra, majd biztosítsuk a fent ismertetett egysíkúsági megkötés teljesülését, hogy garantáljuk, hogy a felületek GI folytonosak a P profilon keresztül.
4.6. Modellek beágyazása modellekbe
A találmány szerinti eljárás lehetővé teszi azt, hogy egy profilok által határolt felület részeit külön-külön tervezzük meg. Például egy felület háromszög alakú része megtervezhető önálló felület-modellként. Vagyis a tervező kívánság szerint bevihet profilokat és izoklin szalagokat mindaddig, míg meg nem kapja a modell kielégítő tervrajzát (baricentrikus leképezésekkel, amint azt a szakma ismerői érteni fogják). Ezt követően ez a darab eltorzítható, elforgatható és beilleszthető egy másik modell háromszög alakú részébe. Ily módon meg lehet tervezni egy részletesen kidolgozott modellt, és azt be lehet ágyazni egy másik modellbe. A linkek megtartásával ez az eljárás használható a részletfokozat-kezelésre is. Ha például egy modellt egy bizonyos távolságból nézünk, nem szükséges megjeleníteni a részletezett részt, de ahogy a szemlélő közeledik, a beágyazott objektum rákapcsolódik az általa megengedett extra részletekre. A következő alegységekben a két példát mutatunk a beágyazási típusokra
4.6.1. Lekerekítő technika
A 20. ábrán látható módon két egymást metsző 484 és 486 felület közötti 482 élt egy kis egyesített felület kerekíti le. Ez a 480 egyesített felület keskeny 488 és 490 felületsávok egyesítésével jön létre, amelyek előképe „kicsit” el van tolva a 482 él paramétertérbeli előképétől. Ez a folyamat az (1) képlet közvetlen alkalmazása úgy, hogy a 484 és 486 felületet az ábrán nem látható közös paraméterterük felhasználásával kapcsoljuk össze.
Az új felület-típusok új értékelési rutinokat eredményeznek, amelyek különösen hatékonyak az ismertetett speciális esetekben.
5. Értékelés
Vegyük először is egy kétélű egyesítés értékelését, abból a felismerésből kiindulva, hogy más alakzatok is ebből az alapvető formából származtathatóak. Tekintettel a fontosságára, idézzük fel az (1) képletet:
S(u,v) - S'(u,v)·+ S2(u,v) ·B2(u,v) (1)
Az S felület értékelésekor meg kell határozni mind a B, egyesítő függvényeket, mind az S,
-74izoklin szalagokat. A egyesítő függvényt a paramétertérben levő egy szabadságfokú távolságfüggvényként számítjuk ki. A 2. részben közölt ismertetésnek megfelelően a távolságfüggvény értékelése jelentősen függ attól, hogy mennyire összetett az előkép a paramétertérben. Ha ezt meghatároztuk, az aktuális egyesítési érték kikereshető egyszerűen egy táblázatból, vagyis a egyesítő függvényeket táblázatos formára hozzuk, kielégítően nagy felbontásban és eltároljuk őket a memóriában, ahol indexálhatóak az input-változó szerint. Vegyük a Bi(x) függvényt a (3.1.) képletben. Értékeljük ki a függvényt x = 1, 0,01, 0,02,...,0,99 és 1 értékre. Ezeket az 1001 értékeket mátrixban tároljuk. Ha megadunk egy X pontot, ezzel megkeressük a mátrixban a legközelebbi pontot, például 0,52 és 0,53 között. Ezt követően a B(0,52)-t vagy B(0,53)-t használjuk függvényértékként.
Sok olyan technika van, amely aszerint alkalmazható, hogy milyen távolság- és izoklin szalag függvényekről van szó. A mostani ismertetés egy olyan eljárással foglalkozik, amely egy számítástechnikai értelemben egyszerű modellt tételez fel, de mégis meglehetős tervezési rugalmasságot biztosít. Az 508 (Sí) és 516 (S2) izoklin szalagokat úgy adjuk meg, ahogyan a 20. ábrán. Ezeket az u és a v paraméterre egyaránt 0-1-ig parametrizáljuk. A v paraméternek az 504 profilvonal mentén levő minden egyes fix értékére, ha a megfelelő jelzőkaró az 508 izoklin szalagon egyenes szakasz (mint például az 512 szakasz), akkor az izoklin szalag vonalazott felület, amint az szakember számára nyilvánvaló. Ennek megfelelően az u paraméter távmértéket ad meg a vonalazás mentén, ott, ahol az (u,v) pont előfordul. Tételezzük fel, hogy az 508 és 516 izoklin szalagok mindegyike vonalazott felület. Továbbá tételezzük fel, hogy az 504 és 506 profilok előképei a paramétertérben maguk a profilok, és a távmérték egy (u,v0) pont parametrikus u értéke az izoklin vo vonalazásán. Mivel az 508 és 516 izoklin szalagok vonalazott felszínek, a konstans vo paraméterre leolvashatjuk az egyenlő távolságban levő pontok halmazát az 512 és 520 szakaszok mentén egyszerűen úgy, hogy egy megfelelő ellenvektort adunk hozzá az előző értékhez. A kiinduló érték Sí(0,vq). Az ellenvektort a következőképpen kapjuk meg:
(10) ahol az n azoknak a pontoknak a száma, amelyekre a vonalazó egyenesen szükségünk van ahhoz, hogy az egyik izoklin szalag (előkép) éltől leolvashassuk a szemközti másik élet
Ha azt a korlátozást vezetjük be, hogy a egyesítő függvények egységosztások, azaz //B1 = 1-B2, ami tervezési szempontból kívánatos, akkor az (1) képlet a következőt adja ki:
(11)
- 75 Az egyik megvalósításnál ezt az alakot és a korábbi egyszerűsítéseket használva az derül ki, hogy minden egyes ponthoz három vektor-hozzáadás szükséges (SÍ, S2 és egy táblázatból való kikeresés (Bi(u,v)-re) és egy skalár szorzás. Ez az inicializálás után esedékes, amely abból áll, hogy megtalálunk minden egyes Sj(O,v)-t, és kiszámítjuk a To ellenvektort (a (10) képlet felhasználásával). Az S-en levő pontok halmazának a leolvasásához az ember egyszerűen inkrementál a v paraméteren keresztül, majd kiszámítja a vonalazások mentén a pontokat u-ban.
A definiált négyélű felület esetében (1. 4.6.1. rész) bizonyos Si-k olyanok, mint a fenti kétélű eset, de a többi előbb longitudinálisán kapcsolódik össze, a szalagon keresztül. Konkrétan, a 34. ábrán a v-loft eset ugyanaz, mint a 35. ábrán, átnevezve, míg a 34. ábra u-loftja izoklin szalagok vízszintes egyesítése. A négyélű felület mind a négynek a baricentrikus csatlakoztatásából adódóik.
A 33. ábra azt a négy Pn, Ρι2, P21 és P22 profilgörbét mutatja, amelyek közé a felületet el kívánjuk helyezni. A 33. ábrán a Pn és P|2 profilt és a megfelelő Rn és R]2 izoklin szalagot használjuk az Sj egyesített felület előállítására.
Míg az Sí értékelés pontosan ugyanaz, mint a már ismertetett kétélű esetnél, az S2 létrehozása (35. ábra) eltérő, mivel az u és a v paraméter helyet cserél. Ebben az esetben az R2i és R22 izoklin egyenes szakasza felel meg az u rögzítésének és a v leolvasásának; ez a helyzet nem egyeztethető össze a gyors leolvasással. Ehelyett kívánatos az, hogy csak egy paramétert rögzítsünk és a másikat leolvassuk a 34. és a 35. ábrán egyaránt. Az egyik megvalósításnál ez úgy oldható meg, hogy eltérően definiáljuk az Ri2 és R22 izoklint. Vagyis minden egyes ilyen szalag két, egyszerű felhasználói inputokkal definiált vonalazott felület csatlakoztatása lesz. Például vegyük az R2i izoklin szalagot. Ez definiálható két 1950 és 1952 bilineáris felület csatlakoztatásának a 2.2 részben ismertetett és a 37-39. ábrán szemléltetett felület-generáló technikákhoz hasonlóan. Vagyis a 1950 és 1952 bilineáris felületeknek a P2i profil tangensét képező élei a 1956 és 1960 profilfogók; a 1964 és 1968 határvonalfogók tangensek a 1972 szalag-határvonalra, és ezek képezik a bilineáris felületek átellenes éleit. A másik két szakasz, a 1976 és a 1980, felhasználói input.
Most már rögzíteni lehet a v-t a második (u)-loftban is, és elvégezhető a leolvasás egyetlen ellenvektor hozzáadásával. Ezen erőfeszítés az S2i és S22 izoklin szalagon levő pontokat eredményez, mindig ugyanazon az áron, mint amivel pontok állíthatók elő a v-lofton. Továbbá csatlakoztatni kell az új pontokat, hogy kiszámítsuk az S2-n levő pontot. A művele
-76tek számát tekintve tizenegy vektor-hozzáadásra, öt skalár szorzásra és egy táblázatból való kikeresésre van szükség. A hozzáadások tartalmaznak hármat a v-loftra nézve, hármat a v-loft izoklinek mindegyikére, és egyet ezeknek az izoklineknek a csatlakoztatására és a két loft csatlakoztatására.
Az általános N-oldalú felületre vonatkozóan először is ki kell számítani minden egyes szalag távolságát. A paramétereket a 2.2 részben szereplő N-oldalú parametrizálási technikával számítjuk ki. Ezeket a távolságokat azután bevisszük a (6) képlet egyesítő függvényeibe. Úgy állítjuk be őket, hogy 0 és 1 között változzanak.
A szalagokra vonatkozó paramétereket az így megadott távolságból kell beállítani. Azaz· az egyik paraméter a távolság lesz (a profiltól). A másik paraméter levezethető úgy, hogy meghatározzuk, hol kereszti a 12. ábra paraméter-vonala az N-oldalú poligon élét. Feltételezzük, hogy a poligon 1 hosszú élekkel rendelkezik. Ha ezeket a paramétereket megállapítottuk, megvan a (4) képlet minden, a számításhoz szükséges alkotórésze.
6. Alkalmazások
A találmány szerinti eljárás számos számítógépes tervezési területen használható. Az alábbi lista röviden ismertet néhány olyan területet, ahol a találmány szerinti eljárást használni lehet.
6.1. Tartály tervezés
Az olyan tartályok, mint a palackok szabad alakú tervezése mindeddig kevésbé intuitív és unalmas munka volt, de a találmány szerinti eljárás csökkenti ezeket a hátrányokat.
6.2. Autó tervezés
A gépjárműiparban a találmány szerinti eljárás felhasználható autó-karosszéria tervezésre csakúgy, mint autó-komponensek tervezésre. Ezen belül a találmány szerinti eljárás segítségével olyan könnyű elvégezni a részek és körvonalak deformálását, hogy ez lehetővé teszi a komponensek és bemélyedések közvetlen deformálását, miáltal könnyebb megtervezni a komponensek beillesztését adott mélyedésekbe.
6.3. Repülés és űrhajózás
A találmány szerinti eljárás olyan nagy pontosságú vágási és felület-foltozási műveletek kínál, amilyenekre a légi iparban szükség van.
6.4. Hajógyártás
6.4. Hajógyártás
A hajógyártás egyedülálló abban, hogy meg kell tervezni a hajótestet és a propellert. Az ilyen testek és propellerek tervezését a víz folyásával kapcsolatos korlátozások fizikája vezérelheti. Az ilyen korlátozások kielégítése beépíthető a találmány szerinti eljárásba.
6.5. Hagyományos CAD/CAM alkalmazások
A motorok, cső-elrendezések és fémlemez-termékek tervezésére vonatkozó alkalmazások tipikusan vágási és csatlakoztatási készségeket követelnek meg. Ezért, mivel a találmány szerinti eljárás különösen hatékony műveleteket kínál fel e célra, valamint könnyen lehet vele felületeket deformálni, hatékonysága ezeken a területeken különösen fontos lehet.
6.6. Egyéb alkalmazások
Hadd álljon itt egy lista azokról az egyéb területekről, ahol a találmány szerinti eljárás felhasználható a számítógépes tervezés céljaira. Ezek a következők: házi elektronika- és berendezés-tervezés, műanyag fröccsöntőforma-tervezés, szerszám- és sajtoló-tervezés, játéktervezés, geológiai modellezés, földrajzi modellezés, bányászati tervezés, művészetek és szórakozás, animáció, szobrászat, áramlástan, meteorológia, hőáramlás, elektromágnesesség, plasztikai sebészet, égési maszkok, fogszabályozás, pótlások, ruhatervezés, cipőtervezés, építészeti tervezés, virtuális valóság tervezés, adatok tudományos vizualizálása, személyi állomány képzésére szolgáló mértani modellek (például orvosi képzés).
A találmány szerinti eljárás fenti tárgyalását szemléltetési és ismertetési céllal mutattuk be. Továbbá az ismertetésnek nem célja az itt közölt foganatosítási módokra korlátozni a találmány szerinti eljárást. Következésképpen a fenti kitanításokkal összeegyeztethető variációk és módosítások a vonatkozó szakma tudásanyagán és ismeretein belül beleférnek a találmány szerinti eljárás hatáskörébe. A fent ismertetett megvalósítás továbbá azt a célt szolgálja, hogy a találmány szerinti eljárás gyakorlati használatának a jelenleg ismeretes legjobb módját magyarázza el, és lehetővé tegye másoknak, akik jártasak a szakmában, a találmány szerinti eljárás ilyetén felhasználását, vagy más megvalósításokban történő felhasználását, a találmány szerinti eljárás adott alkalmazásának vagy felhasználásának megfelelő különböző módosításokkal együtt. A csatolt igénypontokat úgy értelmezzük, mint amelyek a korábbi technika által megengedett mértékben alternatív megvalósításokat is magukban foglalnak.
Claims (39)
- -78Szabadalmi igénypontok1. Eljárás egy egyesített mértani objektum meghatározására, azzal jellemezve, hogy- parametrikus mértani objektumok (Sí ahol i = 1,.. ,N, és N > 2) mindegyike vonatkozásában egy parametrikus térből (PS) a parametrikus mértani objektumokat (Sí) tartalmazó közös mértani térbe (GS) egy olyan leképezést (/5 ) hajtunk végre, amellyel kapcsolatosan fennállnak az alábbi A1 és A2 feltételek:- Al: a parametrikus mértani objektumok (Sj) közül legalább egy parametrikus mértani objektum (5,.o) dimenziószáma nagyobb vagy egyenlő kettőnél; és- A2: minden egyes parametrikus mértani objektum (Sí) vonatkozásában a parametrikus mértani objektumnak (Sí) van olyan része (P,), ahol a leképezés (Λ, ΙΛ”'(Τ’) pontokban folytonos; továbbá- a parametrikus tér (PS) pontjai (q) sokaságának mindegyikében kiszámítunk egy függvényt (S) a közös mértani térben (GS) egy-egy megfelelő pont (S(?)) megkapásához, amellyel kapcsolatosan fennállnak az alábbi B1 és B2 feltételek:- Bl: egy megfelelő pont (S(q)) függ (q) leképezéstől, és legalább egy leképezés (Λ,θ (q)) vonatkozásában j Φ i0, továbbá 5(/^1 (Τ’θ ))^^, S(J~' (Sj)) c />;- B2: a parametrikus mértani objektum (S) folytonos /^(/’θ) és ./71 (SJ pontokban; valamint — a megfelelő pontokat (S(q)) egy és Sj között egyesült mértani objektum megjelenítéseként kijelezzük.
- 2. Az 1. igénypont szerinti eljárás, azzal jellemezve, hogy (e) minden egyes végrehajtott leképezés (/s ) egy mértani objektum (Sí) paraméterezéséhez szükséges parametrikus leképezés (fs );(f) minden egyes mértani objektum (Sj) egy felület;(g) minden egyes rész (P0 a mértani objektumhoz (S,) való görbe; és (h) a pontokat (S(q) )a függvény (S) által definiált felület tartalmazza, úgy, hogy a ré--79szek (Pi) a felület kerületén helyezkednek el.
- 3. A 2. igénypont szerinti eljárás, azzal jellemezve, hogy minden egyes részt (Pj) több pont segítségével interpolálunk.
- 4. Az 1. igénypont szerinti eljárás, azzal jellemezve, hogy a parametrikus tér (PS) pontjait előre meghatározott tartományú, előre megadott számú koordináta halmazként jelenítjük meg.
- 5. Az 1. igénypont szerinti eljárás, azzal jellemezve, hogy a függvény (S) kiszámítása során a megfelelő pontot (S(q)) legalább a fs (q) és fS],(q) pontok súlyozott összegeként határozzuk meg.
- 6. Az 5. igénypont szerinti eljárás, azzal jellemezve, hogy a függvény (S) kiszámítása során legalább néhány pont ( S(q)) vonatkozásában a súlyozott összeg egy vagy több súlyát meghatározzuk, ahol minden egyes súllyal (w) a mértani objektumok (Sí) egyikének egy pontját méretezzük.
- 7. Eljárás egy felület megjelenítésének módosítására felhasználó által, azzal jellemezve, hogy egy megközelítölegesen egy első görbét tartalmazó első felületet grafikusan megjelenítünk; majd egy olyan második görbét jelenítünk meg grafikusan, amelynek pontjai az első görbe minden egyes pontjánál vagy megközelítőleg minden egyes pontjánál az első felület érintőit jelzik; és az első felület körvonalának megváltoztatásához a második görbe egy részének helyzetét az első görbéhez képest módosítjuk.
- 8. A 7. igénypont szerinti eljárás, azzal jellemezve, hogy az első görbe minden egyes pontja egy előre meghatározott távolságon belül helyezkedik el az első felülettől.
- 9. A 8. igénypont szerinti eljárás, azzal jellemezve, hogy az előre meghatározott távolság a ΙΟ’3- 10’6 tartományba esik.
- 10. A 7. igénypont szerinti eljárás, azzal jellemezve, hogy az első görbe az első felület legalább két pontjából interpolált profilgörbe.
- 11. A 7. igénypont szerinti eljárás, azzal jellemezve, hogy legalább az első felület és a második felület egyike pontjainak a meghatározására egy felület első és második görbe közötti pontjait használjuk.
- 12. A 7. igénypont szerinti eljárás, azzal jellemezve, hogy az első görbe pontjait az első felület pontjainak felületi érintőiből interpolálással határozzuk meg.
- 13. A 7. igénypont szerinti eljárás, azzal jellemezve, hogy a módosítás során az első felület egy érintőjét reprezentáló vektor irányát vagy nagyságát változtatjuk.
- 14. Eljárás egy felület megjelenítésének módosítására egy számítógépes rendszerben, amelynek során egy rajta lévő első és második görbével rendelkező meghatározott felületet grafikusan megjelenítünk;a számítógépes rendszer felhasználója révén a meghatározott felületet deformáló felhasználói interfész módszert működésbe hozva az alábbi lépéseket (A1-A3) végrehajtjuk, azzal jellemezve, hogy:(Al) egy első mértani objektum megjelenítésen pontokat határozunk meg, ahol az első mértani objektum megjelenítés az első görbe számítógépes rendszerrel megjeleníthető pontjainak többségében a meghatározott felület kívánt körvonalának kiértékelése során használt első adatokat jelenti; majd (A2) egy második mértani objektum megjelenítésen pontokat határozunk meg, ahol a második mértani objektum megjelenítés a második görbe számítógépes rendszerrel megjeleníthető pontjainak többségében a meghatározott felület kívánt körvonalának kiértékelése során használt második adatokat jelenti; majd (A3) a meghatározott felület olyan módosított változatát létrehozzuk, amely az eredeti meghatározott felületről hiányzó számos olyan új pontot tartalmaz, amelyeket (a) az első mértani objektum megjelenítéséből nyert legalább egy pont, és (b) a második mértani objektum megjelenítéséből nyert legalább egy pont függvényeként határozunk meg; és a módosított változatot grafikusan megjelenítjük.
- 15. A 14. igénypont szerinti eljárás, azzal jellemezve, hogy az első mértani objektum és második mértani objektum megjelenítés legalább egyikénél egy felületet jelenítünk meg.
- 16. A 14. igénypont szerinti eljárás, azzal jellemezve, hogy a módosított változat létrehozása során a legalább egy új ponthoz az első mértani objektum és a második mértani objektum megjelenítés mindegyikén legalább egy-egy pont súlyozott összegét kiszámítjuk.
- 17. A 16. igénypont szerinti eljárás, azzal jellemezve, hogy a kiszámítás során az új pontok közül egyre vagy közülük többre vonatkozóan egyenként a súlyozott összeg egy vagy több megfelelő súlyát megállapítjuk, ahol minden egyes súllyal (w) az első mértani objektum és-81 a második mértani objektum megjelenítés egyikének megfelelő pontját (pw) méretezzük.
- 18. A 17. igénypont szerinti eljárás, azzal jellemezve, hogy a megállapítás során új pontok készletének (Q) minden egyes pontjára (q), valamint minden egyes új ponthoz (q) tartozó súlyok közül legalább egy súlyra (wq) egy olyan távmértéket (Z> ) állapítunk meg, amely függ (c) az új pont (q) előképi paraméterezésétől, és (d) egy, az említett mindkét módosított változaton rajta levő pont (sq) előkép paraméterezésétől, valamint a súlyhoz (wq) kapcsolódó pontot (Z)w,) tartalmazó mértani objektum megjelenítéstől.
- 19. A 18. igénypont szerinti eljárás, azzal jellemezve, hogy az új pontok készletének (Q) pontjaira (qb q2) vonatkozóan, ha az egyik pont (qi) előkép paraméterezése közelebb van (5?i) előkép paraméterezéséhez, mint a másik pont (q2) előkép paraméterezése (Sq2) előkép paraméterezéséhez, akkor Dw <DW .
- 20. Eljárás egy N-dimenziós mértani objektum megjelenítésének módosítására egy számítógépes rendszer felhasználója által, ahol N >2, azzal jellemezve, hogy a számítógépes rendszerben egy, egy beágyazott kevesebb dimenziós második mértani objektumot tartalmazó N dimenziós első mértani objektumot grafikusan megjelenítünk;pontjaival egy, az első mértani objektum második mértani objektumnál levő egy vagy több méretének a változási ütemét jelző harmadik mértani objektumot grafikusan megjelenítünk; és a második mértani objektumhoz képest a harmadik mértani objektum egy vagy több mértani jellemzőjét az első mértani objektum legalább egy mértani jellemzőjét érintő módon megváltoztatjuk.
- 21. A 20. igénypont szerinti eljárás, azzal jellemezve, hogy az első, második és harmadik mértani objektum mindegyike vonatkozásában a mértani objektumok dimenziója egyenlő a mértani objektum összes pontjának a megjelenítéséhez szükséges lineárisan független vektorok legkisebb számával.
- 22. A 20. igénypont szerinti eljárás, azzal jellemezve, hogy az első és harmadik mértani objektumok legalább egy mértani jellemzője tartalmaz legalább egyet magában foglal a-82tangens-irány, a tangensvektor-nagyság és a görbület-mérték közül.
- 23. Eljárás egy mértani objektum számítógépes rendszeren való létrehozására, azzal jellemezve, hogy egy görbét megjelenítünk;a görbén levő mindegyik pont vonatkozásában egy első felület alakját az adott pontban jelző adatokat kinyerünk;a görbét tartalmazó első felület megjelenítését meghatározzuk; valamint egy olyan körvonallal rendelkező második felületet jelenítünk meg, amely az említett első felület pontjainak a függvénye.
- 24. A 23. igénypont szerint eljárás, azzal jellemezve, hogy az első felület egy izoklin szalagot tartalmaz a második felülethez, és a görbe az említett izoklin szalag egy profilja.
- 25. A 23. igénypont szerinti eljárás, azzal jellemezve, hogy az első és a második felületnek az említett görbe a határvonala, és az első és második felületnek azonos érintősíkjai vannak az említett görbe minden egyes pontjánál.
- 26. A 23. igénypont szerinti eljárás, azzal jellemezve, hogy a meghatározás során az első felületet mint síkba kiteríthető felületet vagy mint címkefelületet adjuk meg.
- 27. A 23. igénypont szerinti eljárás, azzal jellemezve, hogy a létrehozás során a második felületet az első felület és legalább egy további felület közötti egyesített felületként határozzuk meg, ahol a második felületen lényegében minden egyes pont az első felület és a további felület egy-egy pontjának a függvénye.
- 28. Eljárás egy mértani objektum megjelenítésének a létrehozására, azzal jellemezve, hogy egy első felületet állítunk elő, amelynek egy része síkba kiteríthető felület;a síkba kiteríthető felülethez egy, az első felület zárt görbéjének a belsejét azonosító zárt görbe-határvonalat szerkesztünk;az első felületet megközelítőleg az említett határvonalnál grafikusan lényegében csak az első felület említett belső részét megjelenítő módon levágjuk; és az említett belső résszel grafikusan egy lényegében az említett belső részt lefedő címkét egyesítünk.
- 29. A 28. igénypont szerinti eljárás, azzal jellemezve, hogy az első felületet előállítása so--83rán az első felületet vonalazott felületként azonosítjuk.
- 30. A 28. igénypont szerinti eljárás, azzal jellemezve, hogy a határvonal szerkesztése során a határvonalat egy olyan egyesített felület származtatására felhasználható megfelelő izoklin szalaggal rendelkező profdgörbeként hozzuk létre, ahol a határvonal az említett egyesített felület határvonala
- 31. A 30. igénypont szerinti eljárás, azzal jellemezve, hogy az egyesített felület pontjait az izoklin szalag és legalább egy másik felület pontjainak a súlyozott összegéből származtatjuk.
- 32. Eljárás egy mértani objektum megjelenítésének a módosítására, azzal jellemezve, hogy egy két vagy több dimenziójú első mértani objektumot megjelenítünk;legalább egy további mértani objektumot megjelenítünk úgy, hogy a megjelenítések közül legalább egynek az alakja és pozíciója az első mértani objektum megjelenítés alakját jelzi, továbbá, hogy a megjelenített további mértani objektumok közül legalább egy legalább egydimenziós; majd egyidejűleg elvégezzük az alábbi lépéseket (Al, A2):(Al) az említett további mértani objektum megjelenítések közül egynek vagy többnek az alakját vagy pozícióját megváltoztatjuk;(A2) az első mértani objektum megjelenítést a további mértani objektum megjelenítéseken eszközölt változásokat jelző módosításokkal újból megjelenítjük.
- 33. A 32. igénypont szerinti eljárás, azzal jellemezve, hogy a további, mértani objektum megjelenítések olyan grafikai megjelenítéseket tartalmaznak, amelyeket számítógépes grafikai kimeneti eszközön megjelenítve úgy mutatunk be, mint amelyek össze vannak kapcsolva az első mértani objektum megjelenítésével.
- 34. A 32. igénypont szerinti eljárás, azzal jellemezve, hogy a további mértani objektum megjelenítések legalább egy, felhasználó által megválasztható pontot, vektort, görbét és felületet tartalmaznak.
- 35. A 32. igénypont szerinti eljárás, azzal jellemezve, hogy a változtatás során a felhasználó által a további mértani objektum megjelenítésének megváltoztatására irányuló, lényegében folytonos idejű változtatási kérelmet viszünk be, amelynek során legalább egy korábban bevitt változtatási kérelem vonatkozásában az újbóli megjelenítéssel egyidejűleg az első mértani objektum megjelenítés módosításainak megfelelően grafikus megjelenítési allépést végzünk el.-84t i
- 36. A 35. igénypont szerinti eljárás, azzal jellemezve, hogy legalább a megjelenítési és újbóli megjelenítési lépések egyikében az első mértani objektum megjelenítést a további mértani objektum megjelenítések legalább egyikeként határozzuk meg.
- 37. A 36. igénypont szerinti eljárás, azzal jellemezve, hogy a meghatározás során kiszámítjuk a további mértani objektum megjelenítésének felhasználásával megkapott pontok (P) súlyozott összegét, hogy megkapjuk az első mértani objektum megjelenítés pontját (q).
- 38. A 37. igénypont szerinti eljárás, azzal jellemezve, hogy a súlyozott összeg egy megfelelő egyesítő függvény felhasználásával kapott súlyokat tartalmaz, és minden egyes egyesítő függvény, amelynek tartománya O-tól 1-ig húzódik, annak a súlynak a meghatározására alkalmazott pontnak (q) a parametrikus előképétől függ, amelynek az egyesítő függvény megfelel.
- 39. A 32. igénypont szerinti eljárás, azzal jellemezve, hogy a mértani objektum megjelenítéseket és a további mértani objektum megjelenítéseket három dimenziós koordináta rendszerben jelenítjük meg.A meghatalmazott:DANUBIASzabadalmi és Védjegy Iroda Kft.Dr. Antalffy-ZGft$ András 'S 3
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/US1999/016844 WO2001008102A1 (en) | 1999-07-23 | 1999-07-23 | Geometric design and modeling system using control geometry |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| HUP0700118A2 true HUP0700118A2 (en) | 2007-05-29 |
Family
ID=22273274
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| HU0700118A HUP0700118A2 (en) | 1999-07-23 | 1999-07-23 | Method for determining a blended geometric object, for generating a geometric object on a computational system, and for generating, modifying a representation of a geometric object, as well as for modifying the representation of a surface |
Country Status (9)
| Country | Link |
|---|---|
| EP (1) | EP1210692A4 (hu) |
| JP (1) | JP2003505800A (hu) |
| KR (1) | KR20020021800A (hu) |
| CN (1) | CN1391683A (hu) |
| AU (1) | AU5390799A (hu) |
| CA (1) | CA2379459A1 (hu) |
| HU (1) | HUP0700118A2 (hu) |
| MX (1) | MXPA02000845A (hu) |
| WO (1) | WO2001008102A1 (hu) |
Families Citing this family (31)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7196702B1 (en) | 1998-07-23 | 2007-03-27 | Freedesign, Inc. | Geometric design and modeling system using control geometry |
| US6981695B1 (en) | 2003-10-14 | 2006-01-03 | Polaris Industries Inc. | All terrain vehicle with multiple winches |
| US8836701B1 (en) | 1998-07-23 | 2014-09-16 | Freedesign, Inc. | Surface patch techniques for computational geometry |
| US7191029B2 (en) * | 2001-06-22 | 2007-03-13 | Siemens Hearing Instruments, Inc. | Rapid prototype fabrication of a monolithic hearing instrument housing with an integrally-fabricated faceplate |
| GB0219623D0 (en) | 2002-08-22 | 2002-10-02 | British Telecomm | Method and system for virtual object generation |
| US7589720B2 (en) * | 2004-08-04 | 2009-09-15 | Microsoft Corporation | Mesh editing with gradient field manipulation and user interactive tools for object merging |
| EP1881457B1 (en) | 2006-07-21 | 2017-09-13 | Dassault Systèmes | Method for creating a parametric surface symmetric with respect to a given symmetry operation |
| US7868885B2 (en) | 2007-06-22 | 2011-01-11 | Microsoft Corporation | Direct manipulation of subdivision surfaces using a graphics processing unit |
| US11907617B2 (en) | 2008-07-18 | 2024-02-20 | Cad-Sense Llc | Surface patch techniques for computational geometry |
| FR2937770B1 (fr) * | 2008-10-27 | 2011-04-22 | Snecma | Procede de creation d'une surface non axisymetrique |
| CN102141377B (zh) * | 2011-01-30 | 2014-06-04 | 睿励科学仪器(上海)有限公司 | 光学关键尺寸检测设备中用户自定义轮廓的方法 |
| CN102496140B (zh) * | 2011-12-06 | 2013-07-31 | 中国科学院自动化研究所 | 一种基于多层嵌套笼体的实时交互式图像变形方法 |
| CN103186516B (zh) * | 2011-12-29 | 2016-07-06 | 广州市中海达测绘仪器有限公司 | 一种生成监测图表的方法、装置及系统 |
| EP2660782B1 (en) | 2012-05-02 | 2019-04-10 | Dassault Systèmes | Designing a 3D modeled object |
| US9042634B2 (en) | 2013-01-15 | 2015-05-26 | General Electric Company | Method system and computer product for non-destructive object analysis |
| CN103530435B (zh) * | 2013-05-07 | 2017-02-08 | 常海超 | 一种基于敏感度的船体型线设计方法 |
| US9690878B2 (en) * | 2013-05-28 | 2017-06-27 | Siemens Prodcut Lifecycle Management Software Inc | Geometric modeling with mutually dependent blends |
| KR102138508B1 (ko) | 2013-08-13 | 2020-07-28 | 엘지전자 주식회사 | 디스플레이 디바이스 및 그 제어 방법 |
| CN103679811B (zh) * | 2013-12-31 | 2017-05-10 | 北京数码大方科技股份有限公司 | 多曲面实体化建模方法 |
| CN104029280B (zh) * | 2014-03-27 | 2016-03-16 | 南京倍立达新材料系统工程股份有限公司 | 一种三维数字化地面模具生产方法 |
| EP3038060B1 (en) * | 2014-12-23 | 2021-09-15 | Dassault Systèmes | 3D modeled object defined by a grid of control points |
| EP3051446B1 (en) | 2015-02-02 | 2025-05-21 | Dassault Systèmes | Engraving a 2d image on a subdivision surface |
| KR101657673B1 (ko) * | 2015-04-30 | 2016-09-22 | 주식회사 와이즈오토모티브 | 파노라마뷰 생성 장치 및 방법 |
| CN107918691B (zh) * | 2016-10-07 | 2023-09-29 | 福特全球技术公司 | 用于评估信号的方法和装置 |
| EP3460760B1 (en) * | 2017-09-26 | 2021-05-19 | Dassault Systèmes | Generating a 2d drawing representing a mechanical part |
| EP4550201A3 (en) * | 2017-12-22 | 2025-07-09 | Dassault Systèmes | Method for computing an unfolded part of a modeled bended part of a 3d object |
| CN109894614B (zh) * | 2019-03-25 | 2020-07-03 | 华中科技大学 | 一种可展曲面上填充轨迹规划的方法及其应用 |
| CN111861608B (zh) * | 2019-04-29 | 2024-04-30 | 杭州优工品科技有限公司 | 基于三维在线可视化的产品定制方法、装置及存储介质 |
| CN111414662B (zh) * | 2020-03-31 | 2023-05-26 | 北京市建筑设计研究院有限公司 | 利用直线型材拼装带状曲面建筑表皮的方法 |
| WO2023149844A1 (en) * | 2022-02-07 | 2023-08-10 | Cleanfuture Energy Co., Ltd. | Variable pitch propeller blades and associated propeller applications |
| KR102439313B1 (ko) * | 2022-06-15 | 2022-09-01 | 주식회사 모쓰 | 프로펠러 날개의 단면 특성 정보 획득 방법 |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4999789A (en) * | 1987-02-05 | 1991-03-12 | Hewlett-Packard Co. | Method and apparatus for trimming B-spline descriptions of patches in a high performance three dimensional graphics system |
| US5251160A (en) * | 1988-02-23 | 1993-10-05 | Evans & Sutherland Computer Corporation | System for blending surfaces in geometric modeling |
| US5497451A (en) * | 1992-01-22 | 1996-03-05 | Holmes; David | Computerized method for decomposing a geometric model of surface or volume into finite elements |
| US5818452A (en) * | 1995-08-07 | 1998-10-06 | Silicon Graphics Incorporated | System and method for deforming objects using delta free-form deformation |
-
1999
- 1999-07-23 CN CN99816901A patent/CN1391683A/zh active Pending
- 1999-07-23 HU HU0700118A patent/HUP0700118A2/hu unknown
- 1999-07-23 EP EP99939655A patent/EP1210692A4/en not_active Withdrawn
- 1999-07-23 AU AU53907/99A patent/AU5390799A/en not_active Abandoned
- 1999-07-23 JP JP2001513115A patent/JP2003505800A/ja active Pending
- 1999-07-23 MX MXPA02000845A patent/MXPA02000845A/es unknown
- 1999-07-23 CA CA002379459A patent/CA2379459A1/en not_active Abandoned
- 1999-07-23 WO PCT/US1999/016844 patent/WO2001008102A1/en not_active Ceased
-
2002
- 2002-01-23 KR KR1020020004000A patent/KR20020021800A/ko not_active Withdrawn
Also Published As
| Publication number | Publication date |
|---|---|
| KR20020021800A (ko) | 2002-03-22 |
| AU5390799A (en) | 2001-02-13 |
| WO2001008102A1 (en) | 2001-02-01 |
| JP2003505800A (ja) | 2003-02-12 |
| MXPA02000845A (es) | 2003-10-15 |
| EP1210692A4 (en) | 2006-02-08 |
| EP1210692A1 (en) | 2002-06-05 |
| CA2379459A1 (en) | 2001-02-01 |
| CN1391683A (zh) | 2003-01-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| HUP0700118A2 (en) | Method for determining a blended geometric object, for generating a geometric object on a computational system, and for generating, modifying a representation of a geometric object, as well as for modifying the representation of a surface | |
| US11403434B2 (en) | Surface patch techniques for computational geometry | |
| US7636091B2 (en) | Computational geometry using control geometry having at least two dimensions | |
| US7417635B2 (en) | Computational geometry using control geometry having at least two dimensions | |
| Tai et al. | Prototype modeling from sketched silhouettes based on convolution surfaces | |
| Zheng et al. | Constrained deformation of freeform surfaces using surface features for interactive design | |
| EP1750229B1 (en) | Process for creating from a mesh an isotopologic set of parameterized surfaces | |
| EP1750228B1 (en) | Process for creating a parametric surface having a required geometrical continuity | |
| US11907617B2 (en) | Surface patch techniques for computational geometry | |
| Michalik et al. | Sketch-and constraint-based design of B-spline surfaces | |
| Azariadis et al. | Drawing curves onto a cloud of points for point-based modelling | |
| Van Elsas et al. | Displacement feature modelling for conceptual design | |
| Narayanaswami et al. | Multiresolution modeling techniques in CAD | |
| Boier-Martin et al. | A survey of subdivision-based tools for surface modeling | |
| Alciatore et al. | Importing and reshaping digitized data for use in rapid prototyping: a system for sculpting polygonal mesh surfaces | |
| van Elsas et al. | Fast approximate G 1 surface blending to support interactive sculptured surface feature design | |
| Hutchinson et al. | Surface graph sketching | |
| Mohammed | Analysis and Application of Subdivision Surfaces | |
| Zhang et al. | Interactive sketch-based digital prototyping by using the level-set method | |
| Kim et al. | A new cubic B-splines design method for pen input environment | |
| Edwards | Deformation field mapping: a representation for interactive free-form surface modeling | |
| Gupta et al. | A Computer-Aided Design Modeling Approach for Heterogeneous Objects |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FD9A | Lapse of provisional protection due to non-payment of fees |