@jjlmoya/utils-forensic-science 1.1.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/package.json +3 -2
  2. package/src/category/i18n/es.ts +9 -9
  3. package/src/category/index.ts +3 -1
  4. package/src/entries.ts +5 -1
  5. package/src/index.ts +1 -0
  6. package/src/tests/locale_completeness.test.ts +2 -2
  7. package/src/tests/tool_validation.test.ts +2 -2
  8. package/src/tool/bloodstain-pattern-origin-analyzer/bibliography.astro +9 -0
  9. package/src/tool/bloodstain-pattern-origin-analyzer/bibliography.ts +7 -0
  10. package/src/tool/bloodstain-pattern-origin-analyzer/bloodstain-pattern-origin-analyzer.css +438 -0
  11. package/src/tool/bloodstain-pattern-origin-analyzer/component.astro +558 -0
  12. package/src/tool/bloodstain-pattern-origin-analyzer/entry.ts +32 -0
  13. package/src/tool/bloodstain-pattern-origin-analyzer/i18n/de.ts +119 -0
  14. package/src/tool/bloodstain-pattern-origin-analyzer/i18n/en.ts +119 -0
  15. package/src/tool/bloodstain-pattern-origin-analyzer/i18n/es.ts +119 -0
  16. package/src/tool/bloodstain-pattern-origin-analyzer/i18n/fr.ts +119 -0
  17. package/src/tool/bloodstain-pattern-origin-analyzer/i18n/id.ts +119 -0
  18. package/src/tool/bloodstain-pattern-origin-analyzer/i18n/it.ts +119 -0
  19. package/src/tool/bloodstain-pattern-origin-analyzer/i18n/ja.ts +119 -0
  20. package/src/tool/bloodstain-pattern-origin-analyzer/i18n/ko.ts +119 -0
  21. package/src/tool/bloodstain-pattern-origin-analyzer/i18n/nl.ts +119 -0
  22. package/src/tool/bloodstain-pattern-origin-analyzer/i18n/pl.ts +119 -0
  23. package/src/tool/bloodstain-pattern-origin-analyzer/i18n/pt.ts +119 -0
  24. package/src/tool/bloodstain-pattern-origin-analyzer/i18n/ru.ts +119 -0
  25. package/src/tool/bloodstain-pattern-origin-analyzer/i18n/sv.ts +119 -0
  26. package/src/tool/bloodstain-pattern-origin-analyzer/i18n/tr.ts +119 -0
  27. package/src/tool/bloodstain-pattern-origin-analyzer/i18n/zh.ts +119 -0
  28. package/src/tool/bloodstain-pattern-origin-analyzer/index.ts +11 -0
  29. package/src/tool/bloodstain-pattern-origin-analyzer/logic.test.ts +23 -0
  30. package/src/tool/bloodstain-pattern-origin-analyzer/logic.ts +137 -0
  31. package/src/tool/bloodstain-pattern-origin-analyzer/seo.astro +10 -0
  32. package/src/tools.ts +3 -1
@@ -0,0 +1,119 @@
1
+ import { bibliography } from '../bibliography';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+
4
+ const slug = 'alat-analisis-asal-pola-bercak-darah';
5
+ const title = '3D Alat Analisis Asal Pola Bercak Darah';
6
+ const description = 'Modelkan bercak darah elips pada bidang vertikal, estimasi sudut benturan, dan visualisasikan proyeksi lintasan dalam adegan 3D interaktif.';
7
+
8
+ const howTo = [
9
+ { name: 'Masukkan atau sesuaikan bercak', text: 'Gunakan tabel atau permukaan 2D untuk menentukan posisi, lebar, panjang, dan orientasi sumbu panjang dari setiap bercak.' },
10
+ { name: 'Tinjau sudut benturan', text: 'Kalkulator memperkirakan sudut benturan dari rasio lebar-terhadap-panjang menggunakan hubungan arksinus.' },
11
+ { name: 'Periksa konvergensi 3D', text: 'Putar viewport untuk membandingkan proyeksi lintasan dan estimasi bola titik asal.' },
12
+ { name: 'Periksa ketidakpastian', text: 'Gunakan nilai sebaran sebagai indikator peringatan praktis: pemisahan garis yang lebar berarti titik asal yang dipetakan kurang stabil.' },
13
+ ];
14
+
15
+ const faq = [
16
+ { question: 'Apakah alat peramban dapat menentukan sumber pertumpahan darah yang sebenarnya?', answer: 'Tidak. Alat ini dapat mengajarkan dan menyaring hubungan geometris, tetapi kesimpulan kasus memerlukan metode tervalidasi, dokumentasi tempat kejadian perkara, kalibrasi skala, dan analisis pola bercak darah yang memenuhi syarat.' },
17
+ { question: 'Mengapa sudut benturan dihitung dari lebar dan panjang?', answer: 'Untuk bercak elips yang ideal, sinus dari sudut benturan didekati dengan lebar dibagi panjang. Bercak nyata dapat terdistorsi oleh tekstur permukaan, aliran, transfer, atau kesalahan pengukuran.' },
18
+ { question: 'Apa yang diwakili oleh bola titik asal 3D?', answer: 'Ini adalah estimasi konvergensi kuadrat terkecil di antara proyeksi garis lintasan, bukan sumber titik yang dijamin.' },
19
+ ];
20
+
21
+ export const content: ToolLocaleContent = {
22
+ slug,
23
+ title,
24
+ description,
25
+ ui: {
26
+ metric: 'Metrik',
27
+ imperial: 'Imperial',
28
+ unitsLabel: 'Unit',
29
+ addStain: 'Tambah bercak',
30
+ reset: 'Atur Ulang',
31
+ surface: 'Permukaan benturan',
32
+ viewport3dLabel: 'Viewport lintasan 3D',
33
+ stainLabel: 'Bercak',
34
+ table: 'Pengukuran',
35
+ origin: 'Estimasi asal',
36
+ spread: 'Sebaran garis',
37
+ confidence: 'Keyakinan',
38
+ impact: 'Sudut benturan',
39
+ high: 'Tinggi',
40
+ medium: 'Sedang',
41
+ low: 'Rendah',
42
+ x: 'X',
43
+ y: 'Y',
44
+ width: 'Lebar',
45
+ length: 'Panjang',
46
+ rotation: 'Rotasi',
47
+ remove: 'Hapus',
48
+ cm: 'cm',
49
+ inch: 'in',
50
+ degree: 'derajat',
51
+ rotateHint: 'Seret tampilan 3D untuk memutar rekonstruksi.',
52
+ disclaimer: 'Hanya rekonstruksi pendidikan. Tafsirkan dengan pengukuran tempat kejadian yang divalidasi dan ketidakpastian yang didokumentasikan.',
53
+ },
54
+ seo: [
55
+ { type: 'title', text: 'Cara Kerja 3D Alat Analisis Asal Pola Bercak Darah', level: 2 },
56
+ { type: 'paragraph', html: 'Alat analisis asal pola bercak darah membantu pengguna menjelajahi salah satu pertanyaan geometris inti dalam analisis pola bercak darah: <strong>di mana dalam ruang sumber darah berada ketika tetesan menabrak permukaan?</strong> Alat ini memodelkan bercak sebagai elips pada bidang vertikal, menghitung sudut benturan dari setiap rasio lebar-ke-panjang, memproyeksikan lintasan ke belakang ke dalam adegan 3D, dan memperkirakan wilayah konvergensi praktis.' },
57
+ { type: 'diagnostic', variant: 'warning', title: 'Peringatan forensik', html: 'Hasilnya adalah bantuan rekonstruksi, bukan kesimpulan kasus. Bercak nyata dapat dipengaruhi oleh tekstur target, bercak satelit, pembekuan, aliran, pembersihan, transfer, kesalahan perspektif, dan dokumentasi skala yang tidak lengkap.' },
58
+ { type: 'stats', columns: 3, items: [
59
+ { value: 'asin(W/L)', label: 'Formula sudut benturan' },
60
+ { value: '3+', label: 'Bercak independen yang disarankan' },
61
+ { value: '3D', label: 'Ruang konvergensi lintasan' },
62
+ ] },
63
+ { type: 'title', text: 'Formula Sudut Benturan', level: 3 },
64
+ { type: 'paragraph', html: 'Untuk bercak elips sederhana, sudut benturan biasanya didekati sebagai <strong>arcsin(lebar / panjang)</strong>. Bercak yang diukur dengan lebar 1 cm dan panjang 2 cm menghasilkan sudut benturan 30 derajat. Hubungan itu berguna karena mengubah tanda datar menjadi elevasi lintasan, tetapi dengan asumsi bercak yang diukur representatif dan tidak terdistorsi.' },
65
+ { type: 'code', ariaLabel: 'Perhitungan sudut benturan', code: 'sudut benturan = arcsin(lebar bercak / panjang bercak)\ncontoh: arcsin(1 cm / 2 cm) = 30 derajat' },
66
+ { type: 'paragraph', html: 'Ini adalah niat pencarian umum di balik kueri seperti <em>kalkulator sudut benturan bercak darah</em>, <em>rumus sudut benturan cipratan darah</em>, dan <em>cara menghitung lintasan bercak darah</em>. Poin pentingnya adalah rumus tersebut hanya menjawab satu bagian dari rekonstruksi. Rumus ini memperkirakan elevasi perjalanan relatif terhadap permukaan target; tidak dengan sendirinya mengidentifikasi sumber, mekanisme, senjata, atau urutan kejadian.' },
67
+ { type: 'title', text: 'Cara Mengukur Bercak Sebelum Memasukkan Data', level: 3 },
68
+ { type: 'paragraph', html: 'Input yang paling berguna berasal dari foto tegak lurus terkalibrasi atau pengukuran tempat kejadian langsung. Ukur badan elips utama dari bercak, bukan satelit, ekor, tanda aliran, atau bercak sekunder. Lebar harus diambil di sepanjang sumbu pendek dan panjang di sepanjang sumbu panjang. Rotasi harus mengikuti arah sumbu panjang pada bidang target. Kesalahan kecil dalam panjang, lebar, atau orientasi dapat menggeser proyeksi lintasan dalam jumlah besar setelah diperluas ke ruang 3D.' },
69
+ { type: 'table', headers: ['Kualitas pengukuran', 'Kemungkinan efek', 'Tanggapan praktis'], rows: [
70
+ ['Sumbu panjang jelas', 'Rotasi lebih andal', 'Gunakan sumbu panjang yang terlihat dan dokumentasikan metode orientasi.'],
71
+ ['Lebar atau panjang terdistorsi', 'Sudut benturan mungkin bias', 'Tandai ketidakpastian dan bandingkan dengan bercak tetangga.'],
72
+ ['Sedikit bercak yang konvergen', 'Estimasi asal menjadi tidak stabil', 'Tambahkan bercak independen sebelum menafsirkan asal 3D.'],
73
+ ['Skala hilang', 'Semua jarak menjadi ilustrasi saja', 'Jangan melaporkan koordinat asal dunia nyata tanpa kalibrasi.'],
74
+ ] },
75
+ { type: 'title', text: 'Membaca Konvergensi 3D', level: 3 },
76
+ { type: 'paragraph', html: 'Bola asal dalam alat ini dihitung sebagai titik yang terletak paling dekat dengan semua proyeksi garis lintasan. Ketika garis lewat di dekat satu sama lain, nilai sebaran kecil dan keyakinan meningkat. Ketika garis menyimpang, bola masih muncul, tetapi harus dibaca sebagai kompromi kuadrat terkecil yang lemah daripada sumber yang tepat.' },
77
+ { type: 'comparative', columns: 2, items: [
78
+ { title: 'Area konvergensi', description: 'Estimasi dua dimensi pada bidang target, sering digunakan untuk melihat di mana arah sumbu panjang bertemu jika dilihat dari depan.', points: ['Berguna untuk penyaringan tahap pertama', 'Tidak mewakili tinggi vertikal dengan sendirinya'] },
79
+ { title: 'Area atau volume asal', description: 'Estimasi tiga dimensi yang menggabungkan arah pada bidang dengan sudut benturan untuk memproyeksikan lintasan ke dalam ruang.', highlight: true, points: ['Menjelaskan kemungkinan tinggi sumber', 'Sensitif terhadap ketidakpastian pengukuran dan sudut'] },
80
+ ] },
81
+ { type: 'paragraph', html: 'Pengguna sering mencari <em>kalkulator titik asal cipratan darah</em> mengharapkan satu koordinat tepat. Dalam praktiknya, penafsiran yang baik lebih hati-hati. Titik asal lebih baik dipahami sebagai wilayah yang didukung oleh beberapa lintasan. Jika garis yang dipetakan membentuk bundel yang rapat, modelnya lebih koheren. Jika mereka melewati volume yang luas, rekonstruksi memberi tahu Anda bahwa pengukuran, pemilihan bercak, atau asumsi memerlukan peninjauan.' },
82
+ { type: 'title', text: 'Alasan Umum Lintasan Tidak Bertemu', level: 3 },
83
+ { type: 'proscons', title: 'Input kuat vs input lemah', items: [
84
+ { pro: 'Beberapa bercak elips yang terbentuk dengan baik dengan sumbu panjang yang jelas', con: 'Hanya satu atau dua bercak, atau bercak yang dipilih karena tampaknya sesuai dengan teori' },
85
+ { pro: 'Pengukuran terkalibrasi yang diambil tegak lurus terhadap permukaan benturan', con: 'Foto miring, skala tidak diketahui, atau tangkapan layar yang disalin' },
86
+ { pro: 'Bercak independen dari mekanisme kejadian yang sama', con: 'Campuran tetesan pasif, bercak transfer, cipratan ayunan, aliran, atau pola benturan sekunder' },
87
+ ] },
88
+ { type: 'paragraph', html: 'Konvergensi yang buruk tidak secara otomatis berarti alat tersebut salah. Ini mungkin berarti bercak tidak termasuk dalam pola yang sama, foto terdistorsi perspektif, sumbu panjang salah dibaca, bercak bukan elips yang bersih, atau kejadian fisik lebih kompleks daripada model sumber titik sederhana. Itu adalah informasi yang berharga. Alat rekonstruksi harus mengekspos ketidaksepakatan alih-alih menyembunyikannya di balik angka yang tampak yakin.' },
89
+ { type: 'title', text: 'Kegunaan Alat Ini', level: 3 },
90
+ { type: 'list', items: [
91
+ '<strong>Gunakan beberapa bercak:</strong> tiga atau lebih bercak independen memberikan estimasi konvergensi yang lebih bermakna.',
92
+ '<strong>Perhatikan sebaran:</strong> sebaran yang tinggi memperingatkan bahwa garis-garis tersebut tidak sesuai erat dalam 3D.',
93
+ '<strong>Pertahankan skala:</strong> nilai sentimeter atau inci harus berasal dari foto terkalibrasi atau pengukuran adegan.',
94
+ '<strong>Pisahkan pengajaran dari pelaporan:</strong> visualisasi ini paling baik untuk pendidikan, perencanaan, dan penjelasan sebelum peninjauan formal.',
95
+ ] },
96
+ { type: 'card', title: 'Alur kerja terbaik', html: 'Mulailah dengan memplot sekumpulan kecil bercak berkualitas tinggi. Periksa apakah arah sumbu panjang 2D masuk akal secara visual. Kemudian periksa lintasan 3D, perhatikan sebaran, dan ubah satu pengukuran pada satu waktu untuk melihat bercak mana yang mendorong rekonstruksi. Pemeriksaan sensitivitas itu sering kali lebih berguna daripada koordinat asal mentah.' },
97
+ { type: 'title', text: 'Kapan Tidak Mengandalkan Estimasi Asal Bercak Darah', level: 3 },
98
+ { type: 'paragraph', html: 'Jangan mengandalkan estimasi asal yang sederhana ketika bercak sangat terdistorsi, permukaan target melengkung atau tidak beraturan, polanya mencakup transfer atau darah yang dikeluarkan karena bernapas, permukaan dipindahkan, atau tempat kejadian tidak memiliki skala yang andal. Peringatan yang sama berlaku ketika bercak berasal dari mekanisme yang berbeda atau momen yang berbeda dalam kejadian. Visualisasi 3D yang tampak bersih masih bisa menyesatkan jika pola input tidak cocok untuk rekonstruksi geometris.' },
99
+ { type: 'glossary', items: [
100
+ { term: 'Sudut benturan', definition: 'Estimasi sudut antara jalur tetesan dan permukaan target, biasanya dihitung dari rasio lebar-ke-panjang bercak elips.' },
101
+ { term: 'Garis lintasan', definition: 'Garis yang diproyeksikan menunjukkan kemungkinan jalur mundur perjalanan dari bercak ke ruang tiga dimensi.' },
102
+ { term: 'Area konvergensi', definition: 'Wilayah perkiraan tempat arah bercak berpotongan saat dilihat pada bidang target.' },
103
+ { term: 'Area asal', definition: 'Wilayah tiga dimensi perkiraan tempat darah mungkin berasal, berdasarkan beberapa proyeksi lintasan.' },
104
+ ] },
105
+ { type: 'summary', title: 'Penggunaan terbaik', items: [
106
+ 'Gunakan penganalisis untuk memahami geometri lintasan dan menguji sensitivitas pengukuran.',
107
+ 'Bandingkan bola asal dengan nilai sebaran sebelum mempercayai rekonstruksi.',
108
+ 'Jangan gunakan visualisasi sebagai opini forensik yang berdiri sendiri.',
109
+ ] },
110
+ ],
111
+ faq,
112
+ bibliography,
113
+ howTo,
114
+ schemas: [
115
+ { '@context': 'https://schema.org', '@type': 'SoftwareApplication', name: title, description, applicationCategory: 'ForensicApplication', operatingSystem: 'Any' },
116
+ { '@context': 'https://schema.org', '@type': 'FAQPage', mainEntity: faq.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })) },
117
+ { '@context': 'https://schema.org', '@type': 'HowTo', name: title, step: howTo.map((step) => ({ '@type': 'HowToStep', name: step.name, text: step.text })) },
118
+ ],
119
+ };
@@ -0,0 +1,119 @@
1
+ import { bibliography } from '../bibliography';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+
4
+ const slug = 'simulatore-origine-traiettoria-macchie-sangue';
5
+ const title = 'Simulatore tridimensionale dell origine di traiettoria delle macchie di sangue';
6
+ const description = 'Modella macchie di sangue ellittiche su un piano verticale, stima gli angoli di impatto e visualizza le traiettorie proiettate in una scena 3D interattiva.';
7
+
8
+ const howTo = [
9
+ { name: 'Inserisci o regola le macchie', text: 'Usa la tabella o la superficie 2D per definire la posizione, la larghezza, la lunghezza e l orientamento dell asse maggiore di ciascuna macchia.' },
10
+ { name: 'Verifica gli angoli di impatto', text: 'Il calcolatore stima l angolo di impatto dal rapporto larghezza/lunghezza utilizzando la funzione arcoseno.' },
11
+ { name: 'Ispeziona la convergenza 3D', text: 'Ruota la vista per confrontare le traiettorie proiettate e la sfera di origine stimata.' },
12
+ { name: 'Controlla l incertezza', text: 'Usa il valore di dispersione come indicatore di avvertimento pratico: una separazione ampia delle linee indica che l origine tracciata è meno stabile.' },
13
+ ];
14
+
15
+ const faq = [
16
+ { question: 'Uno strumento web può determinare la reale origine del flusso sanguigno?', answer: 'No. Può insegnare e valutare le relazioni geometriche, ma le conclusioni su un caso reale richiedono metodi convalidati, documentazione della scena, calibrazione della scala e analisi qualificata delle tracce ematiche.' },
17
+ { question: 'Perché l angolo di impatto viene calcolato da larghezza e lunghezza?', answer: 'Per una macchia ellittica ideale, il seno dell angolo di impatto è approssimato dividendo la larghezza per la lunghezza. Le macchie reali possono essere distorte dalla consistenza della superficie, dal flusso, dal trasferimento o da errori di misurazione.' },
18
+ { question: 'Cosa rappresenta la sfera di origine 3D?', answer: 'Rappresente la stima di convergenza dei minimi quadrati tra le linee di traiettoria proiettate, non una sorgente puntiforme garantita.' },
19
+ ];
20
+
21
+ export const content: ToolLocaleContent = {
22
+ slug,
23
+ title,
24
+ description,
25
+ ui: {
26
+ metric: 'Metrico',
27
+ imperial: 'Imperiale',
28
+ unitsLabel: 'Unità',
29
+ addStain: 'Aggiungi macchia',
30
+ reset: 'Reimposta',
31
+ surface: 'Superficie di impatto',
32
+ viewport3dLabel: 'Area di visualizzazione 3D',
33
+ stainLabel: 'Macchia',
34
+ table: 'Misurazioni',
35
+ origin: 'Origine stimata',
36
+ spread: 'Dispersione delle linee',
37
+ confidence: 'Confidenza',
38
+ impact: 'Angolo di impatto',
39
+ high: 'Alta',
40
+ medium: 'Media',
41
+ low: 'Bassa',
42
+ x: 'X',
43
+ y: 'Y',
44
+ width: 'Larghezza',
45
+ length: 'Lunghezza',
46
+ rotation: 'Rotazione',
47
+ remove: 'Rimuovi',
48
+ cm: 'cm',
49
+ inch: 'in',
50
+ degree: 'gradi',
51
+ rotateHint: 'Trascina la vista 3D per ruotare la ricostruzione.',
52
+ disclaimer: 'Ricostruzione solo a scopo didattico. Interpreta con misurazioni della scena convalidate e incertezza documentata.',
53
+ },
54
+ seo: [
55
+ { type: 'title', text: 'Come funziona un analizzatore 3D dell origine delle macchie di sangue', level: 2 },
56
+ { type: 'paragraph', html: 'Un analizzatore dell origine delle macchie di sangue aiuta gli utenti a esplorare una delle domande geometriche fondamentali nell analisi delle macchie di sangue: <strong>dove nello spazio potrebbe essersi trovata la sorgente di sangue quando le goccioline hanno colpito una superficie?</strong> Questo strumento modella le macchie come ellissi su un piano verticale, calcola un angolo di impatto dal rapporto tra larghezza e lunghezza di ciascuna, proietta le traiettorie all indietro in una scena 3D e stima una regione di convergenza pratica.' },
57
+ { type: 'diagnostic', variant: 'warning', title: 'Avvertenza forense', html: 'Il risultato è un ausilio per la ricostruzione, non la conclusione di un caso. Le macchie reali possono essere influenzate dalla struttura del supporto, spruzzi secondari, coagulazione, flusso, pulizia, trasferimento, errori di prospettiva e documentazione incompleta della scala.' },
58
+ { type: 'stats', columns: 3, items: [
59
+ { value: 'asin(W/L)', label: 'Formula dell angolo di impatto' },
60
+ { value: '3+', label: 'Macchie indipendenti consigliate' },
61
+ { value: '3D', label: 'Spazio di convergenza delle traiettorie' },
62
+ ] },
63
+ { type: 'title', text: 'Formula dell angolo di impatto', level: 3 },
64
+ { type: 'paragraph', html: 'Per una macchia ellittica semplice, l angolo di impatto viene comunemente approssimato come <strong>arcsin(larghezza / lunghezza)</strong>. Una macchia larga 1 cm e lunga 2 cm produce quindi un angolo di impatto di 30 gradi. Questa relazione è utile perché converte un segno piatto in un inclinazione della traiettoria, ma presuppone che la macchia misurata sia rappresentativa e non distorta.' },
65
+ { type: 'code', ariaLabel: 'Calcolo dell angolo di impatto', code: 'angolo di impatto = arcsin(larghezza macchia / lunghezza macchia)\nesempio: arcsin(1 cm / 2 cm) = 30 gradi' },
66
+ { type: 'paragraph', html: 'Questa è una comune intenzione di ricerca dietro a query come <em>calcolatore dell angolo di impatto delle macchie di sangue</em>, <em>formula dell angolo di impatto degli spruzzi di sangue</em> e <em>come calcolare la traiettoria delle macchie di sangue</em>. Il punto cruciale è che la formula risponde solo a una parte della ricostruzione. Stima l elevazione del percorso rispetto alla superficie di impatto; non identifica da sola la sorgente, il meccanismo, l arma o la sequenza degli eventi.' },
67
+ { type: 'title', text: 'Come misurare le macchie prima di inserire i dati', level: 3 },
68
+ { type: 'paragraph', html: 'I dati più utili provengono da fotografie perpendicolari calibrate o da misurazioni dirette della scena. Misura il corpo ellittico principale della macchia, non gli spruzzi secondari, le code, i segni di scorrimento o le macchie secondarie. La larghezza deve essere misurata lungo l asse minore e la lunghezza lungo l asse maggiore. La rotazione deve seguire la direzione dell asse maggiore sul piano di impatto. Piccoli errori in lunghezza, larghezza o orientamento possono deviare notevolmente la traiettoria proiettata una volta estesa nello spazio 3D.' },
69
+ { type: 'table', headers: ['Qualità delle misurazioni', 'Effetto probabile', 'Risposta pratica'], rows: [
70
+ ['L asse maggiore è chiaro', 'La rotazione è più affidabile', 'Usa l asse maggiore visibile e documenta il metodo di orientamento.'],
71
+ ['La larghezza o la lunghezza è distorta', 'L angolo di impatto può essere influenzato', 'Segnala l incertezza e confronta con le macchie vicine.'],
72
+ ['Poche macchie convergono', 'La stima dell origine diventa instabile', 'Aggiungi macchie indipendenti prima di interpretare l origine 3D.'],
73
+ ['Manca la scala', 'Tutte le distanze diventano puramente illustrative', 'Non riportare coordinate reali dell origine senza calibrazione.'],
74
+ ] },
75
+ { type: 'title', text: 'Lettura della convergenza 3D', level: 3 },
76
+ { type: 'paragraph', html: 'La sfera di origine in questo strumento è calcolata come il punto più vicino a tutte le linee di traiettoria proiettate. Quando le linee passano vicine l una all altra, il valore di dispersione è piccolo e la confidenza migliora. Quando le linee divergono, la sfera appare comunque, ma deve essere interpretata come un debole compromesso dei minimi quadrati piuttosto che come una sorgente precisa.' },
77
+ { type: 'comparative', columns: 2, items: [
78
+ { title: 'Area di convergenza', description: 'Una stima bidimensionale sul piano di impatto, spesso utilizzata per visualizzare dove si intersecano le direzioni degli assi maggiori se viste di fronte.', points: ['Utile per una prima valutazione', 'Non rappresenta la altezza verticale da sola'] },
79
+ { title: 'Area o volume di origine', description: 'Una stima tridimensionale che combina la direzione sul piano con l angolo di impatto per proiettare le traiettorie nello spazio.', highlight: true, points: ['Spiega la possibile altezza della sorgente', 'Sensibile all incertezza delle misurazioni e dell angolo'] },
80
+ ] },
81
+ { type: 'paragraph', html: 'Gli utenti cercano spesso un <em>calcolatore del punto di origine degli spruzzi di sangue</em> aspettandosi una singola coordinata esatta. In pratica, una corretta interpretazione richiede cautela. L origine è meglio compresa come una regione supportata da più traiettorie. Se le linee tracciate formano un fascio stretto, il modello è più coerente. Se passano attraverso un volume ampio, la ricostruzione indica che le misurazioni, la selezione delle macchie o le ipotesi necessitano di una revisione.' },
82
+ { type: 'title', text: 'Motivi comuni per cui le traiettorie non si incontrano', level: 3 },
83
+ { type: 'proscons', title: 'Dati di input affidabili vs dati di input incerti', items: [
84
+ { pro: 'Diverse macchie ellittiche ben formate con assi maggiori chiari', con: 'Solo una o due macchie, o macchie selezionate perché sembrano adattarsi a una teoria preconcetta' },
85
+ { pro: 'Misurazioni calibrate prese perpendicolarmente alla superficie di impatto', con: 'Foto oblique, scala sconosciuta o schermate copiate' },
86
+ { pro: 'Macchie indipendenti dallo stesso meccanismo dell evento', con: 'Gocciolamento passivo misto, macchie da trasferimento, spruzzi da retroproiezione, scorrimento o impatti secondari' },
87
+ ] },
88
+ { type: 'paragraph', html: 'Una convergenza debole non significa automaticamente che lo strumento sia difettoso. Può significare che le macchie non appartengono allo stesso schema, la fotografia è distorta dalla prospettiva, l asse maggiore è stato letto male, la macchia non è un ellisse pulita o l evento fisico è più complesso di un semplice modello a sorgente puntiforme. Questa è un informazione preziosa. Uno strumento di ricostruzione deve mostrare i disaccordi invece di nasconderli dietro un numero apparentemente sicuro.' },
89
+ { type: 'title', text: 'A cosa serve questo strumento', level: 3 },
90
+ { type: 'list', items: [
91
+ '<strong>Usa più macchie:</strong> tre o più macchie indipendenti forniscono una stima di convergenza più significativa.',
92
+ '<strong>Osserva la dispersione:</strong> una dispersione elevata avverte che le traiettorie non concordano da vicino in 3D.',
93
+ '<strong>Conserva la scala:</strong> i valori in centimetri o pollici devono provenire da fotografie calibrate o misurazioni della scena.',
94
+ '<strong>Separa la didattica dai rapporti formali:</strong> questa visualizzazione è ideale per la formazione, la pianificazione e le spiegazioni prima di un esame formale.',
95
+ ] },
96
+ { type: 'card', title: 'Flusso di lavoro raccomandato', html: 'Inizia tracciando un piccolo set di macchie di alta qualità. Verifica se le direzioni degli assi maggiori in 2D hanno un senso visivo. Ispeziona quindi le traiettorie 3D, nota la dispersione e modifica una misurazione alla volta per vedere come ciascuna macchia influenza la ricostruzione. Questa analisi di sensibilità è spesso più utile rispetto alla semplice coordinata di origine grezza.' },
97
+ { type: 'title', text: 'Quando non affidarsi a una stima dell origine delle macchie di sangue', level: 3 },
98
+ { type: 'paragraph', html: 'Non affidarti a una stima semplice dell origine quando le macchie sono fortemente distorte, la superficie di impatto è curva o irregolare, il modello include macchie da trasferimento o sangue espirato proiettato, la superficie è stata spostata o la scena manca di una scala affidabile. La stessa cautela si applica quando le macchie provengono da meccanismi diversi o momenti distinti dell evento. Una visualizzazione 3D apparentemente pulita può essere fuorviante se il modello di input non è adatto per una ricostruzione geometrica.' },
99
+ { type: 'glossary', items: [
100
+ { term: 'Angolo di impatto', definition: 'L angolo stimato tra la traiettoria della goccia e la superficie di impatto, comunemente calcolato dal rapporto larghezza/lunghezza di una macchia ellittica.' },
101
+ { term: 'Linea di traiettoria', definition: 'Una linea proiettata che mostra un possibile percorso inverso da una macchia verso lo spazio tridimensionnel.' },
102
+ { term: 'Area di convergenza', definition: 'La regione approssimativa in cui si intersecano le direzioni delle macchie quando proiettate sul piano di impatto.' },
103
+ { term: 'Area di origine', definition: 'La regione tridimensionale approssimativa da cui potrebbe provenire il sangue, basata su più traiettorie proiettate.' },
104
+ ] },
105
+ { type: 'summary', title: 'Uso ottimale', items: [
106
+ 'Usa l analizzatore per comprendere la geometria delle traiettorie e testare la sensibilità delle misurazioni.',
107
+ 'Confronta la sfera di origine con il valore di dispersione prima di affidarti a una ricostruzione.',
108
+ 'Non utilizzare la visualizzazione come una perizia forense autonoma.',
109
+ ] },
110
+ ],
111
+ faq,
112
+ bibliography,
113
+ howTo,
114
+ schemas: [
115
+ { '@context': 'https://schema.org', '@type': 'SoftwareApplication', name: title, description, applicationCategory: 'ForensicApplication', operatingSystem: 'Any' },
116
+ { '@context': 'https://schema.org', '@type': 'FAQPage', mainEntity: faq.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })) },
117
+ { '@context': 'https://schema.org', '@type': 'HowTo', name: title, step: howTo.map((step) => ({ '@type': 'HowToStep', name: step.name, text: step.text })) },
118
+ ],
119
+ };
@@ -0,0 +1,119 @@
1
+ import { bibliography } from '../bibliography';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+
4
+ const slug = 'bloodstain-pattern-origin-analyzer';
5
+ const title = '3D血痕パターン起点分析シミュレーター';
6
+ const description = '垂直面上の楕円形血痕をモデル化し、衝突角度を推定して、インタラクティブな3Dシーンで投影された軌道を可視化します。';
7
+
8
+ const howTo = [
9
+ { name: '血痕の入力と調整', text: '表または2D平面を使用して、各血痕の位置、幅、長さ、および長軸方向を定義します。' },
10
+ { name: '衝突角度の確認', text: '計算ツールは、アークサイン(逆正弦)関係を用いて、幅と長さの比率から衝突角度を推定します。' },
11
+ { name: '3D収束の検査', text: 'ビューポートを回転させて、投影された軌道と推定された起点球体を比較します。' },
12
+ { name: '不確実性の検証', text: 'ばらつき(スプレッド)値を実用的な警告指標として使用します。描画された起点の安定性が低い場合、線と線の間隔が広がります。' },
13
+ ];
14
+
15
+ const faq = [
16
+ { question: 'ブラウザツールで実際の流血の真の発生源を特定できますか?', answer: 'いいえ。幾何学的な関係性を学習・評価することはできますが、実務上の結論には、検証済みの手法、現場の記録、スケール(縮尺)の校正、および有資格者による血痕パターン分析が必要です。' },
17
+ { question: 'なぜ幅と長さから衝突角度を計算するのですか?', answer: '理想的な楕円形血痕の場合、衝突角度の正弦(サイン)は、幅を長さで割った値で近似されます。実際の血痕は、対象面の質感、流動、転写、または測定誤差によって歪むことがあります。' },
18
+ { question: '3D起点球体は何を表していますか?', answer: 'これは、投影された軌道線間の最小二乗収束推定値であり、保証された点光源(正確な起点)ではありません。' },
19
+ ];
20
+
21
+ export const content: ToolLocaleContent = {
22
+ slug,
23
+ title,
24
+ description,
25
+ ui: {
26
+ metric: 'メートル法',
27
+ imperial: 'ヤード・ポンド法',
28
+ unitsLabel: '単位',
29
+ addStain: '血痕を追加',
30
+ reset: 'リセット',
31
+ surface: '衝突面',
32
+ viewport3dLabel: '3D軌道ビューポート',
33
+ stainLabel: '血痕',
34
+ table: '測定値',
35
+ origin: '推定起点',
36
+ spread: '線のばらつき',
37
+ confidence: '信頼度',
38
+ impact: '衝突角度',
39
+ high: '高',
40
+ medium: '中',
41
+ low: '低',
42
+ x: 'X',
43
+ y: 'Y',
44
+ width: '幅',
45
+ length: '長さ',
46
+ rotation: '回転',
47
+ remove: '削除',
48
+ cm: 'cm',
49
+ inch: 'インチ',
50
+ degree: '度',
51
+ rotateHint: '3D表示をドラッグして再構築画像を回転させます。',
52
+ disclaimer: '教育用の再現に限定されます。検証済みの現場測定値と文書化された不確実性を用いて解釈してください。',
53
+ },
54
+ seo: [
55
+ { type: 'title', text: '3D血痕パターン起点分析シミュレーターの仕組み', level: 2 },
56
+ { type: 'paragraph', html: '血痕パターン起点分析ツールは、血痕パターン分析における核心的な幾何学的疑問の解明を支援します。<strong>液滴が表面に衝突したとき、空間のどこに血液源があったのか?</strong> このツールは、垂直面上の血痕を楕円としてモデル化し、それぞれの幅と長さの比から衝突角度を計算し、軌道を3D空間に逆投影して、実用的な収束領域を推定します。' },
57
+ { type: 'diagnostic', variant: 'warning', title: '法科学上の注意', html: '出力は再現の補助であり、確定的な判断を下すものではありません。実際の血痕は、対象面の質感、周囲の微細な血痕(サテライト)、凝固、流動、拭き取り、転写、遠近誤差、およびスケール記録の不備による影響を受ける可能性があります。' },
58
+ { type: 'stats', columns: 3, items: [
59
+ { value: 'asin(W/L)', label: '衝突角度の公式' },
60
+ { value: '3つ以上', label: '推奨される独立した血痕数' },
61
+ { value: '3D', label: '軌道収束空間' },
62
+ ] },
63
+ { type: 'title', text: '衝突角度の公式', level: 3 },
64
+ { type: 'paragraph', html: '単純な楕円形の血痕の場合、衝突角度は一般に <strong>arcsin(幅 / 長さ)</strong> として近似されます。したがって、幅1 cm、長さ2 cmと測定された血痕は、30度の衝突角度を生じます。この関係は、平面の痕跡を軌道の仰角へと変換できるため有用ですが、測定された血痕が代表的であり、歪んでいないことを前提としています。' },
65
+ { type: 'code', ariaLabel: '衝突角度の計算', code: '衝突角度 = arcsin(血痕の幅 / 血痕の長さ)\n例: arcsin(1 cm / 2 cm) = 30度' },
66
+ { type: 'paragraph', html: 'これは、<em>血痕衝突角度計算ツール</em>、<em>血痕飛び散り衝突角度公式</em>、および<em>血痕軌道の計算方法</em>といった検索キーワードの背景にある一般的な関心事です。重要な点は、公式が再現の一部のみを解決するということです。対象面に対する飛行角度を推定するだけであり、発生源、機序、凶器、またはイベントの順序自体を特定するものではありません。' },
67
+ { type: 'title', text: 'データ入力前の血痕の測定方法', level: 3 },
68
+ { type: 'paragraph', html: '最も有用な入力データは、位置合わせされた垂直撮影写真、または現場での直接測定から得られます。サテライト、尾部、流動痕、または二次的な血痕ではなく、血痕の主要な楕円形本体を測定してください。幅は短軸に沿って、長さは長軸に沿って測定します。回転は、衝突平面上の長軸方向に合わせる必要があります。長さ、幅、または向きのわずかな誤差でも、3D空間に引き伸ばされたときに投影される軌道を大きく移動させる可能性があります。' },
69
+ { type: 'table', headers: ['測定の品質', '起こりうる影響', '実務上の対応'], rows: [
70
+ ['長軸が明確である', '回転の信頼性が高まる', '目視可能な長軸を使用し、方向の決定方法を記録します。'],
71
+ ['幅や長さが歪んでいる', '衝突角度に偏りが生じる可能性がある', '不確実性を指摘し、隣接する血痕と比較します。'],
72
+ ['収束する血痕が少ない', '起点推定が不安定になる', '3D起点を解釈する前に、独立した血痕を追加します。'],
73
+ ['スケールが欠落している', 'すべての距離が単なる図示用となる', '校正なしで実世界の起点座標を報告しないでください。'],
74
+ ] },
75
+ { type: 'title', text: '3D収束の解読', level: 3 },
76
+ { type: 'paragraph', html: '本ツールの起点球体は、投影されたすべての軌道線に最も近い点として計算されます。線同士が互いに近くを通る場合、スプレッド値は小さくなり、信頼性が高まります。線が発散する場合でも球体は表示されますが、正確なソースではなく、緩やかな最小二乗法の妥協値として読み取る必要があります。' },
77
+ { type: 'comparative', columns: 2, items: [
78
+ { title: '収束領域', description: '正面から見たときに長軸方向が交わる場所を確認するために、衝突面上で測定される二次元の推定値。', points: ['一次スクリーニングに有用', 'それ自体は垂直方向の高さを表さない'] },
79
+ { title: '起点領域または起点体積', description: '平面上の方向と衝突角度を組み合わせて、軌道を空間に投影する三次元の推定値。', highlight: true, points: ['発生源の予想高さを特定可能', '測定および角度の不確実性に敏感'] },
80
+ ] },
81
+ { type: 'paragraph', html: 'ユーザーは、単一の正確な座標を期待して<em>血痕起点計算ツール</em>を検索することがよくあります。実際には、慎重に解釈することが求められます。起点は、複数の軌道によって裏付けられた領域として捉えるのが最善です。プロットされた線が密集した束を形成している場合、モデルの一貫性は高くなります。広い領域を通過している場合、測定値、血痕の選択、または前提条件の再検討が必要であることを意味します。' },
82
+ { type: 'title', text: '軌道が交わらない一般的な原因', level: 3 },
83
+ { type: 'proscons', title: '確実な入力 vs 不確実な入力', items: [
84
+ { pro: '長軸が明確で、整った形状の複数の楕円形血痕', con: '血痕が1、2個しかない、または仮説に適合するように選別された血痕' },
85
+ { pro: '衝突面に垂直に撮影された校正済みの測定値', con: '斜めからの写真、不明なスケール、またはコピーされたスクリーンショット' },
86
+ { pro: '同一の発生機序から生じた独立した血痕', con: '混在した受動的な落下、転写血痕、飛散血痕、流動痕、または二次的な衝突パターン' },
87
+ ] },
88
+ { type: 'paragraph', html: '収束結果が良くないからといって、ツールが間違っているとは限りません。血痕が同じパターンに属していない、写真の遠近法が歪んでいる、長軸の読み取りが誤っている、血痕がきれいな楕円でない、または物理的な事象が単純な点光源モデルより複雑であることを示している可能性があります。これは貴重な情報です。再現ツールは、確信度の高そうな数字の背後に不一致を隠すのではなく、それを明示するべきです。' },
89
+ { type: 'title', text: 'このツールの有効活用法', level: 3 },
90
+ { type: 'list', items: [
91
+ '<strong>複数の血痕を使用する:</strong> 3つ以上の独立した血痕を使用することで、より意味のある収束推定値が得られます。',
92
+ '<strong>スプレッドに注目する:</strong> スプレッドが高い場合は、3D空間で線が密接に一致していないことを警告しています。',
93
+ '<strong>スケールを維持する:</strong> センチメートルまたはインチの値は、校正された写真または現場の測定値に基づいている必要があります。',
94
+ '<strong>教育と実務報告の使い分け:</strong> この視覚化は、公式なレビューの前の教育、計画、および説明に最適です。',
95
+ ] },
96
+ { type: 'card', title: '最適なワークフロー', html: 'まず、少数の高品質な血痕をプロットすることから始めます。2Dの長軸方向が視覚的に理にかなっているか確認します。次に3D軌道を検査し、ばらつきに留意し、測定値を1つずつ変更して、どの血痕が再現を左右しているかを確認します。その感度チェックは、生の起点座標よりも役立つことが多いです。' },
97
+ { type: 'title', text: '血痕起点推定に依存すべきでない状況', level: 3 },
98
+ { type: 'paragraph', html: '血痕が著しく歪んでいる場合、対象面が湾曲しているか不規則である場合、パターンに転写や呼吸による吐出血が含まれる場合、表面が移動した場合、または現場に信頼できるスケールがない場合は、単純な起点推定に依存しないでください。血痕が異なる機序または異なる時点で発生した場合も同様の注意が必要です。入力パターンが幾何学的再現に適していない場合、一見きれいに見える3D表示でも誤解を招く可能性があります。' },
99
+ { type: 'glossary', items: [
100
+ { term: '衝突角度', definition: '液滴の経路と対象面の間の推定角度。一般に楕円形血痕の幅と長さの比から計算される。' },
101
+ { term: '軌道線', definition: '血痕から三次元空間への可能な逆方向の飛行経路を示す投影線。' },
102
+ { term: '収束領域', definition: '対象平面上で見たときに、血痕の方向が交差するおよその領域。' },
103
+ { term: '起点領域', definition: '複数の投影された軌道に基づいて、血液が発生した可能性のあるおよその三次元領域。' },
104
+ ] },
105
+ { type: 'summary', title: '活用方法', items: [
106
+ '軌道の幾何学を理解し、測定の感度をテストするために分析ツールを使用します。',
107
+ '再現結果を信頼する前に、起点球体とばらつき(スプレッド)値を比較します。',
108
+ '視覚化結果を独立した鑑定意見として使用しないでください。',
109
+ ] },
110
+ ],
111
+ faq,
112
+ bibliography,
113
+ howTo,
114
+ schemas: [
115
+ { '@context': 'https://schema.org', '@type': 'SoftwareApplication', name: title, description, applicationCategory: 'ForensicApplication', operatingSystem: 'Any' },
116
+ { '@context': 'https://schema.org', '@type': 'FAQPage', mainEntity: faq.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })) },
117
+ { '@context': 'https://schema.org', '@type': 'HowTo', name: title, step: howTo.map((step) => ({ '@type': 'HowToStep', name: step.name, text: step.text })) },
118
+ ],
119
+ };
@@ -0,0 +1,119 @@
1
+ import { bibliography } from '../bibliography';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+
4
+ const slug = 'bloodstain-pattern-origin-analyzer';
5
+ const title = '3D 혈흔 패턴 기원 분석기';
6
+ const description = '수직면의 타원형 혈흔을 모델링하고, 충돌 각도를 추정하며, 대화형 3D 장면에서 투여된 궤적을 시각화합니다.';
7
+
8
+ const howTo = [
9
+ { name: '혈흔 입력 및 조정', text: '표 또는 2D 평면을 사용하여 각 혈흔의 위치, 너비, 길이 및 장축 방향을 정의합니다.' },
10
+ { name: '충돌 각도 검토', text: '계산기는 아크사인 관계를 사용하여 너비 대 길이 비율로부터 충돌 각도를 추정합니다.' },
11
+ { name: '3D 수렴 확인', text: '뷰포트를 회전하여 투영된 궤적과 추정된 기원 구체를 비교합니다.' },
12
+ { name: '불확실성 확인', text: '퍼짐(스프레드) 값을 실용적인 경고 지표로 사용합니다. 선 분산이 넓을수록 매핑된 기원의 안정성이 낮음을 의미합니다.' },
13
+ ];
14
+
15
+ const faq = [
16
+ { question: '브라우저 도구로 실제 유혈 사건의 진정한 발원지를 규명할 수 있습니까?', answer: '아니요. 기하학적 관계를 교육하고 선별할 수는 있지만, 실무적인 결론에는 검증된 방법, 현장 기록, 스케일(축척) 보정 및 자격을 갖춘 혈흔 패턴 분석이 필요합니다.' },
17
+ { question: '충돌 각도를 너비와 길이로 계산하는 이유는 무엇입니까?', answer: '이상적인 타원형 혈흔의 경우, 충돌 각도의 사인 값은 너비를 길이로 나눈 값으로 근사됩니다. 실제 혈흔은 표면 질감, 흐름, 전사 또는 측정 오차에 의해 왜곡될 수 있습니다.' },
18
+ { question: '3D 기원 구체는 무엇을 나타냅니까?', answer: '이는 투영된 궤적 선들 사이의 최소제곱 수렴 추정치이며, 보장된 점 발생원(정확한 좌표)이 아닙니다.' },
19
+ ];
20
+
21
+ export const content: ToolLocaleContent = {
22
+ slug,
23
+ title,
24
+ description,
25
+ ui: {
26
+ metric: '미터법',
27
+ imperial: '야드파운드법',
28
+ unitsLabel: '단위',
29
+ addStain: '혈흔 추가',
30
+ reset: '초기화',
31
+ surface: '충돌 평면',
32
+ viewport3dLabel: '3D 궤적 뷰포트',
33
+ stainLabel: '혈흔',
34
+ table: '측정치',
35
+ origin: '추정 기원',
36
+ spread: '선의 퍼짐',
37
+ confidence: '신뢰도',
38
+ impact: '충돌 각도',
39
+ high: '높음',
40
+ medium: '중간',
41
+ low: '낮음',
42
+ x: 'X',
43
+ y: 'Y',
44
+ width: '너비',
45
+ length: '길이',
46
+ rotation: '회전',
47
+ remove: '삭제',
48
+ cm: 'cm',
49
+ inch: '인치',
50
+ degree: '도',
51
+ rotateHint: '3D 뷰를 드래그하여 재구성 이미지를 회전합니다.',
52
+ disclaimer: '교육용 재구성 전용입니다. 검증된 현장 측정값과 문서화된 불확실성을 사용하여 해석하십시오.',
53
+ },
54
+ seo: [
55
+ { type: 'title', text: '3D 혈흔 패턴 기원 분석기의 작동 방식', level: 2 },
56
+ { type: 'paragraph', html: '혈흔 패턴 기원 분석기는 사용자가 혈흔 패턴 분석의 핵심 기하학적 질문 중 하나를 탐구하도록 돕습니다. <strong>액체 방울이 표면에 부딪혔을 때 공간의 어디에 혈액원이 있었을까?</strong> 이 도구는 수직 평면의 혈흔을 타원으로 모델링하고, 각 너비와 길이의 비율에서 충돌 각도를 계산하고, 궤적을 3D 장면으로 역투영하고, 실용적인 수렴 영역을 추정합니다.' },
57
+ { type: 'diagnostic', variant: 'warning', title: '법과학적 주의사항', html: '출력물은 재구성 보조 도구일 뿐이며 최종 결론이 아닙니다. 실제 혈흔은 대상물 질감, 주변의 미세 혈흔(사테라이트), 응고, 흐름, 닦임, 전사, 원근 오차 및 불완전한 축척 기록의 영향을 받을 수 있습니다.' },
58
+ { type: 'stats', columns: 3, items: [
59
+ { value: 'asin(W/L)', label: '충돌 각도 공식' },
60
+ { value: '3개 이상', label: '권장되는 독립 혈흔 수' },
61
+ { value: '3D', label: '궤적 수렴 공간' },
62
+ ] },
63
+ { type: 'title', text: '충돌 각도 공식', level: 3 },
64
+ { type: 'paragraph', html: '단순 타원형 혈흔의 경우 충돌 각도는 일반적으로 <strong>arcsin(너비 / 길이)</strong>으로 근사됩니다. 따라서 너비 1 cm, 길이 2 cm로 측정된 혈흔은 30도의 충돌 각도를 생성합니다. 이 관계는 평면의 흔적을 궤적의 앙각으로 변환하므로 유용하지만, 측정된 혈흔이 대표성을 띠고 왜곡되지 않았음을 전제로 합니다.' },
65
+ { type: 'code', ariaLabel: '충돌 각도 계산', code: '충돌 각도 = arcsin(혈흔 너비 / 혈흔 길이)\n예: arcsin(1 cm / 2 cm) = 30도' },
66
+ { type: 'paragraph', html: '이는 <em>혈흔 충돌 각도 계산기</em>, <em>혈흔 비산 충돌 각도 공식</em>, <em>혈흔 궤적 계산 방법</em>과 같은 검색 쿼리 뒤에 숨겨진 일반적인 관심사입니다. 중요한 점은 공식이 재구성의 일부분만 해결한다는 것입니다. 대상 평면에 대한 비행 높이를 추정할 뿐이며, 그 자체로 발생원, 메커니즘, 흉기 또는 이벤트 시퀀스를 식별하지는 않습니다.' },
67
+ { type: 'title', text: '데이터 입력 전 혈흔 측정 방법', level: 3 },
68
+ { type: 'paragraph', html: '가장 유용한 입력값은 정렬된 수직 촬영 사진이나 직접 현장 측정에서 얻어집니다. 사테라이트, 꼬리, 흐름 흔적 또는 이차 혈흔이 아닌 혈흔의 기본 타원형 본체를 측정하십시오. 너비는 단축을 따라, 길이는 장축을 따라 측정해야 합니다. 회전은 대상 평면의 장축 방향을 따라야 합니다. 길이, 너비 또는 방향의 미세한 오차라도 3D 공간으로 확장되었을 때 투영된 궤적을 크게 이동시킬 수 있습니다.' },
69
+ { type: 'table', headers: ['측정 품질', '예상되는 영향', '실무적 대응'], rows: [
70
+ ['장축이 명확함', '회전의 신뢰성이 높아짐', '눈에 보이는 장축을 사용하고 방향 결정 방법을 기록합니다.'],
71
+ ['너비 또는 길이가 왜곡됨', '충돌 각도에 편향이 생길 수 있음', '불확실성을 표시하고 인접한 혈흔과 비교합니다.'],
72
+ ['수렴하는 혈흔이 적음', '기원 추정이 불안정해짐', '3D 기원을 해석하기 전에 독립적인 혈흔을 추가합니다.'],
73
+ ['축척이 없음', '모든 거리가 단순 예시용이 됨', '보정 없이는 실제 기원 좌표를 보고하지 마십시오.'],
74
+ ] },
75
+ { type: 'title', text: '3D 수렴 판독', level: 3 },
76
+ { type: 'paragraph', html: '이 도구의 기원 구체는 투영된 모든 궤적 선에 가장 가깝게 위치한 점으로 계산됩니다. 선들이 서로 가깝게 지나갈 때 분산 값이 작아지고 신뢰도가 향상됩니다. 선들이 발산하는 경우에도 구체는 표시되지만, 정확한 소스가 아닌 약한 최소제곱법의 타협값으로 해석해야 합니다.' },
77
+ { type: 'comparative', columns: 2, items: [
78
+ { title: '수렴 영역', description: '앞에서 보았을 때 장축 방향이 만나는 지점을 확인하기 위해 대상 평면에서 측정되는 2차원 추정치.', points: ['1차 스크리닝에 유용', '그 자체로는 수직 높이를 나타내지 않음'] },
79
+ { title: '기원 영역 또는 기원 부피', description: '평면상의 방향과 충돌 각도를 결합하여 궤적을 공간으로 투영하는 3차원 추정치.', highlight: true, points: ['발생원의 예상 높이를 설명 가능', '측정 및 각도 불확실성에 민감함'] },
80
+ ] },
81
+ { type: 'paragraph', html: '사용자들은 단일한 정확한 좌표를 기대하며 <em>혈흔 기원 계산기</em>를 자주 검색합니다. 실제로는 신중하게 해석해야 합니다. 기원은 여러 궤적에 의해 뒷받침되는 영역으로 이해하는 것이 가장 좋습니다. 표시된 선들이 조밀한 다발을 형성하면 모델의 일관성이 높습니다. 넓은 영역을 통과한다면 측정치, 혈흔 선택 또는 전제 조건의 재검토가 필요함을 의미합니다.' },
82
+ { type: 'title', text: '궤적이 만나지 않는 일반적인 원인', level: 3 },
83
+ { type: 'proscons', title: '확실한 입력 vs 불확실한 입력', items: [
84
+ { pro: '장축이 명확하고 모양이 잘 잡힌 여러 타원형 혈흔', con: '혈흔이 1~2개뿐이거나 가설에 맞추기 위해 선택된 혈흔' },
85
+ { pro: '충돌 평면에 수직으로 촬영된 보정된 측정값', con: '비스듬한 사진, 알 수 없는 축척 또는 복사된 스크린샷' },
86
+ { pro: '동일한 발생 메커니즘에서 유래한 독립적인 혈흔', con: '혼재된 수동 낙하, 전사 혈흔, 비산 혈흔, 흐름 흔적 또는 2차 충돌 패턴' },
87
+ ] },
88
+ { type: 'paragraph', html: '수렴 결과가 좋지 않다고 해서 도구가 반드시 잘못된 것은 아닙니다. 혈흔이 동일한 패턴에 속하지 않거나, 사진의 원근법이 왜곡되었거나, 장축을 잘못 읽었거나, 혈흔이 깨끗한 타원이 아니거나, 물리적 사건이 단순한 점원 모델보다 복잡함을 나타낼 수 있습니다. 이는 유용한 정보입니다. 재구성 도구는 확신을 주는 듯한 숫자 뒤에 불일치를 숨기는 대신 이를 명시해야 합니다.' },
89
+ { type: 'title', text: '이 도구의 유용성', level: 3 },
90
+ { type: 'list', items: [
91
+ '<strong>여러 혈흔 사용:</strong> 3개 이상의 독립 혈흔을 사용하면 더 의미 있는 수렴 추정치를 얻을 수 있습니다.',
92
+ '<strong>퍼짐 모니터링:</strong> 퍼짐이 크면 3D 공간에서 선들이 밀접하게 일치하지 않음을 경고합니다.',
93
+ '<strong>축척 보존:</strong> 센티미터 또는 인치 값은 보정된 사진이나 현장 측정에서 가져와야 합니다.',
94
+ '<strong>교육과 보고서 작성의 구분:</strong> 이 시각화는 공식적인 검토 전의 교육, 계획 및 설명에 가장 적합합니다.',
95
+ ] },
96
+ { type: 'card', title: '최적의 작업 흐름', html: '먼저 소수의 고품질 혈흔을 플로팅하는 것으로 시작합니다. 2D 장축 방향이 시각적으로 타당한지 확인합니다. 그런 다음 3D 궤적을 검사하고 퍼짐에 유의하며 측정값을 하나씩 변경하여 어떤 혈흔이 재구성을 좌우하는지 확인합니다. 그 민감도 체크는 가공하지 않은 기원 좌표보다 유용할 때가 많습니다.' },
97
+ { type: 'title', text: '혈흔 기원 추정에 의존해서는 안 되는 상황', level: 3 },
98
+ { type: 'paragraph', html: '혈흔이 심하게 왜곡된 경우, 대상 평면이 만곡되거나 불규칙한 경우, 패턴에 전사나 호흡에 의한 토출혈이 포함된 경우, 표면이 이동한 경우 또는 현장에 신뢰할 수 있는 축척이 없는 경우에는 단순한 기원 추정에 의존하지 마십시오. 혈흔이 다른 메커니즘이나 다른 시점에 발생한 경우에도 동일한 주의가 필요합니다. 입력 패턴이 기하학적 재구성에 적합하지 않은 경우, 한눈에 깔끔해 보이는 3D 시각화도 오해를 불러일으킬 수 있습니다.' },
99
+ { type: 'glossary', items: [
100
+ { term: '충돌 각도', definition: '액체 방울의 경로와 대상 평면 사이의 추정 각도. 일반적으로 타원형 혈흔의 너비 대 길이 비율로 계산됨.' },
101
+ { term: '궤적 선', definition: '혈흔으로부터 3차원 공간으로 향하는 가능한 역방향의 비행 경로를 나타내는 투영선.' },
102
+ { term: '수렴 영역', definition: '대상 평면상에서 보았을 때 혈흔의 방향이 교차하는 대략적인 영역.' },
103
+ { term: '기원 영역', definition: '여러 투영된 궤적에 기초하여 혈액이 발생했을 가능성이 있는 대략적인 3차원 공간 영역.' },
104
+ ] },
105
+ { type: 'summary', title: '활용 방법', items: [
106
+ '궤적의 기하학을 이해하고 측정 감도를 테스트하기 위해 분석기를 사용합니다.',
107
+ '재구성을 신뢰하기 전에 기원 구체와 퍼짐(스프레드) 값을 비교합니다.',
108
+ '시각화 결과를 독립적인 감정 의견으로 사용하지 마십시오.',
109
+ ] },
110
+ ],
111
+ faq,
112
+ bibliography,
113
+ howTo,
114
+ schemas: [
115
+ { '@context': 'https://schema.org', '@type': 'SoftwareApplication', name: title, description, applicationCategory: 'ForensicApplication', operatingSystem: 'Any' },
116
+ { '@context': 'https://schema.org', '@type': 'FAQPage', mainEntity: faq.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })) },
117
+ { '@context': 'https://schema.org', '@type': 'HowTo', name: title, step: howTo.map((step) => ({ '@type': 'HowToStep', name: step.name, text: step.text })) },
118
+ ],
119
+ };