Sto usando Mathematica 8 e sto lottando con texturing. Sebbene la texturizzazione di oggetti poliedrici si sia dimostrata relativamente semplice, ho riscontrato un problema nel tentativo di tessere una sfera. Nella documentazione, l'unico modo per strutturare una sfera mostrata è usare SphericalPlot3D
, che, IMHO, è una soluzione kludgey, soprattutto perché sto cercando di eseguire operazioni (ad esempio traduzione) sulla sfera. In toto, la mia domanda è: c'è un modo per tessere una sfera primitiva?Texturing a sphere primitive
risposta
Non è possibile strutturare direttamente un Sphere
, ma è possibile creare una sfera strutturata utilizzando, ad es. SphericalPlot3D
ed estrai la prima parte per ottenere una primitiva che puoi manipolare con Translate
. Per esempio
sphere = SphericalPlot3D[1, th, phi, Mesh -> False, PlotPoints -> 25,
PlotStyle -> {Opacity[1], Texture[ExampleData[{"ColorTexture", "GiraffeFur"}]]},
TextureCoordinateFunction -> ({#4, #5} &)][[1]];
Graphics3D[Translate[sphere, {{0, 0, 0}, {2, 2, 2}}]]
Qualcosa di simile a questo sarà utile:
sphere = SphericalPlot3D[1, {u, 0, Pi}, {v, 0, 2 Pi},
TextureCoordinateFunction -> ({2 #5, 1 - 2 #4} &),
PlotStyle -> { Lighting -> "Neutral", Axes -> False,
Boxed -> False, Texture[texture]}, Mesh -> None][[1]];
F[k_] := Graphics3D[ Rotate[ sphere, k, {2, 1, 6}, {0, 0, 0}], Boxed -> False]
Ora, siamo in grado di animare una sfera strutturato rotante (intorno al vettore {2, 1, 6}
ancorata al punto {0,0,0}
):
Animate[F[k], {k, 0, 2 Pi}]
No, è quello che sono riuscito a fare ... Voglio texture una Sfera * primitiva *, come prodotta dalla funzione Sphere []. – taktoa
L'applicazione di una trama a 'Sfera []' non è attualmente possibile. –
Solo per completezza, si può anche generare sfere con texture utilizzando ParametricPlot3D
.
map = ExampleData[{"TestImage", "Lena"}];
sphere = ParametricPlot3D[{Cos[u] Sin[v], Sin[u] Sin[v], Cos[v]}, {u,
0, 2 Pi}, {v, 0, Pi}, Mesh -> None,
TextureCoordinateFunction -> ({#4, 1 - #5} &),
Lighting -> "Neutral", Axes -> False, Boxed -> False,
PlotStyle -> Texture[Show[map]]]
Se ho capito bene, la risposta di Heike mostra che la prima parte del risultato è un GraphicsComplex, che è una grafica primitiva.
- 1. Blender: Walk around sphere
- 2. WorldWind Sphere Line Intersection Bug?
- 3. Google Maps + Streetview - Come disattivare Foto Sphere
- 4. Schermo nero invece di multi-texturing
- 5. CLOD Planet texturing largo in OpenGL
- 6. Primitive personalizzate in C#?
- 7. Java: sincronizzazione su primitive?
- 8. Lambda su matrici primitive
- 9. Primitive Json non valide
- 10. primitive conteggio in Neo4j
- 11. Tipi strutturali e primitive
- 12. Operazioni primitive nelle prove
- 13. ABCL compilazione e primitive
- 14. Primitive negative senza segno?
- 15. Lisp Flavored Erlang - Messaging primitive
- 16. Posso chiamare delete su primitive?
- 17. INRIA sta per aggiungere le primitive di concorrenza a OCaml?
- 18. `` std :: vector <primitive> :: clear() `un'operazione a tempo costante?
- 19. OpenGL-OpenCL tempi di trasferimento di interoperabilità + texturing da bitmap
- 20. Primitive numeriche e relativi suffissi
- 21. OpenGL ES 1 multi-texturing con diverse coordinate uv
- 22. Long primitive o AtomicLong per un contatore?
- 23. Confronta due primitive variabili lunghe in java
- 24. primitive-boolean To String concatenazione/conversione
- 25. Libreria di raccolte primitive Java più efficiente
- 26. Quando utilizzare le primitive in Objective-C?
- 27. Java: unire array di primitive con separatore
- 28. Purezza di predicati Prolog che utilizzano le primitive impuri
- 29. Come faccio a rendere le serie di primitive non serializzate con il valore predefinito
- 30. Perché le primitive JavaScript non sono instanceof Object?
Correlati: [RegionPlot sulla superficie della sfera unitaria?] (Http://stackoverflow.com/q/5788842/616736) e [Come si ottiene la visualizzazione grafica 3D personalizzata correttamente in Mathematica?] (Http: //stackoverflow.com/q/5603281/616736) – abcd