NO339362B1 - System og fremgangsmåte for approksimering av en redigerbar overflate - Google Patents
System og fremgangsmåte for approksimering av en redigerbar overflate Download PDFInfo
- Publication number
- NO339362B1 NO339362B1 NO20065397A NO20065397A NO339362B1 NO 339362 B1 NO339362 B1 NO 339362B1 NO 20065397 A NO20065397 A NO 20065397A NO 20065397 A NO20065397 A NO 20065397A NO 339362 B1 NO339362 B1 NO 339362B1
- Authority
- NO
- Norway
- Prior art keywords
- points
- point
- value
- new
- stated
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 61
- 238000007670 refining Methods 0.000 claims description 7
- 230000006870 function Effects 0.000 description 17
- 238000009877 rendering Methods 0.000 description 8
- 238000002156 mixing Methods 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000009499 grossing Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000002059 diagnostic imaging Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000000135 prohibitive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Algebra (AREA)
- Geometry (AREA)
- Mathematical Optimization (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
- Image Processing (AREA)
- Numerical Control (AREA)
- Image Generation (AREA)
- Stored Programmes (AREA)
- Management Or Editing Of Information On Record Carriers (AREA)
- Apparatus For Radiation Diagnosis (AREA)
Description
Den foreliggende oppfinnelse vedrører systemer og fremgangsmåter for automatisk approksimering av en editerbar overflate fra et 3D-datasett eller 3D-punktsett, som kan avbildes i form av en NURBS-overflate.
Ikke-uniforme rasjonale B-splineflater (Non-Uniform Rational B-splines (NURBS)) er standard industriverktøy for fre mstilling og utforming av geometri. NURBS, som forklart av Markus Altmann på lwww. cs. wpi. edu/~ matt/ courses/ cs653/ talks/ nurbs. html anvendes for et utvalg av årsaker. De tilbyr en felles matematisk form for både standard analytiske figurer (feks. kjeglesnitt) og fri-form figurer. NURBS tilveiebringer fleksibiliteten til å utforme et stort utvalg av figurer, og kan beregnes forholdsvis hurtig ved hjelp av numerisk stabile og nøyaktige algoritmer. De er invariante under affine, så vel som perspektiviske transformasjoner, og er generaliseringer av ikke-rasjonale B-spliner, og ikke-rasjonale og rasjonale Bezier kurver og overflater.
I Schmålzle, Stephan Andreas. New methods for Nurbs surface approximation to scattered data. (2001), ihttps:// e- collection. library. ethz. ch/ view/ eth:23868| > omhandles en metode for tilnærming av parametriske kurver og overflater til gitter punkter i to-eller tre dimensjoner.
En av ulempene med NURBS er behovet for ekstra lagring for å definere tradisjonelle figurer (feks. sirkler). Dette følger av ekstra parametere i tillegg til kontrollpunktene, men vil tillate den ønskelige fleksibiliteten for å definere parametriske figurer. NURBS-figurer defineres ikke bare ved hjelp av kontrollpunkter, det er også nødvendig med vekter tilhørende hvert kontrollpunkt. En eksempelvis NURBS-kurve C(u), som er en vektor stykkevis rasjonal polynomfunksjon, kan defineres som:
hvor
Wi = vekter
Pi = kontrollpunkt (vektor)
Ni,k= normalisert B-spline basisfunksjon av grad k.
B-Splinene er definert rekursivt som:
hvor t; er knutene som danner en knutevektor og
Knutevektoren
Knutevektoren bestemmer B-splinene unikt som vist ovenfor relativt til ligning (2). Relasjonen mellom antallet knuter (m+1), graden (k) av N;,kog antallet kontrollpunkt (n+1) er gitt ved m = n + k + 1.
Følgen av knuter i knutvektoren U antas å være ikke-minkende, dvs. t; <= t;+i. Hvert følgende knutepar representerer et intervall [t; <= t;+i) for parameterverdiene for å beregne et segment av en fasong.
For NURBS behøver ikke de relative parametriserte intervallene (knutelengde) å være de samme for alle fasongsegmentene, dvs. knutemellomrommene er ikke-uniforme, ledende til en ikke-periodisk knutevektor på formen:
hvor a og b gjentas med en multiplisitet k+1. En knutes multiplisitet påvirker knutens parametriske kontinuitet ved denne knuten. Ikke-periodiske B-spliner, som NURBS, er uendelig og kontinuerlig deriverbare innenfor knutelengden og k-M-1 ganger kontinuerlig deriverbar ved knuten, hvor M er knutens multiplisitet. I motsetning er en periodisk knutevektor U = {0, 1,..., n} k-1 ganger kontinuerlig deriverbar overalt. Med hensyn til NURBS knutevektoren sammenfaller knuteendepunktene (t; ,t;+i) med multiplisitet k+1 med endekontrollpunktene Po, Pn.
Siden knutemellomrommene kan være ikke-uniforme, er B-splinene ikke lengre de samme for hvert intervall [t; <= ti+i), og graden av B-splinen kan variere. Når en betrakter området med parametere som representeres av knutevektoren, bygger de forskjellige B-spliner opp kontinuerlige (overlappende) blandefunksjoner Ni,k(U), som definert i ligning (2), over hele parameterverdiområdet, som vist i tabell 1 nedenfor. Disse blandefunksjonene har de følgende egenskaper: 1 • Ni,k(u)>= 0, for alle i, k, u; 2. Ni,k(U) = 0, hvis u ikke er innenfor [t;, ti+k+i), betydende lokal støtte for k+1 knutelengde, hvor Ni,k(U) er ikke-null; 3. Hvis u er innenfor [t;, ti+i), er den ikke-forsvinnende blandefunksj onen Ni.k,k(u), • • Ni,k(U); 4. Sum (j=i-k, i){Nj,k(U)} = sum(i=0, n){Ni;k(U)} = 1, (enhetsfordelt); og
5. I tilfellet flere knuter, ansees 0/0 å være null.
Den første og fjerde egenskapen, som vist i tabell 2 nedenfor, resulterer sammen i en konveks belg. Flersegmentlinjen av kontrollpunkter bygger opp en fasong definert av en NURBS-kurve. Den andre og tredje egenskapen viser at k+1 følgende kontrollpunkt definerer et fasongsegment, og at et kontrollpunkt tar del i k+1 tilgrensende fasongsegmenter. Å endre et kontrollpunkt eller vekt påvirker derfor k+1 fasongsegmenter, definert over intervallet gitt i ligning (2).
Kurve-/overflatedefinisj on
Den tidligere definisjonen av en NURBS-kurve i ligning (1) kan omskrives ved hjelp av rasjonale basisfunksjoner:
En NURBS-overflate kan defineres på en tilsvarende måte:
S(u, v) = sum(i = 0, n)sum(j=0, m) Py<*>Ri,kj,i(u,v) hvor
De rasjonale basisfunksj onene har de samme egenskapene som blandefunksj onene. Et poeng som må fremheves er deres invarians under affine og (til og med) perspektiviske transformasjoner. Derfor er det bare nødvendig å transformere kontrollpunktene for å oppnå den egnede transformasjonen av NURBS-fasongen.
Regnealgoritme
NURBS kan beregnes effektivt ved å bruke homogene koordinater. De følgende trinn viser en fremgangsmåte for å utføre beregningen: 1. Legg til en dimensjon til kontrollpunktene ( f. eks., P = (x, y) -> P'(x, y, 1)) og multipliser dem med deres tilhørende vekter, dvs., i 2D: Pi(Xi;yi) -> Pi{w;
<*>x;; w;<*>y;, w;)
2. Regn ut NURBS i homogene koordinater:
3. Avbild "homogen" NURBS tilbake i det opprinnelige koordinatsystemet med:
For u i [ti, ti+i) er den eneste eksisterende blandefunksj onen å tenke på i beregningen av kurven ved u, Ni-k,k(u), • Ni,k(U) • En effektiv algoritme for å beregningen av den ikke-forsvinnende blandefunksj onen beskrives i C. deBoor, "A Practical Guides to Splines," 1978, New York, Springer-Verlag.
Vektene
Som nevnt ovenfor, å endre vekten w; til et kontrollpunkt P; påvirker bare området [t;, ti+i) (i tilfellet en kurve). Den geometriske betydningen av vektene illustreres i tabell 3 nedenfor.
Definerer punktene:
N og B; kan også uttrykkes som: hvor
Den følgende identitet oppnås fra utrykkene aogb :
som kalles kryss- eller dobbeltforholdet av punktene P;; B, N, B;. Fra disse uttrykkene kan virkningen av fasongmodifikasjon utledes:
• B; stryker langsmed et rett linjesegment.
• HvisWi=0 påvirker P; ikke fasongen
• Hvis w; øker, så trekkes b og kurven mot P; og skyves fra Pj, for j ikke= 1.
• Hvis w; minker, så skyves b og kurven fra P; og trekkes mot Pj, for j ikke= 1.
• Hvis w;-> uendelig, så b-> 1 og B;-> P; hvis u er i [t;, t;+i).
Problemet
Forskjellige teknikker er blitt utprøvd for å danne NURBS-overflater i forskjellige fagområder. For eksempel, i internasjonal publikasjon WO 02/37422 og US patent 6.765.570, begge inkorporert med referanse dertil, foreslås forskjellige teknikker for manuell frembringelse av redigerbare (NURBS) overflater anvendt i analyse og for-tolkning av seismiske hendelser. Andre konvensjonelle anvendelser foreslår å danne redigerbare (NURBS) overflater ved hjelp av i faget velkjente interpolasjonsteknikker. Slike teknikker kan omtales som en "eksakt-tilpassing"-metode for å bestemme en redigerbar overflate. En eksakt-tilpasningsmetode gjengir mer sannsynlig en mindre uniform, om ikke ikke-uniform, redigerbar overflate sammenlignet med en "beste-tilpassing" approksimasjon av den redigerbare overflaten. Dessuten kan eksakt-tilpasningsmetoden for å definere en redigerbar NURBS-overflate være upraktisk, eller i det minste økonomisk uoverkommelig, for store 3D-datasett en ofte møter på i analysen av seismiske data.
Andre konvensjonelle fremgangmåter for å omregne uordnede punkt til overflater beskrives generelt i Shephard, D., "A two dimensional interpolation function for irregular spaced data", 1968, side 517-524, Proceedings 23rd ACM National Conference. En velkjent fremgangsmåte for å interpolere spredte punkt definerer en overflateverdi basert på gitte punkt og vektefunksjoner. Selv om resultatet er forholdsvis grovt har den grunnleggende ideen inspirert mange andre fremgangsmåter.
En annen velkjent fremgangsmåte, vanligvis omtalt som "tynn plate spline", er innarbeidet i medisinsk avbildningsanvendelser og er i stand til å nøyaktig føre måloverflaten slik at den går gjennom alle gitte punkt. Se Hardy, R. L. Desmarrais, R. N., "Interpolation using surface splines," 1972, side 189-197, Journal of Aircraft 9 og Dyn, N., "Interpolation in Scattered Data by Radial Functions," 1987, side 47-61 i Chui, C.K; Schumaker, L.L.; Ultreres, F.I. (red) Topics in Multivariate Approximation. Denne teknikken krever imidlertid invertering av store matriser, som er tunge å beregne og generelt upraktisk for et stort antall innmatningspunkter, som muligens bare krever en beste-tilpassings approksimasjon.
En annen konvensjonell fremgangsmåte for å omregne en punktsky til en overflate beskrives i Hoppe, H., et al, "Surface Reconstruction from Unorganized Points," 1992, side 71-78, Comput. Graph. 26. Denne fremgangsmåten forutsetter imidlertid at innmatningspunktene er jevnt fordelt over hele domenet, hvilket også er upraktisk for innmatningspunkt som ligger tett i noen områder og er ikke-eksisterende i andre områder.
Det finnes derfor et behov for automatisk approksimering av en redigerbar overflate fra et 3D-datasett eller 3D-punktsett innbefattende et stort kvantum uordnede og/eller ustrukturerte datapunkt, som kan avbildes i form av en redigerbar NURBS-overflate.
Den foreliggende oppfinnelse imøtekommer de ovenfor nevnte behov, og overkommer en eller flere mangler i det foregående ved å tilveiebringe systemer og fremgangsmåter for automatisk å approksimere en redigerbar overflate fra et 3D-datasett eller et 3D-punktsett, som kan innbefatte et stort kvantum ustrukturerte og/eller uordnede datapunkt.
I en utførelsesform innbefatter den foreliggende oppfinnelsen et system for å approksimere en redigerbar overflate fra et 3D-datasett, innbefattende et datamaskinlesbart minnemedium konfigurert for å lagre et program eller instruksjoner i stand til å være eksekverbare for å implementere, i) å velge et punktsett fra 3D-datasettet, ii) å bestemme et beste-tilpasningsplan for punktsettet, iii) å projisere minst én del av punktsettet på beste-tilpasningsplanet, iv) å bestemme en grense for beste-tilpasningsplanet i henhold til det projiserte punktsettet, v) å projisere et rutenett på beste-tilpasningsplanet innenfor grensen, der rutenettet består av et flertall av krysningspunkt, vi) å gi krysningspunktene en startverdi, vii) å bestemme en verdi for minst én del av krysningspunktene, viii) å velge minst én del av krysningspunktene med en verdi, og ix) å avbilde den redigerbare overflaten ved å bruke minst én del av de valgte krysningspunktene.
I en annen utførelsesform innbefatter den foreliggende oppfinnelsen et system for å approksimere en redigerbar overflate fra et 3D-punktsett, innbefattende et datamaskinlesbart minnemedium konfigurert for å lagre et program eller instruksjoner i stand til å være eksekverbare for å implementere, i) å bestemme et beste-tilpasnings-plan for punktsettet, ii) å projisere punktsettet på beste-tilpasningsplanet, iii) å bestemme en grense for beste-tilpasningsplanet i henhold til punktsettet, iv) å projisere et rutenett på beste-tilpasningsplanet innenfor grensen, der rutenettet består av et flertall av krysnings punkt, v) å sette krysningspunktene til null, vi) å bestemme en verdi for krysningspunktene, vii) forfine verdien for minst én del av krysningspunktene, viii) å velge minst én del av krysningspunktene basert på én av verdien og den forfinede verdien, og ix) avbilde den redigerbare overflaten ved å bruke de valgte krysningspunktene, der den redigerbare overflaten fremstiller en beste-tilpasnings-approksimasjon av punktsettet til den redigerbare overflaten.
I en annen utførelsesform innbefatter den foreliggende oppfinnelsen en fremgangsmåte for å approksimere en redigerbar overflate fra et 3D-datasett, innbefattende trinnene: i) å velge et punktsett fra 3D-datasettet, ii) å bestemme et beste-tilpasningsplan for punktsettet, iii) å projisere minst én del av punktsettet på beste-tilpasningsplanet, iv) å bestemme en grense for beste-tilpasningsplanet i henhold til det projiserte punktsettet, v) å projisere et rutenett på beste-tilpasningsplanet innenfor grensen, der rutenettet består av et flertall av krysningspunkt, vi) å gi krysningspunktene startverdi, vii) å bestemme en verdi for minst én del av krysningspunktene, viii) å velge minst én del av krysningspunktene med en verdi, og ix) å avbilde den redigerbare overflaten ved å bruke minst én del av de valgte krysningspunktene.
I enda en utførelsesform innbefatter den foreliggende oppfinnelsen en fremgangsmåte for å approksimere en redigerbar overflate fra et 3D-punktsett, innbefattende trinnene: i) å bestemme et beste-tilpasningsplan for punktsettet, ii) å projisere punktsettet på beste-tilpasningsplanet, iii) å bestemme en grense for beste-tilpasningsplanet i henhold til punktsettet, iv) å projisere et rutenett på beste-tilpasningsplanet innenfor grensen, der rutenettet består av et flertall av krysningspunkt, v) å sette krysningspunktene til null, vi) å bestemme en verdi for krysningspunktene, vii) forfine verdien for minst én del av krysningspunktene, viii) å velge minst én del av krysningspunktene basert på én av verdien og den forfinede verdien, og ix) avbilde den redigerbare overflaten ved å bruke de valgte krysningspunktene, der den redigerbare overflaten fremstiller en beste-tilpasnings approksimasjon av punktsettet til den redigerbare overflaten.
Disse og andre formål, trekk og fordeler ifølge den foreliggende oppfinnelse vil bli tydelige for de med kunnskap i faget fra den følgende beskrivelsen av de forskjellige utførelsesformer og tilhørende tegninger.
Den foreliggende oppfinnelsen beskrives nedenfor med henvisning til vedlagte tegninger, i hvilke like komponenter henvises til med like henvisningstall, og i hvilke:
Fig. 1 er et blokkdiagram som viser en utførelsesform av et program for å implementere den foreliggende oppfinnelsen. Fig. IA er et riss som i alminnelighet viser dataflyten inn i approksimeringsmodulen vist i fig. 1. Fig. 2 er et flytskjema som illustrerer en utførelsesform ifølge en fremgangsmåte for å implementere den foreliggende oppfinnelsen.
Fig. 3 illustrerer trinn 212 fra fig. 2.
Fig. 4 illustrerer trinn 216 og trinn 218 i fig. 2.
Fig. 5 illustrerer trinn 220 og trinn 222 i fig. 2.
Fig. 5 A illustrerer trinn 224 i fig. 2, og fremstiller området A fra fig. 5.
Fig. 6 illustrer trinn 228, trinn 230 og trinn 232 fra fig. 2.
Fig. 7 illustrerer trinn 236 og trinn 238 fra fig. 2.
Fig. 8 er et bilde som illustrerer innmatningsdatapunktene anvendt for å approksimere den redigerbare overflaten avbildet i trinn 240 fra fig. 2.
Fig. 9 er et annet perspektiv av en del av bildet fra fig. 8.
Fig. 10 er et annet perspektiv av den del av bildet fra fig. 9.
Gjenstanden ifølge den foreliggende oppfinnelsen beskrives med særpreg, likevel er beskrivelsen selv ikke ment å begrense omfanget av oppfinnelsen. Gjenstanden det gjøres krav på kan således utføres på andre måter, til å innbefatte forskjellige trinn eller kombinasjoner av trinn liknende de beskrevet heri, i forbindelse med andre nåværende og fremtidige teknologier. Dessuten, selv om betegnelsen "trinn" brukes heri til å inneholde forskjellige komponenter av anvendte fremgangsmåter, skal betegnelsen ikke tolkes som å innebære noen særskilt rekkefølge blant eller mellom trinn beskrevet heri, med mindre og unntatt når rekkefølgen for enkelte trinn uttrykkelig beskrives.
Den foreliggende beskrivelse tilveiebringer et forbedret system og fremgangsmåte for å analysere 3D-datasett og/eller 3D-punktsett. Beskrivelsen kan beskrives i den generelle rammen av datamaskineksekverbare programinstruksjoner, slik som programmoduler, kjørt på en datamaskin. Programmoduler innbefatter i alminnelighet rutiner, programmer, objekter, komponenter, datastrukturer etc, som utfører særskilte oppgaver eller implementerer særskilte abstrakte datatyper. Dessuten vil de med kunnskap i faget forstå at oppfinnelsen kan utøves med et utvalg av datamaskinsystemkonfigurasjoner, innbefattende håndholdte innretninger, flerprosessorsystemer, mikroprosessorbasert eller programmerbar forbrukerelektronikk, minidatamaskiner, stormaskiner og tilsvarende. Et hvilket som helst antall datamaskinsystemer og datamaskinnettverk er tillatelig ifølge den foreliggende oppfinnelsen. Oppfinnelsen kan utøves i et distribuert datamaskinsystem, der oppgaver utføres ved hjelp av fjerndatabehandlingsinnretninger som er forbundet gjennom et kommunikasjonsnettverk. I et distribuert datamaskinsystem kan programmoduler finnes i både lokale og fjerne datamaskinlagringsmedia innbefattende minneinnretninger. Datamaskinanvendbare instruksjoner danner et grensesnitt som tillatter en datamaskin å reagere i henhold til en innmatningskilde. Instruksjonene virker sammen med andre kodesegmenter for å sette i gang et utvalg av oppgaver som svar på data mottatt i forbindelse med kilden til de mottatte data.
Den foreliggende oppfinnelse kan derfor implementeres ved hjelp av maskinvare, programvare eller en kombinasjon derav, i datamaskinsystemer eller andre behandlings-systemer. Fig. 1 er et blokkdiagram som viser en utførelsesform av et programvare-program 100 for å implementere den foreliggende oppfinnelsen. I bunnen av programmet 100 ligger et operativsystem 102. Et passende operativsystem 102 kan innbefatte for eksempel et Windows® operativsystem fra Microsoft Corporation, eller andre operativsystemer som vil være åpenbare for en med kunnskap i det aktuelle faget.
Meny- og vindusprogramvare 104 ligger over operativsystemet 102. Meny- og vindusprogramvaren 104 anvendes for å tilveiebringe forskjellige menyer og vinduer for å lette samhandling med brukeren, og for å oppnå brukerinnmatning og instruksjoner. Som lett vil forstås av en med kunnskap i det aktuelle faget kan et hvilket som helst antall meny- og vindusprogramvareprogrammer anvendes i forbindelse med den foreliggende oppfinnelsen.
Et basisgrafikkbibliotek 106 ligger over meny- og vindusprogramvaren 104. Basisgrafikkbiblioteket 106 er et applikasjons-programmeringsgrensesnitt (API) for datamaskingrafikk. Funksjonene som utføres av basisgrafikkbiblioteket 106 kan eksempelvis innbefatte enkle geometri- og rasterfunksjoner, RGB A eller fargeindeks-modus, display-liste eller direktemodus, vindus- eller utformingsomforming, lys- og skyggelegging, fjerning av skjult overflate, alfablanding (gjennomskinnelighet), antialiasing, strukturavbildning, tilbakekobling og seleksjon, stensilplan, og akkumul asj onsbuffer.
En gjengjvelsesapplikasjon 108 ligger over basisgrafikkbiblioteket 106. Som vil forstås av de med kunnskap i faget kan gjengivelsesapplikasjonen 108 innbefatte et verktøysett for 2D/3D seismisk datafortolkning, innbefattende både interaktiv horisont- og forkastninghåndtering, 3D visualisering, og egenskapsanalyse. For eksempel er Landmark Graphics Corporation sin SeisVisio™ plattform en seismisk gjengjvelsesapplikasjon egnet for den foreliggende oppfinnelse.
Approksimasjonsmodulen 110 ligger over de andre komponentene fra program 100. Approksimasjonsmodulen 110 er konfigurert for å samvirke med 3D-datasett som beskriver forhåndsbestemte objekter, slik som eksempelvis horisonter og forkastninger eller 3D-punktsett innbefattende vilkårlige og/eller ustrukturerte datapunkt. På en måte velkjent i faget har approksimeringsmodulen 110 grensesnitt mot, og utnytter funksjonene utført av gjengivelsesapplikasjonen 108, basisgrafikkbiblioteket 106, meny- og vindusprogramvaren 104, og operativsystemet 102. Approksimasjonsmodulen 110 kan skrives i et objektorientert programmeringsspråk, slik som for eksempel C++, for å tillate dannelse og bruk av objekter og objektfunksjonalitet.
Programmet 100 illustrert i fig. 1 kan utføres eller implementeres gjennom bruken av datamaskinsystemer som innarbeider programmet 100 og forskjellige maskinvare-komponenter. Maskinvarekomponenten kan innbefatte for eksempel en prosessor, minne (feks. direkteminne og/eller ikke-flyktige minneinnretninger), en eller flere innmatningsinnretninger, en eller flere skjermvisningsinnretninger, og en eller flere grensesnittinnretninger. Disse maskinvarekomponentene kan sammenkobles i henhold til et utvalg av konfigurasjoner. Ikke-flyktig minneinnretninger kan innbefatte for eksempel innretninger slik som magnetbånddrev, diskdrev, halvleder ROM eller EEPROM. Innmatningsinnretninger kan innbefatte for eksempel innretninger slik som et tastatur, en mus, et digitaliseringsbord, en styreball, en berøringsfølsom plate og/eller en lyspenn. Skjermvisningsinnretninger kan innbefatte for eksempel innretninger slik som skjermer, prosjektører og/eller hodemonterte skjermer. Grensesnittinnretninger kan konfigureres til å kreve digitale bildedata fra én eller flere innsamlingsinnretninger og/eller fra én eller flere fjerndatamaskiner eller fjernlagringsinnretninger gjennom et nettverk.
Et hvilket som helst utvalg av innsamlingsinnretninger kan anvendes avhenging av objekttypen som avbildes. Innsamlingsinnretningen(e) kan avføle forskjellige typer mekanisk energi (feks. akustisk energi, fortrengning og/eller spenning/tøyning) og/eller elektromekanisk energi (feks. lysenergj, radiobølgeenergj, strøm og/eller spenning).
En prosessor kan konfigureres til å omprogrammere instruksjoner og/eller data fra RAM og ikke-flyktige minneinnretninger, og til å lagre beregningsresultater i RAM og/eller ikke-flyktige minneinnretninger. Programinstruksjoner instruerer prosessoren til å behandle 3D-datasettene og/eller 3D-punktsettene basert på fremgangsmåtene beskrevet heri. Innmatningsdataene kan tilveiebringes til datamaskinsystemet gjennom et utvalg av mekanismer. Eksempelvis kan innmatningsdata innhentes inn i ikke-flyktig minne og/eller RAM ved hjelp av én eller flere grensesnittinnretninger. I et annet eksempel kan innmatningsdata leveres til systemet gjennom et minnemedium, slik som en disk eller et bånd, som lastes på/inn i det ikke-flyktige minnemediet. I dette tilfellet er innmatningsdataene tidligere blitt skrevet til minnemediet.
Det bemerkes at innmatningsdataene ikke nødvendigvis er sensor rådata oppnådd ved hjelp av innsamlingsinnretningen. For eksempel kan innmatningsdataene være resultatet av én eller flere behandlingsoperasjoner som bruker et sensor rådatasett. Behandlings-operasjonen(e) kan utføres av datamaskinsystemet og/eller én eller flere datamaskiner.
Fremgangsmåten ifølge den foreliggende oppfinnelsen kan realiseres i én eller flere programvarer eller moduler, som er lagret på en hvilken som helst av et utvalg av minnemedia, slik som CD-ROM, magnetisk disk, boblelager, halvlederminne (feks. en hvilken som helst av et utvalg typer RAM eller ROM). Videre kan programvaren(e) og/eller resultatene derav, sendes over et uvalg av bæremedia, slik som optiske fibere, metalliske tråder, fritt rom, og gjennom et hvilket som helst av et utvalg av nettverk slik som internettet.
I fig. IA kan for eksempel et 3D-datasett 112 innbefatte et hvilket som helst forhåndsbestemt objekt, slik som for eksempel geoanomalier, geolegemer, horisonter, forkastninger og/eller andre overflater, eller et hvilket som helst 3D punkt sett innbefattende vilkårlige og/eller ustrukturerte datapunkt. 3D-datasettet 112 kan, om nødvendig, omregnes til et 3D-punktsett 114. Hele 3D-punktsettet 114, eller deler derav, kan velges fra det omregnede 3D-datasettet 112 før behandling av approksimeringsmodulen 110 for oppnå et bilde av en redigerbar overflate.
Nå med henvisning til fig. 2, som viser en fremgangsmåte 200 for å approksimere et bilde av en redigerbar overflate fra et 3D-datasett eller et 3D-punktsett.
I trinn 202 kan et 3D-datasett brukes til å innmate forhåndsbestemte objekter eller 3D-punktsett innbefattende vilkårlige og/eller ustrukturerte datapunkt.
I trinn 204 kan et objekt, slik som for eksempel geoanomalier, geolegemer, horisonter, forkastninger og/eller andre overflater, velges fra 3D-datasettet. Slike objekter kan forhåndsbestemmes ved hjelp av i faget velkjente avbildningsteknikker.
I trinn 206 omregnes det valgte objektet til et 3D-punktsett ved hjelp av i faget velkjente omregningsteknikker. Det omregnede 3D-punktsettet innbefatter vilkårlige og/eller ustrukturerte datapunkt samsvarende med de opprinnelige datapunktene innbefattet i det opprinnelige 3D-datasettet. 3D-punktsettet kan derfor innbefatte vilkårlige og/eller ustrukturerte datapunkt som danner en vilkårlig overflate.
I trinn 208 kan et 3D-punktsett velges fra det opprinnelig innmatede 3D-datasettet (trinn 202) eller det omregnede 3D-punktsettet (trinn 206), som kan innbefatte alle datapunktene fra det opprinnelige innmatede 3D-datasettet eller en del derav. Derfor innbefatter det valgte 3D-punktsettet vilkårlige og/eller ustrukturerte datapunkt samsvarende med minst én del av de opprinnelige datapunktene innbefattet i det opprinnelige 3D-datasettet.
I trinn 210 analyseres 3D-punktsettet valgt i trin 208 for å bestemme hvorvidt det inneholder en dominant (lang) akse. Hvis en dominant akse kan bestemmes for 3D-punktsettet så er det neste trinnet 212 unødvendig. For visse forhåndsbestemte objekter valgt i trinn 204 kan en dominant akse være åpenbar for en med kunnskap i faget.
I trinn 212 er en ellipsoide 304 tilpasset til 3D-punktsettet (punktsky) illustrert i fig. 3 ved hjelp av programmeringsmetoder velkjent i faget. Datapunktene 302 representerer 3D-punktsettet. Ellipsoiden 304 innbefatter tre hovedakser, som kan betegnes langaksen (Z), midtaksen (M) og kortaksen ( S). I tilfellet en perfekt sirkel, vil imidlertid alle de tre hovedaksene ha samme lengde. Ellipsoidens kortaksevektor 304 sammenlignes mot de universelle koordinataksene ( x, y, z) for å bestemme hovedretningen til et beste- tilpasningsplan, og derfor hvilken av de tre følgende fremstillinger som skal benyttes for å bestemme et beste-tilpasningsplan i trinn 214:
I trinn 214 bestemmes beste-tilpasningsplanet ved hjelp av minste kvadraters approksimasjon for å oppnå en beste-tilpasningsfunksjon. La for eksempel Tvære matrisen av n datapunkter innbefattende 3D-punktsettet, slik at:
LaMvære 4x4 matrisen dannet gjennom 7" • 7" hvor 7" er den transponerte av 7. Den minste kvadrater, beste-tilpassing, ligningen finnes ved å invertere matrisen Mved hjelp av LU-dekomposisjon, som gir koeffisientene A, B, C og D i den følgende ligningen, som kan brukes til å bestemme beste-tilpasningsplanet for datapunktene 302 innbefattende 3D-punktsettet.
I trinn 216 projiseres minst én del av datapunktene 302, innbefattende 3D-punktsettet, på beste-tilpasningsplanet 404 vist i fig.4 ved hjelp av programmeringsmetoder velkjent i faget. Desto flere datapunkter 302 som projiseres på beste-tilpasningsplanet 404, desto mer nøyaktig vil resultatet bli. Men antallet datapunkt 302 som projiseres på beste-tilpasningsplanet 404 kan likevel uansett bestemmes som et skjønnspørsmål. Datapunktene 302 projisert på beste-tilpasningsplanet 404 illustreres som projiserte datapunkt 402. De projiserte datapunktene 402 kan representeres i en parametrisk form z' = f( x ', y \ der x', y' og z' angir det ortogonale koordinatsystemet for beste-tilpasnings planet 404, x' og y' er rettet inn med beste-tilpasningplanet 404 og z' er perpendikulær på beste-tilpasningsplanet 404.
I trinn 218 bestemmes grenser for beste-tilpasningsplanet i henhold til datapunkt-yttergrenser, betydende de ytterste projiserte datapunktene 402.1 fig. 4 er beste-tilpasningsplanet 404 illustrert med grenser som er tydelige fra de ytterste projiserte datapunktene 402.
I trinn 220 projiseres et rutenett på det avgrensede beste-tilpasningsplanet 404 som vist i fig. 5 ved hjelp av programmeringsmetoder velkjent i faget. Rutenettet projisert på beste-tilpasningsplanet 404 kan representeres av N x M, der N og M er forhåndsbestemte rutenettparametere. De forhåndsbestemte rutenettparametrene (NxM) kan være like (N=M) eller ulike (N^M).
I trinn 222 settes hvert krysningspunkt 502, definert av et skjæringspunkt i rutenettet illustrert i fig. 5, til en første verdi, fortrinnsvis null. På denne måten kan en krysningspunktverdi bestemmes for hvert krysningspunkt 502 vist i fig. 5.
I trinn 224 kan verdien for hvert krysningspunkt 502 vist i fig.5 bestemmes ved å søke etter projiserte datapunkt 402 innenfor et forhåndbestemt område 5A. Desto flere krysningspunkt 502 som gis en verdi, desto mer nøyaktig vil resultatet bli. Men antallet krysningspunkt som skal gis verdi kan bestemmes som et skjønnspørsmål. Det forhåndsbestemte området 5A kan innbefatte hele settet med projiserte datapunkt 402 i beste-tilpasningsplanet 404, eller en delmengde derav. Det forhåndsbestemte området 5 A kan representeres av et foretrukket celle (node) antall samsvarende med rutenettets mellomrom. Et foretrukket celleantall på 16 kan for eksempel representeres som det 4 x 4 forhåndsbestemte området 5 A i fig. 5. Alternativt kan et foretrukket celleantall på 16 representeres som et 2 x 8 forhåndsbestemt område.
For hvert projisert datapunkt 402 innenfor det forhåndbestemte området 5A fastsettes og registreres en datapunktverdi (E;) med tilhørende avstand (d;) til krysningspunktet, som vist i fig. 5A. Krysningspunktverdien (G;) for krysningspunktet 502 kan bestemmes ved hjelp av den følgende normaliserte bidragsformel:
der Gi er krysningspunktverdien i hver krysningspunktposisjon 502, basert på datapunktverdiene (Ei) for hvert projisert datapunkt 402 innenfor det forhåndsbestemte området 5A og dets avstand (di) til krysningspunktet 502 som verdisettes. Formelen er gyldig for alle avstander (di) som ikke er lik null. For avstandene (di) som er lik null tildeles krysningspunktverdien (Gi) datapunktverdien (Ei), ettersom denne er nøyaktig kjent. I fig. 5 bestemmes krysningspunktverdien (Gi) for krysningspunktet 502 ved hjelp av datapunktverdiene (Ei, E2, E3, E4, E5) og deres respektive avstand (di, 62, dj, 64, ds) til krysningspunktet 502 som verdisettes. Den samme fremgangsmåten kan anvendes for å bestemme krysningspunktverdier for de gjenværende krysningspunktene 502 ved å forskyve det forhåndsbestemte området 5A på en slik måte at hvert krysningspunkt 502 gis verdi i den samme posisjonen innenfor det forhåndsbestemte området 5A. For krysningspunkt 502 som ligger i nærheten eller på beste-tilpasningsplanets 404 grenser bestemmes krysningspunktverdiene på samme måte, med unntak at det forhåndsbestemte området 5A delvis ligger utenfor beste-tilpasningsplanet 404 for å opprettholde krysningspunktets posisjon innenfor det forhåndsbestemte området 5A. Følgelig er det ingen projiserte datapunkt 402 å søke etter utenfor beste-tilpasningsplanet 404 av betydning for bestemmelsen av verdien til krysningspunkt 502 som ligger i nærheten eller på beste-tilpasningsplanets 404 grenser.
I trinn 226, etter alle krysningspunktverdiene (Gi) er bestemt, kan krysningspunkts-verdiene forfines på en måte som er beskrevet med henvisning til trinn 228 - 236.
I trinn 228 økes tettheten til rutenettet (feks. dobles) og nye krysningspunktverdier (Gi') for de nye krysningspunktene interpoleres lineært mellom de tidligere krysningspunktene 502 ved hjelp av de tidligere krysningspunktverdiene (Gi) og interpolerings-teknikker velkjent i faget.
I trinn 230 bestemmes flere nye (beste-tilpassing) plan ved hjelp av ligningene beskrevet med henvisning til trinn 214 og et forhåndsbestemt område, hvilket kan være det samme forhåndsbestemte området 5 A som vist i fig. 5. Med andre ord bestemmes (beregnes), for hvert projiserte datapunkt (402), et nytt (beste-tilpassing) plan for å passe de projiserte datapunktene 402 og det nye rutenettet innenfor det omliggende forhåndsbestemte område. Eksempelvis, i fig. 6 representerer x' inkrementet i rute-tetthet sammenlignet med det tidligere rutemellomrommet. Et nytt (beste-tilpassing) plan 602 går derfor gjennom det projiserte datapunktet 402A og et nytt krysningspunkt 606A innenfor det omliggende forhåndbestemte område. På samme måte passerer et nytt (beste-tilpassing) plan 604 gjennom projiserte datapunkt 402B og nye krysningspunkt 606B innenfor det omliggende forhåndsbestemte område. Dette trinnet forbedrer nøyaktigheten til interpoleringstrinnet utført i trinn 228, og bestemmer et nytt (beste-tilpassing) plan for hvert projiserte datapunkt 402.
I trinn 232 kan de nye interpolerte krysningspunktverdiene (G;') omberegnes ved å erstatte hvert nye interpolert krysningspunkt innenfor det forhåndsbestemte området med en ny omregnet krysningspunktverdi basert på et vektet gjennomsnitt av verdien for alle nye krysningspunkt som skjærer et nytt (beste-tilpassing) plan, der planet går gjennom det forhåndbestemte området og et projisert datapunkt innenfor det forhåndsbestemte området. I fig. 6 kan for eksempel omberegningsverdien for nye krysningspunkt 612 bestemmes ved å erstatte dets tidligere interpolerte verdi med det vektede gjennomsnittet av verdiene for nye krysningspunkt 606A, 606B som henholdsvis skjærer de nye (beste-tilpassing) planene 602, 604, der planene går gjennom det forhåndsdefinerte området og innbefatter henholdsvis de projiserte dataene 402A, 402B. I trinn 234 kan en gaussisk kjerne anvendes på hvert av de omberegnede nye krysningspunktene for å glatte de resulterende omberegnede nye krysningspunktene slik at de har en mer naturlig kontinuitet. Den gaussiske glattingen av de omberegnede krysningspunktverdiene kan utføres på en måte velkjent i faget. Forskjellige modifikasjoner til den gaussiske glattebehandlingen kan være åpenbare for de med kunnskap i faget og anvendes som nødvendig for å forbedre glattebehandlingen beskrevet heri.
I trinn 236 kan minst én del av de omberegnede nye krysningspunktverdiene ytterligere forfines ved å gå tilbake til trinn 222, og gjenta noen eller alle trinnene beskrevet hittil. Når trinn 224 gjentas reduseres det forhåndsbestemte området 5A trinnvis med en faktor 1, slik at det omliggende området i betraktning kan representeres som (4-1) x (4-1). Hvis krysningspunktverdiene imidlertid ikke forfines fortsetter fremgangsmåten til trinn 238. Tilsvarende, hvis krysningspunktene ikke forfines i henhold til trinn 226 kan fremgangsmåten forsette direkte til trinn 238.
I trinn 238 kan krysningspunktverdiene og/eller omberegnede nye krysningspunktverdier samples for kontrollpunkter. Samplingsmetoden velger simpelthen den siste gjentakelsen av fremgangsmåten beskrevet med henvisning til trinn 236 slik at den sist bestemte verdien kan velges som kontrollpunkt. I fig.7 kan for eksempel beste-tilpasningsplanet 700 innbefatte flere verdier for krysningspunkt 702 som kan beskrives som G;, G;, G;<2>... G". Tilsvarende kan for eksempel krysningspunktene 704, 706 og 708 ha flere verdier. Følgelig kan den sist bestemte verdien for hvert enkelt krysningspunkt samples (velges) i helhet, eller delvis, for å fremstille ett sett kontrollpunkt for å approksimere en redigerbar (NURBS) overflate ved en vilkårlig oppløsning.
I trinn 240 kan den redigerbare overflaten avbildes (gjengis) ved hjelp av minst én del av de valgte kontrollpunkter og gjengjvelsesteknikkene allment kjent for å danne en NURBS-overflate. Desto flere kontrollpunkter som anvendes for å avbilde den redigerbare overflaten, desto mer nøyaktig vil resultatet bli. Med andre ord er en mer nøyaktig beste-tilpasnings approksimasjon av den redigerbare overflaten mulig basert på antallet valgte kontrollpunkter som anvendes. Men antallet kontrollpunkter som anvendes for å avbilde den redigerbare overflaten kan uansett bestemmes som et skjønnspørsmål.
I fig. 8 er for eksempel innmatningsdatapunktene 802 og den redigerbare overflaten 804 avbildet samtidig for å illustrere den romlige forbindelsen mellom datapunktene 802, som kan brukes som innmatning i trinn 202 for å approksimere den redigerbare overflaten 804. Datapunktene 802 innbefatter seismiske data som representerer et forhåndsbestemt objekt (redigerbare overflatekurver), som kan fremstilles manuelt på en måte allment beskrevet i internasjonal publikasjon WO 02/37422 og/eller U.S. patent 6,765,570. Utmatningsoppløsningen kan forfines i henhold til forskjellige velkjente seismiske gjengjvelsesteknikker som nødvendig eller foretrukket.
I fig. 9 er bildet i fig. 8 redigert for å illustrere én del av datapunktene 802 og den tilhørende redigerbare overflaten 804, som kan brukes til å fortolke seismiske hendelser.
I fig. 10 er datapunktene 802 fjernet for å bare fremvise den redigerbare overflaten, som også kan brukes til å fortolke seismiske hendelser.
Den foreliggende oppfinnelse kan derfor anvendes for geofysisk analyse av seismiske data. Dessuten kan den foreliggende oppfinnelse integreres med én eller flere system-komponenter beskrevet med referanse til internasjonal publikasjon WO 02/37422 og/eller U.S. patent 6,765,570 for å danne en redigerbar overflate fra et flertall av seismiske datapunkt som for eksempel kan innbefatte x, y, z koordinater og en dataverdi som representerer et forhåndsbestemt objekt, slik som for eksempel en horisont eller forkastning. Det seismiske bildet automatisk gjengitt som et resultat ifølge den foreliggende oppfinnelsen representerer en redigerbar NURBS-overflate, som interaktivt kan redigeres og manipuleres, og som kan redusere signal/støy-forholdet representert ved innmatningsdatapunktene sammenlignet med konvensjonelle teknikker anvendt for å generere NURBS-overflater.
Den foreliggende oppfinnelsen kan imidlertid også anvendes på andre typer 3D-datasett, slik som for eksempel medisinske data og tekniske data. Det er derfor tiltenkt at forskjellige situasjoner, endringer og/eller modifikasjoner kan gjøres til utførelsesformene beskrevet heri, uten å forlate tanken og omfanget ifølge oppfinnelsen som beskrevet i de vedlage krav og tilsvarende dertil.
Claims (42)
1.
Fremgangmåte for å approksimere en redigerbar overflate fra en projeksjon av et 3D-punktsett på et beste-tilpasningsplan for 3D-punktsettet, innbefattende: å projisere et rutenett på beste-tilpasningsplanet innenfor en forhåndsbestemt grense, der rutenettet innbefatter et flertall av krysningspunkt, å gi krysningspunktene en startverdi,karakterisert vedat den videre innbefatter:
å velge minst én del av krysningspunktene som har en forhåndsbestemt verdi, der de valgte krysningspunktene definerer kontrollpunkter, og
å avbilde den redigerbare overflaten ved hjelp av minst én del av kontroll punktene.
2.
Fremgangsmåte som angitt i krav 1,karakterisert vedat 3D-punktsettet innbefatter en vilkårlige overflate.
3.
Fremgangsmåte som angitt i krav 2,karakterisert vedat den innbefatter: å tilpasse en ellipsoide til 3D-punktsettet, og å bestemme en dominant akse for 3D-punktsettet basert på ellipsoiden.
4.
Fremgangsmåte som angitt i krav 3,karakterisert vedat den dominante aksen brukes til å bestemme beste-tilpasningsplanet.
5.
Fremgangsmåte som angitt i krav 1,karakterisert vedat beste-tilpasningsplanet bestemmes ved hjelp av en dominant akse for 3D-punktsettet.
6.
Fremgangsmåte som angitt i krav 1,karakterisert vedat beste-tilnærmingsplanets forhåndsbestemte grense bestemmes av et flertall av ytterpunkter innbefattet i det projiserte 3D-punktsettet.
7.
Fremgangsmåte som angitt i krav 1,karakterisert vedat det projiserte rutenettet er basert på forhåndsbestemte rutenettparametere.
8.
Fremgangsmåte som angitt i krav 1,karakterisert vedat hvert krysningspunkt defineres av et skjæringspunkt i rutenettet.
9.
Fremgangsmåte som angitt i krav 1,karakterisert vedat krysningspunktene gis startverdien null.
10.
Fremgangsmåte som angitt i krav 1,karakterisert vedat den forhåndsbestemte krysningspunktverdien bestemmes av én eller flere punkter i det projiserte 3D-datasettet innenfor et forhåndsbestemt område ved kryningspunktet, og en avstand fra hvert punkt i det forhåndsbestemte området til krysningspunket.
11.
Fremgangsmåte som angitt i krav 1,karakterisert vedat den redigerbare overflaten representerer en beste-tilpassing approksimering av 3D-punktsettet til den redigerbare overflaten.
12.
Fremgangsmåte som angitt i krav 1,karakterisert vedat den redigerbare overflaten representerer en NURBS-overflate.
13.
Fremgangsmåte som angitt i krav 10,karakterisertved at den innbefatter: å forfine den forhåndsbestemte verdien til minst én del av krysningspunktene med den forhåndsbestemte verdien, og å velge minst én del av krysningspunktene basert på én av den forhåndsbestemte verdien og den forfinede verdien.
14.
Fremgangsmåte som angitt i krav 13,karakterisertv e d at den innbefatter, for de valgte krysningspunktene med den forhåndsbestemte verdien og den forfinede verdien, å erstatte den forhåndsbestemte verdien med den forfinede verdien.
15.
Fremgangsmåte som angitt i krav 13,karakterisertved at den innbefatter: å danne et nytt rutenett ved å øke rutetettheten, og det nye rutenettet innbefatter et flertall av nye krysningspunkt, å bestemme en verdi for de nye krysningspunktene, å tilpasse et nytt plan til de nye krysningspunktene, å omberegne verdien for de nye krysningspunktene, og å glatte verdien for de nye krysningspunktene.
16.
Fremgangsmåte som angitt i krav 15,karakterisertved at den innbefatter: å gi de nye krysningspunktene startverdien null, og å bestemme en ny verdi for de nye krysningspunktene.
17.
Fremgangsmåte som angitt i krav 16,karakterisertv e d at den nye krysningspunktverdien bestemmes av ett eller flere punkter i det projiserte 3D-punktsettet innenfor et annet forhåndsbestemt område av det nye krysningspunktet, og en avstand fra hvert punkt i nevnte annet forhåndsbestemte område til det nye krysningspunktet, der nevnte annet forhåndsbestemte område er mindre enn det forhåndsbestemte området.
18.
Fremgangsmåte som angitt i krav 16,karakterisertv e d at den innbefatter trinnet å gj enta trinnene i krav 15.
19.
Fremgangsmåte som angitt i krav 15,karakterisertv e d at trinnet for omberegning av verdien for de nye krysningspunktene omfatter å erstatte hver nye krysningspunktverdi innen for det forutbestemte område med en omberegnet ny krysningspunktverdi.
20.
Fremgangsmåte som angitt i krav 15,karakterisertv e d å omfatte trinnet å forfine de nye krysningspunktverdiene.
21.
Fremgangsmåte som angitt i krav 15,karakterisertved dessuten å omfatte trinnet å gjenta ett eller flere av trinnene som angitt i krav 15.
22.
Datamaskinlesbart medium som har eksekverbare instruksjoner for å approksimere en redigerbar overflate fra en projeksjon av et 3D-punktsett på et beste-tilpasningsplan for 3D-punktsettet, der instruksjonene er eksekverbare, innbefattende: å projisere et rutenett på beste-tilpasningsplanet innenfor en forhåndsbestemt grense, der rutenettet innbefatter et flertall av krysningspunkt, å gi krysningspunktene en startverdi,karakterisert vedat det videre innbefatter:
å velge minst én del av krysningspunktene som har en forhåndsbestemt verdi, der de valgte krysningspunktene definerer kontrollpunkter, og
å avbilde den redigerbare overflaten ved hjelp av minst én del av kontroll punktene.
23.
Datamaskinlesbart medium som angitt i krav 22,karakterisert vedat 3D-punktsettet innbefatter en vilkårlige overflate.
24.
Datamaskinlesbart medium som angitt i krav 23,karakterisert vedat det innbefatter: å tilpasse en ellipsoide til 3D-punktsettet, og å bestemme en dominant akse for 3D-punktsettet basert på ellipsoiden.
25.
Datamaskinlesbart medium som angitt i krav 24,karakterisert vedat den dominante aksen brukes til å bestemme beste-tilpasningsplanet.
26.
Datamaskinlesbart medium som angitt i krav 22,karakterisert vedat beste-tilpasningsplanet bestemmes ved hjelp av en dominant akse for 3D-punktsettet.
27.
Datamaskinlesbart medium som angitt i krav 22,karakterisert vedat beste-tilnærmingsplanets forhåndsbestemte grense bestemmes av et flertall av ytterpunkter innbefattet i det projiserte 3D-punktsettet.
28.
Datamaskinlesbart medium som angitt i krav 22,karakterisert vedat det projiserte rutenettet er basert på forhåndsbestemte rutenettparametere.
29.
Datamaskinlesbart medium som angitt i krav 22,karakterisert vedat hvert krysningspunkt defineres av et skjæringspunkt i rutenettet.
30.
Datamaskinlesbart medium som angitt i krav 22,karakterisert vedat krysningspunktene gis startverdien null.
31.
Datamaskinlesbart medium som angitt i krav 22,karakterisert vedat den forhåndsbestemte krysningspunktverdien bestemmes av én eller flere punkter i det projiserte 3D-datasettet innenfor et forhåndsbestemt område ved kryningspunktet, og en avstand fra hvert punkt i det forhåndsbestemte området til krysningspunket.
32.
Datamaskinlesbart medium som angitt i krav 22,karakterisert vedat den redigerbare overflaten representerer en beste-tilpassing approksimering av 3D-punktsettet til den redigerbare overflaten.
33.
Datamaskinlesbart medium som angitt i krav 22,karakterisert vedat den redigerbare overflaten representerer en NURBS-overflate.
34.
Datamaskinlesbart medium som angitt i krav 31,karakterisert vedat det innbefatter: å forfine den forhåndsbestemte verdien til minst én del av krysningspunktene med den forhåndsbestemte verdien, og å velge minst én del av krysningspunktene basert på én av den forhåndsbestemte verdien og den forfinede verdien.
35.
Datamaskinlesbart medium som angitt i krav 34,karakterisert vedat det innbefatter, for de valgte krysningspunktene med den forhåndsbestemte verdien og den forfinede verdien, å erstatte den forhåndsbestemte verdien med den forfinede verdien.
36.
Datamaskinlesbart medium som angitt i krav 34,karakterisert vedat å forfine den forhåndsbestemte verdien innbefatter: å danne et nytt rutenett ved å øke rutetettheten, og det nye rutenettet innbefatter et flertall av nye krysningspunkt, å bestemme en verdi for de nye krysningspunktene, å tilpasse et nytt plan til de nye krysningspunktene, å omberegne verdien for de nye krysningspunktene, og å glatte verdien for de nye krysningspunktene.
37.
Datamaskinlesbart medium som angitt i krav 36,karakterisert vedat det innbefatter: å gi de nye krysningspunktene startverdien null, og å bestemme en ny verdi for de nye krysningspunktene.
38.
Datamaskinlesbart medium som angitt i krav 37,karakterisert vedat den nye krysningspunktverdien bestemmes av ett eller flere punkter i det projiserte 3D-punktsettet innenfor et annet forhåndsbestemt område for det nye krysningspunktet og en avstand fra hvert punkt i nevnte annet forhåndsbestemte område til det nye krysningspunktet, der nevnte annet forhåndsbestemte område er mindre enn det forhåndsbestemte området.
39.
Datamaskinlesbart medium som angitt i krav 37,karakterisert vedat det innbefatter trinnet å gjenta trinnene i krav 15.
40.
Datamaskinlesbart medium som angitt i krav 36,karakterisert vedat trinnet med omberegning av verdien for de nye krysningspunktene omfatter å erstatte hver nye krysningspunktverdi innenfor det forutbestemte området med en omberegnet ny krysningspunktverdi.
41.
Datamaskinlesbart medium som angitt i krav 36,karakterisert veddessuten å omfatte trinnet å forfine de nye krysningspunktverdiene.
42.
Datamaskinlesbart medium som angitt i krav 41,karakterisert veddessuten å omfatte trinnet å gjenta ett eller flere av trinnene som angitt i krav 15.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US56657404P | 2004-04-29 | 2004-04-29 | |
PCT/US2005/014937 WO2005108923A2 (en) | 2004-04-29 | 2005-04-29 | System and method for approximating an editable surface |
Publications (2)
Publication Number | Publication Date |
---|---|
NO20065397L NO20065397L (no) | 2007-01-24 |
NO339362B1 true NO339362B1 (no) | 2016-12-05 |
Family
ID=35320836
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
NO20065397A NO339362B1 (no) | 2004-04-29 | 2006-11-23 | System og fremgangsmåte for approksimering av en redigerbar overflate |
Country Status (10)
Country | Link |
---|---|
US (2) | US7352369B2 (no) |
EP (1) | EP1756517B1 (no) |
CN (1) | CN100576250C (no) |
AU (1) | AU2005241463C1 (no) |
BR (1) | BRPI0509830A (no) |
CA (1) | CA2564156C (no) |
EA (1) | EA012579B1 (no) |
MX (1) | MXPA06012485A (no) |
NO (1) | NO339362B1 (no) |
WO (1) | WO2005108923A2 (no) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101192307B (zh) * | 2006-11-17 | 2012-05-23 | 鸿富锦精密工业(深圳)有限公司 | 点云三角网格面构建方法 |
US7904092B2 (en) * | 2007-01-04 | 2011-03-08 | Cisco Technology, Inc. | Locally adjusted radio frequency coverage maps in wireless networks |
US8284193B2 (en) * | 2007-06-28 | 2012-10-09 | Siemens Product Lifecycle Management Software Inc. | System and method for composition of NURBS surfaces |
US20090027380A1 (en) * | 2007-07-23 | 2009-01-29 | Vivek Rajan | 3-D visualization |
CN101377851A (zh) * | 2007-08-29 | 2009-03-04 | 鸿富锦精密工业(深圳)有限公司 | 点云到点云的最近距离计算系统及方法 |
CN101441781B (zh) * | 2007-11-23 | 2011-02-02 | 鸿富锦精密工业(深圳)有限公司 | 曲面翻面方法 |
US8253726B1 (en) | 2008-01-09 | 2012-08-28 | Spaceclaim Corporation, Inc. | Systems and methods for modifying three dimensional geometry using an arbitrary cross-section plane |
FR2929417B1 (fr) * | 2008-03-27 | 2010-05-21 | Univ Paris 13 | Procede de determination d'une representation tridimensionnelle d'un objet a partir de points, programme d'ordinateur et systeme d'imagerie correspondant |
US8525871B2 (en) * | 2008-08-08 | 2013-09-03 | Adobe Systems Incorporated | Content-aware wide-angle images |
US20100168557A1 (en) * | 2008-12-30 | 2010-07-01 | Deno D Curtis | Multi-electrode ablation sensing catheter and system |
US8900150B2 (en) | 2008-12-30 | 2014-12-02 | St. Jude Medical, Atrial Fibrillation Division, Inc. | Intracardiac imaging system utilizing a multipurpose catheter |
US8948476B2 (en) | 2010-12-20 | 2015-02-03 | St. Jude Medical, Atrial Fibrillation Division, Inc. | Determination of cardiac geometry responsive to doppler based imaging of blood flow characteristics |
US9610118B2 (en) * | 2008-12-31 | 2017-04-04 | St. Jude Medical, Atrial Fibrillation Division, Inc. | Method and apparatus for the cancellation of motion artifacts in medical interventional navigation |
US9186088B2 (en) * | 2011-09-29 | 2015-11-17 | Siemens Aktiengesellschaft | Active catheter reconstruction for interventional magnetic resonance imaging |
US20130106887A1 (en) * | 2011-10-31 | 2013-05-02 | Christopher Tremblay | Texture generation using a transformation matrix |
GB2505936A (en) * | 2012-09-17 | 2014-03-19 | Materialise Dental Nv | 3D modelling of scanned body |
BR112015028562A2 (pt) | 2013-05-15 | 2017-07-25 | Logined Bv | método, sistema, e um ou mais meios de armazenamento legíveis por computador |
US9412040B2 (en) * | 2013-12-04 | 2016-08-09 | Mitsubishi Electric Research Laboratories, Inc. | Method for extracting planes from 3D point cloud sensor data |
CN105574935A (zh) * | 2014-10-10 | 2016-05-11 | 联想(北京)有限公司 | 一种信息处理方法和装置 |
US10319140B2 (en) * | 2015-07-07 | 2019-06-11 | Landmark Graphics Corporation | Tri-cubic and hybrid interpolation in a 3D texture shader |
FR3043227A1 (no) * | 2015-11-04 | 2017-05-05 | Services Petroliers Schlumberger | |
RU2617144C1 (ru) * | 2015-12-09 | 2017-04-21 | Акционерное общество "Муромский завод радиоизмерительных приборов" | Способ имитации траекторий движения объектов |
WO2018069744A1 (en) | 2016-10-14 | 2018-04-19 | Schlumberger Technology Corporation | Geologic structural model generation |
CN110163863B (zh) | 2018-11-06 | 2022-11-04 | 腾讯科技(深圳)有限公司 | 三维物体分割方法、设备和介质 |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5321612A (en) * | 1991-02-26 | 1994-06-14 | Swift Energy Company | Method for exploring for hydrocarbons utilizing three dimensional modeling of thermal anomalies |
US5233568A (en) * | 1991-06-28 | 1993-08-03 | Atlantic Richfield Company | Geopressure analysis system |
US5988862A (en) * | 1996-04-24 | 1999-11-23 | Cyra Technologies, Inc. | Integrated system for quickly and accurately imaging and modeling three dimensional objects |
US5903458A (en) * | 1997-06-06 | 1999-05-11 | Ford Global Technologies, Inc. | System and method for forming geometric features using global reparametrization |
US6300960B1 (en) * | 1997-08-04 | 2001-10-09 | Pixar Animation Studios | Realistic surface simulation in computer animation |
US6037949A (en) * | 1997-08-04 | 2000-03-14 | Pixar Animation Studios | Texture mapping and other uses of scalar fields on subdivision surfaces in computer graphics and animation |
US5951475A (en) * | 1997-09-25 | 1999-09-14 | International Business Machines Corporation | Methods and apparatus for registering CT-scan data to multiple fluoroscopic images |
US6765570B1 (en) * | 1998-07-21 | 2004-07-20 | Magic Earth, Inc. | System and method for analyzing and imaging three-dimensional volume data sets using a three-dimensional sampling probe |
JP4473358B2 (ja) * | 1999-01-21 | 2010-06-02 | 株式会社東芝 | 診断装置 |
US7333648B2 (en) * | 1999-11-19 | 2008-02-19 | General Electric Company | Feature quantification from multidimensional image data |
WO2001074268A1 (en) * | 2000-03-30 | 2001-10-11 | Align Technology, Inc. | System and method for separating three-dimensional models |
US7006085B1 (en) * | 2000-10-30 | 2006-02-28 | Magic Earth, Inc. | System and method for analyzing and imaging three-dimensional volume data sets |
EP1330789B1 (en) * | 2000-10-30 | 2006-05-03 | Magic Earth, Inc. | System and method for analyzing and imaging three-dimensional volume data sets |
US20020164067A1 (en) * | 2001-05-02 | 2002-11-07 | Synapix | Nearest neighbor edge selection from feature tracking |
US7023432B2 (en) * | 2001-09-24 | 2006-04-04 | Geomagic, Inc. | Methods, apparatus and computer program products that reconstruct surfaces from data point sets |
US6931367B2 (en) * | 2001-11-29 | 2005-08-16 | Faurecia Exhaust Systems, Inc. | Optimal rib design method for exhaust components |
US7248259B2 (en) * | 2001-12-12 | 2007-07-24 | Technoguide As | Three dimensional geological model construction |
US7062419B2 (en) * | 2001-12-21 | 2006-06-13 | Intel Corporation | Surface light field decomposition using non-negative factorization |
WO2003088085A1 (en) * | 2002-04-04 | 2003-10-23 | Arizona Board Of Regents | Three-dimensional digital library system |
US6963671B2 (en) * | 2002-04-17 | 2005-11-08 | Mitsubishi Electric Research Labs, Inc. | Method for determining distances to a surface from a range image |
ATE347722T1 (de) * | 2002-06-12 | 2006-12-15 | Spatial Integrated Systems Inc | Verfahren zur linearen raumabtastung und vorrichtung zur erzeugung eines numerischen 3d modells |
US7399220B2 (en) * | 2002-08-02 | 2008-07-15 | Kriesel Marshall S | Apparatus and methods for the volumetric and dimensional measurement of livestock |
US7583275B2 (en) * | 2002-10-15 | 2009-09-01 | University Of Southern California | Modeling and video projection for augmented virtual environments |
US20040075656A1 (en) * | 2002-10-18 | 2004-04-22 | Kimia Benjamin B. | Method and apparatus for multi-dimensional shape representation via shock flows |
US7330791B2 (en) * | 2002-10-18 | 2008-02-12 | Exxonmobil Upstream Research Co. | Method for rapid fault interpretation of fault surfaces generated to fit three-dimensional seismic discontinuity data |
US7129942B2 (en) * | 2002-12-10 | 2006-10-31 | International Business Machines Corporation | System and method for performing domain decomposition for multiresolution surface analysis |
US20060288756A1 (en) * | 2003-02-21 | 2006-12-28 | De Meurechy Guido D K | Method and apparatus for scanning corrosion and surface defects |
US7889209B2 (en) * | 2003-12-10 | 2011-02-15 | Sensable Technologies, Inc. | Apparatus and methods for wrapping texture onto the surface of a virtual object |
US7436988B2 (en) * | 2004-06-03 | 2008-10-14 | Arizona Board Of Regents | 3D face authentication and recognition based on bilateral symmetry analysis |
US7586489B2 (en) * | 2005-08-01 | 2009-09-08 | Nvidia Corporation | Method of generating surface defined by boundary of three-dimensional point cloud |
-
2005
- 2005-04-29 MX MXPA06012485A patent/MXPA06012485A/es active IP Right Grant
- 2005-04-29 BR BRPI0509830-0A patent/BRPI0509830A/pt not_active Application Discontinuation
- 2005-04-29 US US11/118,027 patent/US7352369B2/en active Active
- 2005-04-29 EA EA200601977A patent/EA012579B1/ru not_active IP Right Cessation
- 2005-04-29 WO PCT/US2005/014937 patent/WO2005108923A2/en active Application Filing
- 2005-04-29 CN CN200580019487A patent/CN100576250C/zh not_active Expired - Fee Related
- 2005-04-29 AU AU2005241463A patent/AU2005241463C1/en not_active Ceased
- 2005-04-29 CA CA2564156A patent/CA2564156C/en active Active
- 2005-04-29 EP EP05743388.0A patent/EP1756517B1/en active Active
-
2006
- 2006-11-23 NO NO20065397A patent/NO339362B1/no unknown
-
2008
- 2008-01-22 US US12/017,959 patent/US7576743B2/en active Active
Non-Patent Citations (1)
Title |
---|
Schmälzle, Stephan Andreas. New methods for Nurbs surface approximation to scattered data. (2001). Hentet fra Internett: https://e-collection.library.ethz.ch/view/eth:23868 , Dated: 01.01.0001 * |
Also Published As
Publication number | Publication date |
---|---|
EA200601977A3 (ru) | 2008-02-28 |
AU2005241463C1 (en) | 2010-07-29 |
MXPA06012485A (es) | 2007-06-19 |
NO20065397L (no) | 2007-01-24 |
CA2564156C (en) | 2014-04-08 |
AU2005241463B2 (en) | 2010-01-28 |
US7576743B2 (en) | 2009-08-18 |
EA200601977A2 (ru) | 2007-04-27 |
CN101052997A (zh) | 2007-10-10 |
EP1756517A2 (en) | 2007-02-28 |
US7352369B2 (en) | 2008-04-01 |
EA012579B1 (ru) | 2009-10-30 |
CN100576250C (zh) | 2009-12-30 |
BRPI0509830A (pt) | 2007-10-16 |
EP1756517A4 (en) | 2011-01-26 |
EP1756517B1 (en) | 2020-05-13 |
AU2005241463A1 (en) | 2005-11-17 |
US20050246130A1 (en) | 2005-11-03 |
WO2005108923A2 (en) | 2005-11-17 |
CA2564156A1 (en) | 2005-11-17 |
US20080129731A1 (en) | 2008-06-05 |
WO2005108923A3 (en) | 2007-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
NO339362B1 (no) | System og fremgangsmåte for approksimering av en redigerbar overflate | |
Haber et al. | A general two‐dimensional, graphical finite element preprocessor utilizing discrete transfinite mappings | |
Botsch et al. | Geometric modeling based on triangle meshes | |
EP2930691A1 (en) | Fitting sample points with an isovalue surface | |
AU2006262013A1 (en) | Large mesh deformation using the volumetric graph Laplacian | |
US20150294502A1 (en) | Sample points of 3d curves sketched by a user | |
US7518606B2 (en) | System and method for generating curved pipe objects for computer aided design models | |
Liu et al. | Quality improvement of surface triangular mesh using a modified Laplacian smoothing approach avoiding intersection | |
Neto et al. | Nagata patch interpolation using surface normal vectors evaluated from the IGES file | |
Stahl et al. | Post-processing and visualization techniques for isogeometric analysis results | |
US20230120926A1 (en) | U-splines: splines over unstructured meshes | |
US20160042106A1 (en) | Generating a cad model from a finite element mesh | |
EP2471046A1 (en) | Method for local refinement of a geometric or physical representation | |
Brock et al. | Adjoint-based design optimization using CAD parameterization through CAPRI | |
Engleitner et al. | Lofting with patchwork B-splines | |
KR102054773B1 (ko) | 3차원 프린팅을 위한 3차원 객체 저작 장치 및 방법 | |
Lévy et al. | Circular incident edge lists: a data structure for rendering complex unstructured grids | |
Fayolle et al. | Constructive heterogeneous object modeling using signed approximate real distance functions | |
Gain | Enhancing spatial deformation for virtual sculpting | |
Rypl et al. | Direct triangulation of 3D surfaces using the advancing front technique | |
Ivanov et al. | Simulation and visualization of the dynamics of a surface with a movable boundary on a stationary unstructured mesh | |
Lauwers et al. | Tetrahedral grids in Monte Carlo radiative transfer | |
Bekos et al. | Slanted orthogonal drawings: Model, algorithms and evaluations | |
Peiro et al. | High-order visualization with elvis | |
US10529444B1 (en) | System that rapidly generates a solvent-excluded surface |