Bilişim dünyasına kaliteli, özgün ve Türkçe içerikler kazandırmayı hedefleyen bir platform..

friends friends friends

Voronoi Diyagram

Voronoi Diyagram

Voronoi diyagramı, bir alandaki noktalar arasındaki en yakınlık ilişkisini görselleştiren ve düzlemi bu ilişkiye göre çokgen hücrelere ayıran güçlü bir geometrik yöntemdir. Bu yapı sayesinde farklı merkezlerin etki alanları belirlenebilir ve mekânsal analizler daha kolay yapılabilir.

Adını Ukrayna asıllı Rus matematikçi Georgy Voronoi’den alan Voronoi diyagramı, düzlem üzerine dağılmış noktalar kümesini temel alan bir geometrik bölgeleme yöntemidir. Bu yöntemde her bir nokta, kendisine diğer noktalardan daha yakın olan alanı temsil eden bir bölge oluşturur. Böylece düzlem, her noktanın etrafında oluşan ve birbirini boşluk bırakmadan tamamlayan çokgenlere ayrılır. Bu çokgenler birlikte tüm alanı kaplayan bir döşeme yapısı meydana getirir.

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

from sklearn.cluster import DBSCAN
from sklearn.preprocessing import StandardScaler

# ---------------------------------------------------
# ÖRNEK DATAFRAME
# ---------------------------------------------------

df = pd.DataFrame({
    "Boy": [160, 165, 170, 172, 180, 182, 185, 250],
    "Kilo": [55, 58, 65, 67, 80, 82, 85, 200]
})

# ---------------------------------------------------
# SAYISAL VERİYİ AL
# ---------------------------------------------------

X = df[["Boy", "Kilo"]]

# Ölçeklendirme
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)

# ---------------------------------------------------
# DBSCAN
# ---------------------------------------------------

model = DBSCAN(
    eps=0.8,       # Komşuluk yarıçapı
    min_samples=2  # Minimum komşu sayısı
)

labels = model.fit_predict(X_scaled)

# Sonuçları dataframe'e ekle
df["Küme"] = labels

print(df)

# ---------------------------------------------------
# GÖRSELLEŞTİRME
# ---------------------------------------------------

plt.figure(figsize=(8,6))

scatter = plt.scatter(
    df["Boy"],
    df["Kilo"],
    c=df["Küme"],
    s=120
)

# Nokta etiketleri
for i in range(len(df)):
    plt.text(
        df["Boy"][i] + 1,
        df["Kilo"][i] + 1,
        f"{df['Küme'][i]}"
    )

plt.title("DBSCAN Kümeleme")
plt.xlabel("Boy")
plt.ylabel("Kilo")

plt.grid(True)
plt.show()

Zürafaların hepsi aynı şekilde desenlenmez

Afrika genelinde, farklı popülasyonlar, bir zürafanın nereden geldiğini belirlemek için sıklıkla kullanılabilen farklı tüy desenleri geliştirmiştir. Afrika Boynuzu'ndaki ağlı zürafalar, parlak beyaz çizgilerle ayrılmış büyük çokgen şeklindeki yamalarıyla bilinirken, Kenya ve Tanzanya'daki Masai zürafaları meşe yapraklarına veya asmalara benzeyen düzensiz, girintili çıkıntılı noktalara sahiptir. Batı Afrika, Angola, Rothschild ve Güney Afrika zürafaları gibi diğer popülasyonların her biri kendi karakteristik desenlerini sergiler.

Bu farklılıklar, binlerce yıl boyunca coğrafi izolasyon, genetik ve doğal seçilim kombinasyonuyla gelişmiştir. Nehirler, çöller, ormanlar ve geniş mesafeler, zürafa popülasyonları arasındaki melezleşmeyi sınırlayarak her grubun kendine özgü bir görünüm geliştirmesine olanak sağlamıştır. Bilim insanları, desenlerin yerel ortamlara uygun kamuflaj sağlayabileceğine ve hatta derinin altındaki kan damarları ağı aracılığıyla vücut sıcaklığını düzenlemede rol oynayabileceğine inanmaktadır.

Tarihsel olarak, bu gruplar tek bir zürafa türünün alt türleri olarak sınıflandırılıyordu, ancak modern genetik çalışmalar zürafaların aslında birkaç farklı türü temsil edebileceğini öne sürüyor. İnsan parmak izleri gibi, hiçbir iki zürafanın deseni tamamen aynı değildir, ancak her popülasyonun tanınabilir bir bölgesel stili vardır.

Kaynaklar

  1. https://www.youtube.com/watch?v=zaGd5tXkCnE
  2. https://www.instagram.com/p/DZ73tZoCfGc/?igsh=MWJqa3oxY25nc3EzYQ%3D%3D
voronoi
0 Beğeni
Algoritmalar
Önceki Yazı

Python İle Bir klasördeki tüm resimleri WEBP’ye çevirme

14 Mart 2026 tarihinde yayınlandı.
Sonraki Yazı

Makine Öğrenmesini Görsel Olarak Açıklayan Web Siteleri

14 Mart 2026 tarihinde yayınlandı.
arrow