Indices de Miller
Des intersections de 2, 3 et 4 sur les axes a, b et c désignent le plan (6 4 3). Saisissez les trois intersections en unités de paramètre de maille, mettez zéro pour un axe jamais coupé et obtenez les plus petits indices entiers. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Intersection a
- 2
- Intersection b
- 3
- Intersection c
- 4
- Inverse de a
- 0,5
- Inverse de b
- 0,3333333333
- Inverse de c
- 0,25
- H
- 6
Les indices de Miller (h k l) sont le nom entier standard d'un plan cristallin. Ils proviennent des intersections de ce plan avec les axes a, b et c de la maille, mesurées en unités des constantes de réseau. Ce calculateur d'indices de Miller accepte ces trois intersections, forme l'inverse de chaque valeur finie et réduit le rapport aux plus petits entiers h, k et l.
Ce que signifient les indices de Miller et comment les intersections deviennent (h k l)
Les indices de Miller d'un plan du réseau sont les trois entiers h, k et l tels que le plan coupe les axes cristallographiques en a divisé par h, b divisé par k et c divisé par l, ou ne rencontre jamais un axe lorsque l'indice correspondant est zéro. De façon équivalente, partez des intersections du plan choisi avec les axes a, b et c, mesurées en unités des paramètres de maille, prenez l'inverse de chaque intersection finie et éliminez les fractions jusqu'à obtenir le triplet entier le plus petit.
C'est la définition que William Hallowes Miller a introduite au XIXe siècle et celle que l'on fait encore pratiquer en science des matériaux, minéralogie et chimie de l'état solide. Contrôles classiques : intersections un, un, un deviennent (1 1 1) ; intersections deux, trois, quatre deviennent (6 4 3) ; intersections un, un et parallèle à c deviennent (1 1 0). Le parallèle à un axe est une intersection infinie dans le dessin du manuel.
Une intersection nulle contribue donc un indice de Miller zéro — le plan ne coupe jamais cet axe — plutôt qu'une division par zéro. Les trois entiers sont ensuite divisés par leur plus grand commun diviseur, de sorte que (2 2 2) est rapporté comme (1 1 1) : ces étiquettes nomment la même famille de plans parallèles équidistants. Les intersections négatives produisent des indices négatifs, écrits avec un moins dans la chaîne de notation, pour un plan qui coupe l'extrémité négative de cet axe.
Le moteur utilise des rationnels par fractions continues et une réduction entière exacte par LCM et GCD, non une conjecture flottante arrondie, si bien que des fractions simples comme un demi ou deux tiers se réduisent aux entiers du manuel chaque fois qu'un étudiant, un tuteur ou un script le demande.
Contrat d'entrée, forme de la réponse et erreurs
Les valeurs absolues plus grandes qu'un million sont rejetées pour que les produits intermédiaires restent dans des entiers sûrs. Si les trois intersections sont nulles, aucun plan unique n'est défini et la tâche échoue plutôt que d'inventer (0 0 0). Exemple : intersections deux, trois et quatre donnent les inverses un demi, un tiers et un quart ; nettoyer les dénominateurs donne douze, huit et six ; diviser par gcd deux produit (6 4 3).
Une validation en échec n'est pas facturée. Associez les entiers à votre propre code de dessin si vous avez besoin d'un croquis de maille cubique ; ce point d'accès nomme le plan et n'émet pas de tracés.
Où un calculateur d'indices de Miller rend service
Les laboratoires de cristallographie et les cours de matériaux utilisent un calculateur d'indices de Miller pour que les étudiants vérifient (h k l) pour des intersections quelconques sans perdre un signe ni oublier de prendre les inverses. Les générateurs d'examens ont besoin d'un oracle déterministe qui rejette une intersection non finie au lieu de renvoyer silencieusement un triplet vide qu'un correcteur buggé pourrait traiter comme un succès. Une validation en échec ne consomme pas le solde.
Gardez les intersections dans la limite de magnitude documentée, figez dans les tests à la fois le triplet entier et la chaîne miller, et vous obtenez des étiquettes (h k l) reproductibles pour les devoirs, les greffons LMS et les workers de bord sans dresser une bibliothèque de cristallographie à vous.
Préférez cette capacité lorsque les intersections sont déjà en unités axiales et que vous n'avez besoin que des entiers réduits ; ce n'est pas un solveur de d-spacing de Bragg, ni un chercheur de direction d'axe de zone [uvw], ni un traceur de projection stéréographique.
Cas d’usage
Contrôles de cours et de devoirs
Laissez les étudiants envoyer des intersections axiales et vérifier le (h k l) réduit contre la méthode des inverses et de l'élimination des fractions du manuel.
Cahiers de diffraction et de métallographie
Nommez faces de clivage, plans de glissement et familles de diagrammes de poudre comme indices de Miller entiers sans importer une boîte à outils cristallographique complète.
Notation automatique d'examens et LMS
Notez les items d'indices de Miller avec un oracle déterministe qui rejette les intersections non finies et ne laisse jamais (222) non réduit.
Questions fréquentes
Comment convertir des intersections en indices de Miller ?
Envoyez des intersections finies avec les axes a, b et c.
Que se passe-t-il si une intersection n'est pas un nombre fini ?
Valeurs manquantes, infinis et chaînes non numériques ne sont pas facturés.
(222) et (111) sont-ils différents ?
Ils nomment la même famille de plans parallèles. Ce calculateur divise par le plus grand commun diviseur, de sorte que (222) est renvoyé comme (111).
Comment indiquer un plan parallèle à un axe ?
Saisissez zéro pour cette intersection. Un plan parallèle rencontre l'axe à l'infini : son inverse vaut zéro et cet axe reçoit l'indice 0, comme dans (1 1 0).
Quels sont les indices de Miller pour des intersections de 2, 3 et 4 ?
Ce sont (6 4 3). Les inverses valent 1/2, 1/3 et 1/4 ; en multipliant par 12 on obtient 6, 4 et 3, qui n'ont pas de diviseur commun plus grand que un.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/chem/miller-indices \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"intercept_a":2,"intercept_b":3,"intercept_c":4}'const res = await fetch("https://api.kit.forhosting.com/chem/miller-indices", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"intercept_a": 2,
"intercept_b": 3,
"intercept_c": 4
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/chem/miller-indices",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"intercept_a": 2,
"intercept_b": 3,
"intercept_c": 4
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/chem/miller-indices", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"intercept_a":2,"intercept_b":3,"intercept_c":4}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"intercept_a":2,"intercept_b":3,"intercept_c":4}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/chem/miller-indices", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"intercept_a": 2,
"intercept_b": 3,
"intercept_c": 4
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "chem.miller_indices",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Limites
max_abs | 1000000 |
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
Une intersection nulle signifie que le plan est parallèle à cet axe et contribue un indice zéro : c'est ainsi que les formulaires de cours encodent l'intersection infinie du manuel lorsque JSON ne peut pas porter un jeton infini. Toute intersection manquante ou qui n'est pas un nombre fini échoue avec invalid_input et n'est pas facturée.
Ce que signifient les indices de Miller et comment les intersections deviennent (h k l)
Ce calculateur encode ce cas comme un zéro numérique parce qu'un corps JSON n'a pas de jeton d'infini et que chaque champ du formulaire d'indices de Miller doit être un nombre fini.
Contrat d'entrée, forme de la réponse et erreurs
Envoyez un corps JSON avec trois nombres finis obligatoires : intercept_a, intercept_b et intercept_c, les intersections avec les axes a, b et c en unités des constantes de réseau. Les alias a, intercept_x et x sont acceptés pour le premier axe, b, intercept_y et y pour le deuxième, et c, intercept_z et z pour le troisième, afin que tableurs et formulaires réutilisent les noms déjà en place. Chaque champ peut arriver comme nombre JSON ou comme chaîne numérique ; champs manquants, chaînes vides, signes isolés, texte non numérique, NaN et infinis échouent avec invalid_input en nommant le champ, selon la règle que toute intersection doit être un nombre fini. En cas de succès, le corps répète les intersections, rapporte les trois inverses (une intersection nulle se mappe sur un inverse nul), renvoie les entiers h, k et l, une chaîne miller telle que (6 4 3), le tableau miller_tuple, le gcd utilisé pour réduire, une chaîne de formule et des étapes de substitution ordonnées que vous pouvez coller dans un cahier de laboratoire.
Où un calculateur d'indices de Miller rend service
Les cahiers de diffraction réduisent taches observées et faces de clivage à une famille de plans avant de comparer avec des cartes de poudre ou des cartes d'axe de zone TEM ; une petite API parse évite de tirer un cadre complet d'information cristallographique pour réécrire trois nombres. Parce que l'implémentation est du parse pur de palier A, chaque appel réussi coûte le prix de base publié $0.002 sans jetons de modèle et sans réseau sortant.
Questions techniques
Que faire si le plan est parallèle à un axe ?
Saisissez l'intersection 0 pour cet axe. Cela encode l'intersection infinie du manuel (JSON ne peut pas porter l'infini) et contribue l'indice de Miller 0, comme dans (1 1 0) ou (1 0 0).
Que coûte le calculateur d'indices de Miller ?
L'outil du navigateur est gratuit. Les requêtes API utilisent le solde KIT prépayé à $0.002 par appel réussi ; une entrée invalide n'est pas facturée.