Skip to content

Instantly share code, notes, and snippets.

@buraxta
Created April 22, 2025 11:02
Show Gist options
  • Save buraxta/a9045601867b892ab1a59fe329f133ca to your computer and use it in GitHub Desktop.
Save buraxta/a9045601867b892ab1a59fe329f133ca to your computer and use it in GitHub Desktop.
ortlama.tsx
{/*
Hesaplama Mantığı:
Bu hesaplama mantığı, kişinin denge değerlerinin ne kadar istikrarlı olduğunu ölçmeye dayanıyor. Standart sapma düşükse (yani denge noktaları birbirine yakınsa) skor yüksek, standart sapma yüksekse (denge noktaları dağınıksa) skor düşük oluyor.
- testData dizisindeki her bir nokta için merkeze olan uzaklık (distances) hesaplanır
* Her bir veri noktasının (X,Y) koordinatlarından, merkezden (0,0) uzaklığı Pisagor formülü ile hesaplanır.
- Ortalama uzaklık (avgDistance) hesaplanır:
* Tüm uzaklıkların toplamı alınıp nokta sayısına bölünür.
- Varyans (variance) hesaplanır:
* Her bir uzaklığın ortalama uzaklıktan farkının karesi hesaplanıyor.
* Bu farkların toplamı nokta sayısına bölünüyor.
- Standart sapma (stdDev) hesaplanır:
* Varyansın karekökü alınır.
- Son olarak bireysel skor hesaplanıyor:
* 100 - (standart sapma × 20) formülü kullanılır.
* Sonuç yuvarlanarak tamsayı olarak gösterilir.
Standart sapmanın 20 ile çarpılması, skorun 100 üzerinden anlamlı bir ölçekte yer almasını sağlıyor. */}
<div className="">
<div className="text-gray-600 mb-1">Bireysel Skor</div>
<div className="text-5xl font-bold text-blue-600">
{(() => {
const distances = testData.map((point) =>
Math.sqrt(point.X * point.X + point.Y * point.Y)
);
const avgDistance =
distances.reduce((sum, val) => sum + val, 0) /
distances.length;
const variance =
distances.reduce(
(sum, val) => sum + Math.pow(val - avgDistance, 2),
0
) / distances.length;
const stdDev = Math.sqrt(variance);
return Math.round(100 - stdDev * 20);
})()}
</div>
<div className="text-xs text-gray-500 mt-1 mb-4">
100 üzerinden
</div>
</div>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment