Question

Le programme de mon C nécessite l'accès à splines 3D qui ont été construits dans 3ds Max (2011). J'ai trouvé simple maxscript qui exporte ces splines sous forme de fichiers XML - un exemple comme suit:

<spline name='Line001' knots='5' closed='true'>
<knot x='-4.67297e-005' y='0.0' z='0.0'>
    <invec x='-0.000144482' y='-600.0' z='-1.52588e-005' />
    <outvec x='5.10227e-005' y='600.0' z='1.52588e-005' />
</knot>
<knot x='6.17511e-005' y='800.0' z='500.0'>
    <invec x='7.92357e-005' y='800.0' z='100.0' />
    <outvec x='4.42666e-005' y='800.0' z='900.0' />
</knot>
<knot x='-66.0574' y='1000.0' z='900.0'>
    <invec x='-66.0574' y='700.0' z='900.0' />
    <outvec x='-66.0573' y='1300.0' z='900.0' />
</knot>
<knot x='323.651' y='1300.0' z='4.57764e-005'>
    <invec x='323.651' y='1600.0' z='200.0' />
    <outvec x='323.651' y='1000.0' z='-200.0' />
</knot>
<knot x='-0.000152032' y='-700.0' z='-200.0'>
    <invec x='-0.00014329' y='-700.0' z='-400.0' />
    <outvec x='-0.000160774' y='-700.0' z='-1.52588e-005' />
</knot>
</spline>

Ma question est - approche ce qui serait le plus simple (et le plus léger) à l'accès et l'évaluation de cette spline dans mon programme C ++? Je sais comment analyser le XML pour les données, mais à partir de là, je suis actuellement perdu. Je dois être en mesure de a) évaluer un point le long de cette spline 3D et b) Calculer un vecteur décrivant la tangente à ce point (si possible). Je crois savoir qu'il existe des bibliothèques disponibles pour ce genre de chose, mais je ne suis pas sûr de ce qui est le plus approprié -. En particulier en termes de format décrit ci-dessus (noeuds, chacun avec un INVEC et outvec)

Était-ce utile?

La solution

Depuis 3ds Max est déjà calcul de ces courbes, vous pouvez exporter les courbes « cuites au four » au format XML à la résolution que vous avez besoin, que je devine sera un point par image.

Si vous préférez évaluer les courbes dans votre application, puis les courbes de Bézier (que je devine ce sont) sont assez faciles à calculer sans l'aide d'une bibliothèque externe. Jetez un oeil à l'algorithme de De Casteljau sur Wikipedia, en particulier la section qui décrit la géométrie interprétation, ce qui est beaucoup plus facile à saisir que les formules.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top