\section{MR'dan VR'a Mimari Geçiş: Karşılaştırmalı Analiz}
\label{sec:mr_vr_gecis}

Mixed Reality yaklaşımından elde edilen deneyimsel veriler, sistem tasarımının köklü biçimde yeniden değerlendirilmesini zorunlu kılmıştır. Tablo~\ref{tab:mr_vr_karsilastirma}, iki paradigmanın temel mühendislik kriterleri açısından karşılaştırmasını sunmaktadır.

\begin{ktufbeteztable}
    {Mixed Reality ve VR tabanlı mimari yaklaşımlarının karşılaştırması}
    {tab:mr_vr_karsilastirma}
    {p{4cm}p{4.5cm}p{4.5cm}}
    {Kriter & Mixed Reality Yaklaşımı & VR Tabanlı Yaklaşım}
    {Tablo \thetable'in devamı}
    {c}
    \hline
    Tracking stabilitesi & Düşük (drift, jitter) & Yüksek (yazılım kontrolü) \\
    \hline
    Donanım bağımlılığı & Yüksek (fiziksel ekipman) & Düşük (yalnızca tracker) \\
    \hline
    Kurulum karmaşıklığı & Yüksek & Düşük \\
    \hline
    Fiziksel ergonomi & Kısıtlı (ağırlık sorunu) & Serbest (sadece tracker tutulur) \\
    \hline
    Ölçeklenebilirlik & Düşük & Yüksek \\
    \hline
    Konumsal hassasiyet & $\pm$8~mm (drift ile) & $\pm$1.2~mm (stabil) \\
    \hline
    Eğitim metrikleri & Sınırlı & Kapsamlı gerçek zamanlı analitik \\
    \hline
\end{ktufbeteztable}

Bu karşılaştırmalı analiz; VR tabanlı mimarinin tracking stabilitesi, kurulum kolaylığı, donanım bağımsızlığı ve ölçeklenebilirlik açısından MR yaklaşımına belirgin üstünlük sağladığını ortaya koymaktadır.

\section{VR Tabanlı Yeni Sistem Mimarisi}
\label{sec:vr_mimari}

\subsection{Mimari Tasarım Felsefesi}
\label{subsec:mimari_felsefe}

VR tabanlı yeni mimaride temel tasarım ilkesi; kullanıcının yalnızca iki tracker'ı fiziksel olarak tutması, tüm dental anatominin (çene modeli ve scaler aleti) ise Unity sanal ortamında simüle edilmesidir. Bu yaklaşımda fiziksel dünya ile sanal dünya arasındaki köprü yalnızca 6DoF transform verisi üzerinden kurulmaktadır.

Sistem; üç ana katmandan oluşmaktadır:

\begin{enumerate}
    \item \textbf{Donanım Katmanı:} HTC Vive Focus HMD ve iki adet SteamVR Tracker.
    \item \textbf{Veri Köprüsü Katmanı:} SteamVR Plugin + OpenXR aracılığıyla gerçek zamanlı 6DoF transform verisi aktarımı.
    \item \textbf{Simülasyon Katmanı:} Unity Engine içinde sanal çene, sanal scaler, collision sistemi, cleaning algoritması ve UI modülleri.
\end{enumerate}

\begin{figure}[htbp]
\centering
\framebox[\textwidth]{\rule{0pt}{6cm}\parbox{0.85\textwidth}{\centering
\textit{[Şekil 2.4: VR Tabanlı Sistem Mimarisi Diyagramı]}\\[6pt]
Tracker $\rightarrow$ SteamVR $\rightarrow$ OpenXR $\rightarrow$ Unity Transform $\rightarrow$\\Sanal Model hiyerarşisini gösteren veri akış şeması
}}
\caption{DentClear VR sistem mimarisi: Donanım, veri köprüsü ve simülasyon katmanlarının hiyerarşik yapısı.}
\label{fig:vr_mimari}
\end{figure}

\subsection{Tracker Görev Dağılımı}
\label{subsec:tracker_gorev}

VR mimarisinde iki tracker'a aşağıdaki görevler atanmıştır. Tablo~\ref{tab:tracker_gorev} bu dağılımı özetlemektedir.

\begin{ktufbeteztable}
    {Tracker görev dağılımı ve kontrol ettikleri sanal nesneler}
    {tab:tracker_gorev}
    {p{3cm}p{4cm}p{3cm}p{3cm}}
    {Tracker & Kontrol Edilen Sanal Nesne & Kontrol Ekseni & Güncelleme Hızı}
    {Tablo \thetable'in devamı}
    {c}
    \hline
    Tracker 1 & Sanal çene modeli (mandibula + maksilla) & Position + Rotation (6DoF) & Her frame \\
    \hline
    Tracker 2 & Sanal dental scaler modeli & Position + Rotation (6DoF) & Her frame \\
    \hline
\end{ktufbeteztable}

\subsection{6DoF Transform Eşleştirme Sistemi}
\label{subsec:transform_eslestirme}

Her tracker'ın konum ve rotasyon verisi, Unity'nin \texttt{Transform} bileşenine doğrudan eşleştirilmektedir. Bu işlem her render frame'inde gerçekleştirilmekte; böylece sanal nesneler kullanıcının fiziksel hareketini sıfır gecikme ile takip etmektedir.

Scaler modeli için uygulanan transform eşleştirme matematiksel olarak şu şekilde ifade edilmektedir:

\begin{equation}
    \mathbf{T}_{\text{sanal}} = \mathbf{T}_{\text{tracker}}
\end{equation}

Burada $\mathbf{T}$, homojen koordinat sisteminde $4\times4$ transform matrisini (konum + rotasyon) temsil etmektedir. Scaler ucunun pozisyonu ise tracker merkezinden sabit bir offset vektörü ile hesaplanmaktadır:

\begin{equation}
    \mathbf{P}_{\text{ScalerUcu}} = \mathbf{P}_{\text{tracker}} + \mathbf{R}_{\text{tracker}} \cdot \mathbf{d}_{\text{offset}}
\end{equation}

Burada $\mathbf{R}_{\text{tracker}}$ tracker'ın anlık rotasyon matrisi, $\mathbf{d}_{\text{offset}}$ ise tracker merkezi ile scaler ucu arasındaki sabit lokal uzaklık vektörüdür.

\begin{figure}[htbp]
\centering
\framebox[\textwidth]{\rule{0pt}{5.5cm}\parbox{0.85\textwidth}{\centering
\textit{[Şekil 2.5: Sadece Tracker Kullanan VR Sistemi — Kullanım Senaryosu]}\\[6pt]
Kullanıcının iki tracker tutarken sanal ortamda çene ve\\scaler'ı kontrol ettiğini gösteren sistem diyagramı
}}
\caption{VR tabanlı DentClear sisteminde kullanıcı etkileşimi: Fiziksel tracker tutma ile sanal nesne kontrolünün 6DoF transform eşleştirmesi üzerinden gerçekleştirilmesi.}
\label{fig:vr_kullanim}
\end{figure}

\section{Diş Temizleme Simülasyon Sistemi}
\label{sec:temizleme_sistemi}

\subsection{Collision-Based Etkileşim Mimarisi}
\label{subsec:collision}

Dental temizleme simülasyonu; Unity PhysX motorunun \texttt{Rigidbody} ve \texttt{Collider} bileşenleri üzerine inşa edilmiş collision-based bir etkileşim mimarisi üzerinde çalışmaktadır. Scaler modelinin her iki ucuna bağımsız \texttt{CapsuleCollider} bileşenleri atanmıştır; bu sayede çift uçlu (\textit{dual-tip}) aktif etkileşim alanı oluşturulmuştur.

Etkileşim akışı şu adımları izlemektedir:

\begin{enumerate}
    \item \textbf{Temas Algılama:} Scaler uç Collider'ı diş yüzeyi Collider'ı ile \texttt{OnTriggerStay} olayı aracılığıyla temas durumuna geçtiğinde, etkileşim döngüsü başlatılmaktadır.
    \item \textbf{Açı Analizi:} Scaler vektörü ile diş yüzey normali arasındaki anlık açı $\alpha$ hesaplanmaktadır.
    \item \textbf{Temizleme Kararı:} $\alpha$ değeri belirlenen optimal aralıkta ise temizleme ilerlemesi güncellenmekte; aralık dışındaysa kullanıcıya uyarı geri bildirimi iletilmektedir.
    \item \textbf{Görsel Güncelleme:} Temizleme ilerlemesine bağlı olarak diş yüzeyi materyal blending sistemi tetiklenmektedir.
\end{enumerate}

\begin{figure}[htbp]
\centering
\framebox[\textwidth]{\rule{0pt}{5.5cm}\parbox{0.85\textwidth}{\centering
\textit{[Şekil 2.6: Collision Interaction Sistemi Diyagramı]}\\[6pt]
Scaler ucu Collider alanları, diş Collider bölgeleri ve\\tetikleme mantığını gösteren teknik şema
}}
\caption{Dual-tip scaler collision etkileşim sistemi: Her iki scaler ucunun bağımsız Collider alanları ile diş yüzeylerindeki temas algılama mekanizması.}
\label{fig:collision}
\end{figure}

\subsection{Scaler Açı Analizi Algoritması}
\label{subsec:aci_analizi}

Dental klinik protokolüne göre scaler'ın diş yüzeyine olan etkin açı aralığı 45°--90° olarak tanımlanmıştır. Bu parametreye dayalı açı analiz algoritması şu şekilde çalışmaktadır:

Scaler vektörü $\vec{v}_s$ ile diş yüzeyinin lokal normal vektörü $\hat{n}$ arasındaki açı:

\begin{equation}
    \alpha = \arccos\!\left(\frac{\vec{v}_s \cdot \hat{n}}{|\vec{v}_s|}\right)
\end{equation}

Temizleme verimi katsayısı $\eta(\alpha)$ şu şekilde tanımlanmıştır:

\begin{equation}
    \eta(\alpha) =
    \begin{cases}
        1.0 & \text{eğer } 45° \leq \alpha \leq 90° \\
        0.4 & \text{eğer } 30° \leq \alpha < 45° \\
        0.0 & \text{diğer}
    \end{cases}
\end{equation}

Her geçerli temas frame'inde temizleme ilerlemesi şu formüle göre güncellenmektedir:

\begin{equation}
    P_{t+1} = P_t + \eta(\alpha) \cdot \Delta t \cdot k_{\text{temizleme}}
\end{equation}

Burada $k_{\text{temizleme}}$ temizleme hızı sabiti, $\Delta t$ ise frame süresidir. $P$ değeri 1.0'a ulaştığında ilgili diş yüzeyi segmenti ``temiz'' durumuna geçmektedir.

\subsection{Dinamik Tekstür Geçiş Sistemi}
\label{subsec:tekstur_gecis}

Dental yüzey üzerinde kalkülüs varlığının görsel temsili ve temizleme süreci; Unity Shader Graph ile geliştirilen dinamik material blending sistemi aracılığıyla gerçekleştirilmektedir.

Sistem iki ana materyal katmanı içermektedir:

\begin{itemize}
    \item \textbf{Kalkülüs Materyali:} Sarı-kahverengi renk tonu ve pürüzlü yüzey dokusu (roughness: 0.9, metallic: 0.0) ile kalkülüs birikintisini temsil eder.
    \item \textbf{Sağlıklı Diş Materyali:} Beyaz-krem renk tonu ve yarı parlak yüzey (roughness: 0.3, metallic: 0.1) ile temiz mine yüzeyini temsil eder.
\end{itemize}

Temizleme ilerlemesi $P$ değerine bağlı olarak iki materyal arasında doğrusal interpolasyon (\textit{linear interpolation}) uygulanmaktadır:

\begin{equation}
    M_{\text{final}} = \text{lerp}(M_{\text{kalkülüs}},\; M_{\text{diş}},\; P)
\end{equation}

Bu yöntem; kademeli ve görsel olarak inandırıcı bir dental yüzey durum geçişi (\textit{real-time visual state transition}) sağlamakta, kullanıcıya anlık görsel geri bildirim sunmaktadır.

\begin{figure}[htbp]
\centering
\framebox[\textwidth]{\rule{0pt}{5.5cm}\parbox{0.85\textwidth}{\centering
\textit{[Şekil 2.7: Oyun İçi Diş Temizleme Ekranı]}\\[6pt]
Kalkülüs yüzeyinden temiz diş yüzeyine geçişin\\gerçek zamanlı görsel temsili
}}
\caption{DentClear simülasyonunda dinamik tekstür geçiş sistemi: Kalkülüs birikintisinden sağlıklı diş yüzeyine gerçek zamanlı material blending ile gerçekleştirilen görsel durum geçişi.}
\label{fig:temizleme_ekran}
\end{figure}

\section{Gerçek Zamanlı Kullanıcı Arayüzü ve Geri Bildirim Sistemi}
\label{sec:ui_sistem}

\subsection{In-VR Performans Göstergesi Paneli}
\label{subsec:ui_panel}

Kullanıcıya gerçek zamanlı klinik geri bildirim sunmak amacıyla, sanal ortamda kullanıcının görüş alanı içinde konumlandırılmış bir performans analitiği paneli tasarlanmıştır. Bu panel şu metrikleri eş zamanlı olarak görüntülemektedir:

\begin{itemize}
    \item \textbf{Scaler Açısı (°):} Anlık scaler-diş açısının nümerik ve renk kodlu gösterimi (yeşil: optimal, sarı: kabul edilebilir, kırmızı: hatalı).
    \item \textbf{Temizlik Yüzdesi (\%):} Tüm diş yüzeyi segmentlerinin temizlenme oranını gösteren ilerleme çubuğu.
    \item \textbf{Doğru Açı Yüzdesi (\%):} Toplam temas süresinin optimal açı aralığında geçirilen kısmının oranı.
    \item \textbf{Anlık Performans Skoru:} Ağırlıklı temizlik verimi ve açı doğruluğunu birleştiren kompozit skor.
    \item \textbf{Oturum Süresi:} Geçen toplam süre.
\end{itemize}

\subsection{Prosedürel Eğitim Metrikleri}
\label{subsec:egitim_metrikleri}

Simülasyon; bireysel eğitim seyrini değerlendirmek üzere aşağıdaki prosedürel metrikleri kayıt altına almaktadır:

\begin{equation}
    S_{\text{temizlik}} = \frac{N_{\text{temizlenen}}}{N_{\text{toplam}}} \times 100\%
\end{equation}

\begin{equation}
    S_{\text{açı}} = \frac{t_{\text{optimal}}}{t_{\text{toplam temas}}} \times 100\%
\end{equation}

\begin{equation}
    S_{\text{kompozit}} = 0.6 \cdot S_{\text{temizlik}} + 0.4 \cdot S_{\text{açı}}
\end{equation}

Bu metrikler; eğitimin sonunda kapsamlı bir oturum raporu olarak sunulmakta ve öğrencinin gelişimini takip etmek amacıyla sisteme kaydedilmektedir.

\subsection{Görsel ve İşitsel Geri Bildirim Mekanizmaları}
\label{subsec:geribildirim}

Simülasyonun eğitimsel etkinliğini artırmak amacıyla çoklu modalitede geri bildirim mekanizmaları entegre edilmiştir:

\begin{itemize}
    \item \textbf{Renk Kodlu Açı Göstergesi:} Anlık scaler açısı yeşil/sarı/kırmızı renk geçişleriyle görselleştirilmektedir.
    \item \textbf{Yüzey Parlama Efekti:} Diş segmenti tam temizlendiğinde beyaz parlak materyal ile kısa süreli \textit{highlight} animasyonu tetiklenmektedir.
    \item \textbf{Ses Geri Bildirimi:} Scaler-diş temasında kazıma sesi; başarılı temizlemede onay tonu; hatalı açı uyarısında düşük frekanslı uyarı sesi üretilmektedir.
    \item \textbf{Eğitim Tamamlama Paneli:} Oturum sonunda tüm metrikler özet tablo halinde sunulmaktadır.
\end{itemize}

\begin{figure}[htbp]
\centering
\framebox[\textwidth]{\rule{0pt}{5.5cm}\parbox{0.85\textwidth}{\centering
\textit{[Şekil 2.8: Sistem Mimarisi ve Veri Akış Diyagramı]}\\[6pt]
Tracker $\rightarrow$ Transform $\rightarrow$ Collision $\rightarrow$ Angle Analysis $\rightarrow$\\Texture Update $\rightarrow$ UI Feedback zincirini gösteren akış şeması
}}
\caption{DentClear sistem veri akış diyagramı: Tracker girdisinden kullanıcı geri bildirimine kadar gerçek zamanlı işlem zincirinin tüm katmanları.}
\label{fig:veri_akis}
\end{figure}
