مركز ثقل المثلث
جد نقطة اتزان المثلث من رؤوسه الثلاثة: الرؤوس (0، 0) و(6، 0) و(0، 9) تعطي مركز ثقل عند (2، 3)، وهو المتوسط البسيط لقيم x وقيم y. وهو أيضًا نقطة التقاء المتوسطات الثلاثة. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- X1
- 0
- Y1
- 0
- X2
- 6
- Y2
- 0
- X3
- 0
- Y3
- 9
- X
- 2
- Y
- 3
مركز ثقل المثلث هو النقطة التي تلتقي فيها متوسطاته الثلاثة، وهو أيضًا نقطة اتزانه: فلو قصصت الشكل من ورق مقوى، لاستقر مستويًا على دبوس موضوع في تلك النقطة تمامًا. وبالنظر إلى إحداثيات الرؤوس الثلاثة، تحسب هذه النقطة الطرفية تلك النقطة مباشرةً بوصفها المتوسط الحسابي للإحداثيات السينية الثلاثة والإحداثيات الصادية الثلاثة. ترسل ستة أرقام فتستلم إحداثيي x وy لمركز الثقل، مقربين إلى ست منازل عشرية كي تكون النتيجة متطابقة على كل آلة. لا محرك هندسي ولا تقريب ولا حالة، بل الصيغة الدقيقة فقط، تُتحقق وتُنفذ في استدعاء واحد.
ما هو مركز الثقل حقًا
لكل مثلث مركز ثقل واحد بالضبط، ويقع دائمًا داخل الشكل مهما كان المثلث ممتدًا أو منحرفًا. ومن الناحية الهندسية هو نقطة تقاطع المتوسطات الثلاثة، أي الخطوط التي تصل كل رأس بنقطة منتصف الضلع المقابل، وهو يقسم كل متوسط بنسبة اثنين إلى واحد، فيقع على بُعد ضعف بُعده من الرأس مقارنة بالضلع المقابل. ومن الناحية الفيزيائية هو مركز كتلة صفيحة مثلثة منتظمة، ولهذا يهتم به المهندسون عند حساب الأحمال ولهذا تسميه كتب الفيزياء نقطة الاتزان.
واللافت في مركز ثقل المثلث هو رخص حسابه من الإحداثيات: فلا حاجة إلى إنشاء أي متوسط أو قياس أي زاوية أو حل أي معادلة. فالإحداثي السيني لمركز الثقل هو المتوسط البسيط للإحداثيات السينية للرؤوس الثلاثة، والإحداثي الصادي هو متوسط الإحداثيات الصادية الثلاثة. تطبق هذه النقطة الطرفية تلك الصيغة حرفيًا: تتحقق من المدخلات الستة، وتجمع كل محور، وتقسم على ثلاثة، وتقرب النتيجة إلى ست منازل عشرية كي تكون البايتات التي تستلمها مستقرة عبر بيئات التشغيل والمنصات.
كيف تستدعيه وماذا تستلم في المقابل
يحمل الطلب ستة حقول إلزامية، من x1 إلى y3، أي سينية وصادية لكل رأس من الرؤوس الثلاثة، وبأي ترتيب، فالمتوسط لا يهتم بأي رأس تسميه أولًا. ويجب أن تكون كل قيمة عددًا منتهيًا. وعندما يكون الإدخال صالحًا، تكون الاستجابة كائنًا واحدًا بمفتاحين، x وy، يحتوي إحداثيي مركز الثقل مقربين إلى ست منازل عشرية.
والتقريب مقصود: فجمع الفاصلة العائمة مثل 0.1 + 0.2 + 0.3 قد يختلف في البت الأخير بين محركات JavaScript، وقد تختلف بالتالي مقارنة النتيجة غير المقربة على جهازين؛ وست المنازل العشرية تحفظ كل الدقة العملية وتجعل المخرجات مستقرة على مستوى البايت. ولأن الحساب كله عبارة عن حفنة من الجمع وقسمتين، فإن زمن الاستجابة تهيمن عليه الشبكة لا الرياضيات، والشيفرة نفسها تعمل مجانًا في أداة المتصفح في هذه الصفحة.
أين تثمر نقطة طرفية لمركز الثقل
صحيح أن كتابة الصيغة مرة واحدة أمر بديهي، لكن نقاطًا طرفية مثل هذه تكسب مكانها عندما يجب أن يجري الحساب باتساق في أماكن كثيرة في وقت واحد: خدمة خرائط تضع تسمية في المركز البصري لمنطقة مثلثة، أو محرك ألعاب يوسّط الكاميرا على وجه محدد، أو خط أنابيب هندسي يطبع الأشكال قبل مقارنتها، أو روتين روبوتي يحسب نقطة إمساك فوق مضلع دعم مثلث.
وفي كل حالة، لا تكمن القيمة في الحساب بل في ضمان أن كل مكوّن في النظام يستخدم الرقم نفسه المتحقق منه والمقرب بالطريقة نفسها، محسوبًا بتنفيذ واحد مشترك بدلًا من خمس نسخ متباينة ملصقة في خمس قواعد شيفرة. لا تخزين ولا آثار جانبية: تدخل الإحداثيات، ويخرج مركز الثقل، ولا يُحفظ شيء بعد ذلك.
حالات الاستخدام
تسمية منطقة مثلثة على الخريطة
ضع تسمية نصية عند مركز ثقل منطقة مثلثة لتقع في المركز البصري للشكل مهما انحرفت الرؤوس.
توسيط كاميرا أو مؤشر على وجه
احسب مركز ثقل مثلث محدد في شبكة وانقل نافذة العرض إليه في استدعاء واحد، مستخدمًا الرقم نفسه الذي تراه كل أدوات خط الأنابيب.
تطبيع الأشكال قبل مقارنتها
انقل المثلثات إزاحةً بحيث تقع مراكز ثقلها في نقطة الأصل، فتصبح مقارنات الدوران والمقياس مستقلة عن مكان رسم الشكل.
الأسئلة الشائعة
كم يكلف؟
وتشغيله مجاني أيضًا في متصفحك في هذه الصفحة، فالأداة تنفذ الشيفرة نفسها تمامًا.
ما الصيغة المستخدمة؟
مركز الثقل هو المتوسط الحسابي للرؤوس: x يساوي (x1 + x2 + x3) / 3 وy يساوي (y1 + y2 + y3) / 3.
هل يهم ترتيب الرؤوس؟
لا. فالمتوسط تبديلي، وأي تسمية للرؤوس الثلاثة تنتج مركز الثقل نفسه.
لماذا تُقرب النتيجة إلى ست منازل عشرية؟
للحفاظ على استقرار المخرجات على مستوى البايت بين بيئات تشغيل JavaScript التي قد تختلف مجاميع الفاصلة العائمة فيها في البت الأخير. وست المنازل العشرية تحفظ كل الدقة العملية.
هل يمكن أن يقع مركز الثقل خارج المثلث؟
لا. لكل مثلث مركز ثقل واحد فقط، ويقع دائمًا داخل الشكل مهما كان المثلث مستطيلًا أو مائلًا. لذلك يصلح موضعًا آمنًا لوضع تسمية على خريطة.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/math/centroid-of-a-triangle \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"x1":0,"y1":0,"x2":6,"y2":0,"x3":0,"y3":9}'const res = await fetch("https://api.kit.forhosting.com/math/centroid-of-a-triangle", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"x1": 0,
"y1": 0,
"x2": 6,
"y2": 0,
"x3": 0,
"y3": 9
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/centroid-of-a-triangle",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"x1": 0,
"y1": 0,
"x2": 6,
"y2": 0,
"x3": 0,
"y3": 9
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/centroid-of-a-triangle", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"x1":0,"y1":0,"x2":6,"y2":0,"x3":0,"y3":9}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"x1":0,"y1":0,"x2":6,"y2":0,"x3":0,"y3":9}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/centroid-of-a-triangle", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"x1": 0,
"y1": 0,
"x2": 6,
"y2": 0,
"x3": 0,
"y3": 9
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.centroid_of_a_triangle",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
كيف تستدعيه وماذا تستلم في المقابل
فإذا فُقد أي إحداثي، أو كان سلسلة نصية، أو كان NaN أو Infinity، فشل الاستدعاء بخطأ invalid_input يسمي الحقل المسؤول، ولا تُحاسب عليه؛ فالهندسة الخاطئة لا تكلفك شيئًا أبدًا.
أين تثمر نقطة طرفية لمركز الثقل
تعمل هذه القدرة على شبكتنا الطرفية بسعر $0.002 لكل طلب، فأتمتتها لا تكاد تكلف شيئًا، وتنفذ أداة المتصفح في هذه الصفحة الوحدة نفسها مجانًا عندما يحتاج شخص إلى إجابة سريعة فحسب.
أسئلة تقنية
ماذا يحدث إذا كان أحد الإحداثيات مفقودًا أو غير صالح؟
يفشل الطلب بخطأ invalid_input يسمي الحقل، ولا تُفرض عليه رسوم. يجب أن يكون كل إحداثي عددًا منتهيًا.