Voglio spostarmi tra i pixel di un'immagine, non andando riga per riga, colonna per colonna nel modo "normale". Ma inizia dal pixel centrale e vai verso l'esterno con un movimento a spirale. Ma non sono sicuro di come farlo. Qualche suggerimento su come questo può essere fatto?C# Si muove attraverso un'immagine a spirale?
risposta
È possibile farlo utilizzando le funzioni parametriche, la funzione per il raggio è r (t) = R, e x (t) = Rcos (t) ey (t) = Rsin (t). Vuoi dire qualcosa come this?
Sembra proprio quello che voglio. Grazie mille! –
Sarebbe utile ripensarci al contrario.
Ad esempio, partendo dall'angolo in alto a sinistra e procedendo in senso orario, si passerebbe lungo la riga superiore, quindi lungo il lato destro, lungo il lato inferiore e lungo il margine sinistro fino al pixel sotto il punto iniziale .
Quindi spostarsi lungo la seconda fila e continuare a spirale.
A seconda delle dimensioni dell'immagine ci si ritroverà con una singola colonna di pixel o una singola riga di pixel e si muoverà su/giù o sinistra/destra.
Da questo punto di finitura è quindi possibile seguire i passaggi indietro e elaborare tutti i pixel che è necessario.
Per calcolare matematicamente la posizione di partenza, è necessario conoscere la larghezza/altezza dell'immagine e il pixel su cui si desidera terminare e la direzione in cui si desidera viaggiare quando si arriva all'ultimo pixel .
Qualcosa del genere dovrebbe farlo:
int x = width/2;
int y = height/2;
int left = width * height;
int dir = 0;
int cnt = 1;
int len = 2;
int[] move = { 1, 0, -1, 0, 1 };
while (left > 0) {
if (x >= 0 && x < width && y >= 0 && y < height) {
// here you do something with the pixel at x,y
left--;
}
x += move[dir % 4];
y += move[(dir % 4) + 1];
if (--cnt == 0) {
cnt = len++/2;
dir++;
}
}
Se l'immagine non è quadrata, la spirale continuerà al di fuori delle coordinate dell'immagine fino a quando l'intera immagine è stata coperta. La condizione nell'istruzione if
si assicura che solo le coordinate che fanno parte dell'immagine vengano elaborate.
- 1. meshgrid a spirale in MATLAB
- 2. di Viewpager non si muove
- 3. Come dare alla mia javascript ball un'animazione che si muove quando si muove?
- 4. Space Invaders non si muove all'unisono (Javascript)
- 5. Rilevamento quando il mouse non si muove
- 6. Regola a spirale e 'dichiarazione segue l'utilizzo' per l'analisi delle dichiarazioni C e C++
- 7. Passare una lista attraverso Python a C++
- 8. si muove due volte in una sola espressione piena ammessi
- 9. Looping attraverso una formula che descrive una spirale per generare le coordinate XY
- 10. Get indice spirale dalla posizione
- 11. tombino a spirale: come accedere ai server nell'applicazione?
- 12. Javascript - onscroll si muove agevolmente all'ancora successiva? Come?
- 13. jQuery UI Tooltip si muove fuori genitore div
- 14. jQuery Mobile footer fisso si muove quando appare la tastiera
- 15. sscanf non si muove, esegue la scansione dello stesso intero ogni volta! C
- 16. C# che muove il mouse in modo realistico
- 17. Regex metodo di cattura iteratore si muove iteratore
- 18. Nessuna co-ordinazione tra livelli mentre Bakground si muove a velocità diversa
- 19. Come verificare se il mouse si muove, mentre il pulsante sinistro del mouse è premuto, C#
- 20. Come si può reindirizzare l'input attraverso grep a un'altra utility?
- 21. Come si può invertire la traversata attraverso una collezione C#?
- 22. Come implementare l'ID mittente quando si inviano mail attraverso C#?
- 23. Disegna punti equidistanti su una spirale
- 24. Iterate attraverso l'array bidimensionale C#
- 25. Come implementare questa spirale rotante in WebGL?
- 26. come disegnare una spirale usando opengl
- 27. Iterate attraverso un array C
- 28. Qualche idea sul perché l'evento mouseleave non si registra quando si muove velocemente il cursore?
- 29. Come si ascolta un elemento HTML che si muove in JavaScript?
- 30. Lo schermo non si muove correttamente quando la tastiera si sposta - android
Puoi essere un po 'più chiaro di come ti aspetti che si comporti su un'immagine non quadrata? ... solo le immagini quadrate funzioneranno perfettamente con una spirale, qualsiasi altra cosa colpirai una serie di spigoli prima degli altri ... – jerryjvl