Zylindrische Texturemap für Sphere korrigieren
Übersicht

KrischanBetreff: Zylindrische Texturemap für Sphere korrigieren |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo zusammen,
ich bastel da schon seit Stunden an einem Problem herum und komme auf keinen grünen Zweig, vielleicht habt ihr ne Lösung. Also mir gehts darum, eine flache Karte an den Polen so zu verzerren, dass sie später auf einer Kugel oben und unten nahtlos draufsitzt. Beispiel: ![]() So oder ähnlich sieht die Originalkarte aus ![]() So soll sie nachher aussehen (an den Polen verzerrt) Jetzt hab ich da ein Codeschnipsel gefunden was sowas ähnliches macht (http://local.wasp.uwa.edu.au/~...polargrid/) und mal versucht, den Pseudocode dort in BB umzusetzen. Allerdings bin ich doch sehr überrascht, dass er mir trotz der Berechnungen genau das Originalbild wieder ausgibt. Da muss irgendwas falsch sein, aber was? Mein Code: Code: [AUSKLAPPEN] Graphics 512,513,32,2
x=512 ; Breite y=256 ; Höhe twopi#=2*Pi ; Doppel-Pi ;Bild in Array lesen Dim bild(x,y) test=LoadImage("raster.png") SetBuffer ImageBuffer(test) LockBuffer ImageBuffer(test) For j=0 To y-1 For i=0 To x-1 bild(i,j)=ReadPixelFast(i,j) Next Next UnlockBuffer ImageBuffer(test) ;neues Bild erstellen neu=CreateImage(x,y) SetBuffer ImageBuffer(neu) LockBuffer ImageBuffer(neu) For j=0 To y-1 theta#=Pi*(j-(y-1)/2.0)/(y-1) For i=0 To x-1 phi#=twopi#*(i-x/2.0)/x phi2#=phi#*Cos(theta#) i2#=phi2#*x/twopi#+x/2 rgb=bild(i,j) WritePixelFast i2,j,rgb Next Next UnlockBuffer ImageBuffer(neu) SetBuffer FrontBuffer() DrawImage test,0,0 DrawImage neu,0,y+1 Color 255,0,0 Line 0,256,512,256 WaitKey End Hier noch das "raster.png" für Tests: ![]() Ich hab schon alles möglich abgesucht und gegurgelt aber irgendwie finde ich nix passendes. |
||
![]() |
BlitzcoderNewsposter |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also, ich habe mir deinen Code jetzt zwar nicht angeschaut, aber Photoshop bietet so einen Verzerrer unter Filter/Rendering Filter. Dort könnten für dich sicher Verbiegenn und Wölben in frage kommen. Du kannst dir auch eine 30-tage Demo von photoshop CS2 herunterladen, um das zu machen.
MfG Blitzcoder |
||
P4 3 Ghz@3,55Ghz|GF 6600GT 256MB|Samsung 80GB | 2x Samsung 160GB|2048MB DDR-400 RAM|6 Mbit Flatrate | Logitech G15 | Samsung 225BW-TFT | Ubuntu Gutsy Linux | Windows Vista | Desktop | Blog | CollIDE | Worklog
________________ |°°°°°°°°°°°°°°||'""|""\__,_ |______________ ||__ |__|__ |) |(@) |(@)"""**|(@)(@)****|(@) |
Krischan |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Das mag für eine handvoll Karten sinnvoll sein, ich würde es aber lieber in Blitzbasic machen. Langfristige Idee: ein Universum mit prozedural erstellten Sonnensystemen/Planeten, da legt man keine Heightmaps vorher ab, das wird alles nur berechnet (so wie bei Frontier: Elite II). Spart auch einen Haufen Speicherplatz. | ||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group