2012-11-22 6 views
2

Je demande à dessiner une ligne dans la 3D que je veux dessiner des lignes entre les points 3D.Line3D dans JavaFX

Je ne sais pas comment trouver la classe Point3D mais pas Line3D ou Plane3D.

Répondre

2

La prise en charge de JavaFX 2.2 3D est plutôt rudimentaire. Vous pouvez créer des formes 2D, puis leur appliquer des transformations pour les placer dans l'espace 3D, mais vous ne définissez pas directement les formes dans les coordonnées 3D. Ainsi, pour obtenir une ligne 3D, vous pouvez définir une ligne 2D, puis la faire pivoter autour des axes x et y et définir une coordonnée z sur le nœud.

Les versions ultérieures de JavaFX fourniront 3D specific shapes and meshes afin que l'utilisation des fonctionnalités 3D soit plus naturelle. Par exemple, vous pouvez utiliser un cylindre mince pour représenter une ligne 3D.

+3

Je viens d'écrire un billet sur comment dessiner un cylindre entre deux points 3D: http://netzwerg.ch/blog/2015/03/ 22/javafx-3d-line – netzwerg

+0

il est triste qu'après toutes ces années, ils n'ont toujours pas ajouté la capacité de base pour dessiner des lignes 3D ... – kellpossible

1

Bien que la réponse de Jewelsea fonctionne, elle n'est pas pratique ou performante. Cette réponse est un peu en retard, mais je pense que son importance pour les futurs lecteurs de noter que vous pouvez avoir des choses comme « Line3D » beaucoup plus facile maintenant avec le logiciel gratuit open-source F (X) YZ bibliothèque:

http://fxyz3d.org

vous voulez utiliser la classe PolyLine3D qui vous permet de spécifier simplement une liste de Point3Ds et il les pour vous connecter:

/src/org/fxyz/shapes/composites/PolyLine3D.java

et vous peut voir un exemple de code sur la façon de l'utiliser dans le répertoire de test:

/src/org/fxyz/tests/PolyLine3DTest.java

+1

Il n'y a aucune documentation pour cette bibliothèque, pas même JavaDocs, donc ça pourrait aussi bien ne pas existe, tbh. – Renato

+0

@Birdasaur Vous devez divulguer que vous êtes un contributeur à la bibliothèque mentionnée. – Spen

+0

Je suis un contributeur à la bibliothèque fxyz3d. S'amuser. – Birdasaur