// SVG elemanlarını seç const rects = document.querySelectorAll('.rect'); // Her bir rect öğesine başlangıç transform değerini ekle (transform yoksa ekle) rects.forEach(rect => { let transformValue = rect.getAttribute('transform'); if (!transformValue) { // Eğer transform yoksa, başlangıç transform değeri ekle rect.setAttribute('transform', 'matrix(1 0 0 1 0 0)'); } }); // Hareket fonksiyonu tanımla function animateRects() { rects.forEach(rect => { // Eğer transform özelliği yoksa, bir başlangıç transform değeri ata let transformValue = rect.getAttribute('transform'); if (!transformValue) { transformValue = 'matrix(1 0 0 1 0 0)'; // Eğer yoksa bu değeri kullan } // Transform özelliğini split ederek matris verisini elde et const matrix = transformValue.match(/matrix\(([^)]+)\)/); if (matrix && matrix[1]) { const matrixValues = matrix[1].split(' ').map(parseFloat); // X ve Y koordinatlarını al let currentX = matrixValues[4]; // X koordinatı let currentY = matrixValues[5]; // Y koordinatı // Hareket etmek için rastgele X ve Y değerleri belirle const randomX = (Math.random() * 10 - 5).toFixed(2); // -5 ile +5 arası const randomY = (Math.random() * 10 - 5).toFixed(2); // -5 ile +5 arası // Yeni X ve Y'yi hesapla const newX = (currentX + parseFloat(randomX)).toFixed(2); const newY = (currentY + parseFloat(randomY)).toFixed(2); // Yeni transform değerini uygula rect.setAttribute('transform', `matrix(1 0 0 1 ${newX} ${newY})`); } }); // Her 1000 ms'de bir animasyonu tekrar başlat (1 saniye) setTimeout(animateRects, 1000); } // Animasyonu başlat animateRects();