De libraries die ik heb onderzocht zijn:
- Geometrictools (www.geometrictools.com: erg onduidelijk gedocumenteerd, en, volgens wat ik er kan uit opmaken na bestuderen van de curve-klasse en de voorbeelden (die zowat alles exhaustief illustreren buiten het gebruik van de curve-klasse) geen mogelijkheid om enkel op basis van punten een curve te modelleren. Je moet er namelijk afgeleide(n) en normaal in het punt meegeven, wat geen gegevens zijn waarover ik beschik als ik bijvoorbeeld het gevolgde pad van iemand die interactief door een virtuele scene loopt wil samplen.
- De (aangepaste ?) versie van Geometrictools zoals beschreven staat in het boek 3D Game Engine Design, en dat op de bijgeleverde CD te vinden is. Volgens de website van Geometric Tools zou dit boek de documentatie bij hun library zijn, maar de referenties op de site kloppen totaal niet, en het boek levert in het hoofdstuk Curves niet meer dan een wiskundige uitleg over splines, en totaal geen uitleg bij de code of het gebruik ervan.
- NURBS++ (http://sourceforge.net/projects/libnurbs/), een library die zoals de naam al doet vermoeden NURBS-curven en -oppervlakken modelleert in C++. Ook hier was de documentatie zeer ondermaats. Op de site van het project is wel een paper te vinden die verscheidene eigenschappen van splines beschrijft en de generatie van curves illustreert, maar de documentatie is onvolledig (zegt de auteur zelf), en is sinds 2002 in onvolledige staat gebleven. Dit pakket laat wel toe op basis van punten een curve te genereren, maar vraagt ook nog een aantal andere parameters waarvan ik ook na het lezen van de 'documentatie' geen idee heb wat ze zijn.
- Diverse andere pakketten die beweren dat ze dienen om curves te modelleren maar eigenlijk enkel functies (en in de meeste gevallen dan ook nog enkel 2D-functies) blijken aan te kunnen, als je wat dieper in de documentatie graaft.
Er zijn nu drie mogelijkheden om mijn splineprobleem op te lossen. Ofwel blijf ik voortzoeken naar het ideale pakket tot ik het vind en mijn problemen op magische wijze verdwijnen (iets wat elke dag en met elke google-beurt onwaarschijnlijker wordt), ofwel blijf ik doorgraven in de documentatie van NURBS++ totdat ik uitvis wat de ontbrekende parameters zijn of erachter kom dat ook deze library totaal niet geschikt is, ofwel schrijf ik mijn eigen spline-klasse.
Mijn persoonlijke voorkeur gaat momenteel uit naar die laatste course of action. Op die manier kan ik de klasse perfect integreren in de PBRT-manier van werken (voorstellingen van punten etc.) zodat ik achteraf geen bridge tussen PBRT en het andere pakket moet gaan schrijven, ben ik er zeker van dat de klasse precies de opties gaat bieden die ik nodig heb, en weet ik zeker dat ik de intenties van de auteur bij het schrijven van de code ga begrijpen.
Nadelen hiervan zijn dan weer dat ik er extra tijd moet insteken, terwijl de tijd toch stilaan begint te dringen, dat er altijd het risico bestaat dat ik fouten maak met betrekking tot die splines, en dat het computationeel lang niet zo efficiënt (of erger: nauwkeurig) is als professionele pakketten zouden zijn. Anderzijds, betreffende dat laatste nadeel: ik heb ook niet de indruk dat NURBS++ zo ongelooflijk professioneel is, dus ook daar reken ik op een zeker risico qua efficiëntie en nauwkeurigheid.
Ik ga mij alvast voor de rest van vandaag (althans tot ik advies heb ingewonnen van Toon) opnieuw verdiepen in mijn cursus Numerieke Modellering en Benadering. Als ik zelf een spline-klasse ga schrijven zal ik het nodig hebben, zoniet kan het geen kwaad nog eens precies op te frissen hoe het ook weer allemaal werkte (de beschrijvingen waarop ik ben gestoten bij het researchen van de verschillende libraries waren nooit echt uitgebreid of diep wiskundig, de uitleg in het boek was wel wiskundig, maar gaf vooral een overview van verschillende soorten curven zonder echt diep op algoritmische details in te gaan). Nog verder zoeken naar splines op het web zie ik momenteel niet zitten.
Wat ik ook nog plan te doen vandaag is nog eens wat prentjes maken (dat is altijd goed om de moraal op te krikken), en een beetje research te doen naar de Maya-PBRT plugin en de mogelijkheden daarvan.
B
2 comments:
Lees het hele blog, pretty good
hey there multiperspective.blogspot.com blogger found your blog via search engine but it was hard to find and I see you could have more visitors because there are not so many comments yet. I have discovered site which offer to dramatically increase traffic to your blog http://mass-backlinks.com they claim they managed to get close to 4000 visitors/day using their services you could also get lot more targeted traffic from search engines as you have now. I used their services and got significantly more visitors to my website. Hope this helps :) They offer best services to increase website traffic at this website http://mass-backlinks.com
Post a Comment