Professional paint mixing simulator with industry-standard pigments.
Digital Paint Lab, gerçek dünya boya karıştırma sürecini simüle eden bir web uygulamasıdır. Endüstri standardı pigmentler kullanarak özel duvar renkleri oluşturabilir, gerçek zamanlı önizleme görebilir ve duvar alanınıza göre ihtiyacınız olan malzemeleri hesaplayabilirsiniz.
-
14 Endüstri-Standardı Pigment
- Sarı/Turuncu: Oxide Yellow (PY42), Cadmium Yellow (PY35), Raw Sienna (PBr7)
- Kırmızı: Flag Red (PR101), Cadmium Red (PR108), Burnt Sienna (PBr7)
- Mavi: Prussian Blue (PB27), Ultramarine Blue (PB29), Cobalt Blue (PB28)
- Yeşil: Oxide Green (PG17), Phthalo Green (PG7)
- Siyah/Kahverengi: Carbon Black (PBk7), Raw Umber (PBr7), Burnt Umber (PBr7)
-
Birim Bazlı Karıştırma
- Damla (1 damla = 0.05 ml)
- Mililitre (ml)
- Tüp (1 tüp = 20 ml)
-
Gerçek Zamanlı Renk Önizleme
- Anlık renk güncellemeleri
- Hex ve RGB kod görüntüleme
- Yumuşak geçişli animasyonlar
-
Duvar Görselleştirme
- 3 farklı duvar dokusu (Smooth, Textured, Rough)
- 3 farklı ışık koşulu (Daylight, Warm Indoor, Cool Indoor)
- Gerçekçi görselleştirme
-
Tarif Kartı
- Eklenen tüm pigmentlerin listesi
- Panoya kopyalama özelliği
- Detaylı tarif formatı
-
Kaplama Hesaplayıcı
- m² girişi ile otomatik hesaplama
- 1 litre = 10 m² kaplama standardı
- Gereken baz boya ve pigment miktarları
- Kaç tüp pigment alınması gerektiği
-
Kullanıcı Dostu Arayüz
- Modern, temiz tasarım
- Responsive (mobil uyumlu)
- Üç kolonlu dashboard layout
- Kolay navigasyon
- Frontend: Next.js 14+ (App Router), JavaScript, Tailwind CSS
- Backend: FastAPI (opsiyonel - şu anda kullanılmıyor, tüm hesaplamalar client-side)
- State Management: React Context API
- Color Mixing Algorithm: RGB tabanlı subtractive approximation
# Zaten yüklü, ancak tekrar yüklemek için:
# npm install
# Development server başlatma
npm run devUygulama şu adreste çalışacak: http://localhost:3000
- Sol panelden pigment kategorilerini açın
- Bir pigment seçin
- Miktar ve birim belirtin (damla, ml veya tüp)
- "Add to Mix" butonuna tıklayın
- Ortadaki panelde renginizi gerçek zamanlı görün
- Hex ve RGB kodları kontrol edin
- Duvar önizlemesinde farklı dokular ve ışık koşullarını deneyin
- Sağ panelde tarifinizi görün
- "Copy Recipe" ile panoya kopyalayın
- İstenmeyen pigmentleri kaldırabilirsiniz
- Duvar alanınızı m² olarak girin (örn: 50)
- Gereken baz boya ve pigment miktarlarını görün
- Kaç tüp pigment almanız gerektiğini öğrenin
frontend/
├── app/
│ ├── components/
│ │ ├── PigmentSelector.js # Pigment seçim paneli
│ │ ├── PigmentControl.js # Pigment ekleme kontrolü
│ │ ├── ColorVisualizer.js # Ana renk önizleme
│ │ ├── WallPreview.js # Duvar doku önizleme
│ │ ├── RecipePanel.js # Tarif kartı
│ │ └── CoverageCalculator.js # Kaplama hesaplayıcı
│ ├── layout.js # Root layout
│ ├── page.js # Ana sayfa
│ └── globals.css # Global stiller
├── lib/
│ ├── pigmentData.js # Pigment veritabanı
│ ├── colorMixing.js # Renk karışım algoritması
│ └── paintCalculations.js # Kaplama hesaplamaları
├── context/
│ └── PaintContext.js # State management
└── public/
└── textures/ # Duvar doku görselleri
Uygulama, RGB tabanlı subtractive color mixing yaklaşımı kullanır:
- Birim Dönüşümü: Tüm birimler ml'ye dönüştürülür
- Konsantrasyon Hesaplama: Her pigmentin toplam boyaya oranı hesaplanır
- Güç Faktörü: Her pigmentin tinting power'ı (güç) uygulanır
- Multiplicative Blending: Gerçekçi boya karıştırma için multiplicative + linear interpolation
- Sıralı Uygulama: Pigmentler birer birer eklenerek gerçekçi simülasyon
- Beyaz baz (255, 255, 255)
-
- 10ml Oxide Yellow → Açık sarı tonu
-
- 2ml Prussian Blue → Yeşilimsi ton
-
- 0.5ml Carbon Black → Koyu, pastel yeşil
- 1 damla = 0.05 ml
- 1 tüp = 20 ml
- 1 litre = 1000 ml
- Kaplama: 1 litre boya = 10 m² duvar (standart mat duvar boyası)
-
Pigment Gücü: Carbon Black gibi güçlü pigmentler çok az miktarda bile rengi önemli ölçüde değiştirir. Her pigmentin "strength" değeri var.
-
Gerçekçilik: RGB approximation kullanıldığı için %100 bilimsel doğruluk yok, ancak görsel olarak gerçekçi sonuçlar üretir.
-
State: Sayfa yenilendiğinde mix sıfırlanır. LocalStorage eklenerek kalıcılık sağlanabilir (gelecekte).
-
Responsive: Mobil cihazlarda kolonlar dikey olarak sıralanır.
# 3000 portunu kullanan process'i bul ve kapat
lsof -i :3000
kill -9 <PID># node_modules ve .next'i temizle
rm -rf node_modules .next
npm install
npm run dev- Browser console'da detaylı hata mesajlarını kontrol edin
- File path'lerin doğru olduğundan emin olun
Bu proje eğitim ve demonstrasyon amaçlıdır.
Sorularınız için: Yiğit Aktürk
Not: Uygulama şu anda çalışıyor! Tarayıcıda http://localhost:3000 adresine giderek test edebilirsiniz.