المسافة ثلاثية الأبعاد
مسافة أفقية قدرها 120 م مع فرق ارتفاع 50 م تعطي مسافة مباشرة قدرها 130 م. أدخل المسافة الأفقية وفرق الارتفاع بالوحدة نفسها لتحصل على الخط المستقيم بين النقطتين، لمخططات البناء أو المنحدرات أو تمديد الكابلات. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- المسافة الأفقية
- 120
- فرق الارتفاع
- 50
- المسافة 3D
- 130
تجمع هذه الحاسبة بين المسافة الأفقية المقيسة على الأرض وفرق الارتفاع بين نقطتين، ثم تحسب المسافة المائلة المباشرة بينهما. وتتعامل مع القياسين بوصفهما ضلعي مثلث قائم متعامدين. استخدموا وحدة الطول نفسها في القيمتين، سواء أكانت متراً أم قدماً أم كيلومتراً أم غير ذلك، فتكون النتيجة بالوحدة ذاتها. الحساب حتمي ولا يحتاج إلى إحداثيات أو إسقاط خرائطي، كما يرفض بوضوح القيم الناقصة أو غير المنتهية والمسافة الأفقية السالبة.
حوّلوا مسافة المخطط وتغير الارتفاع إلى مسافة مائلة
تقدم الخريطة أو مخطط الموقع أو القياس الميداني عادةً مقدار الفصل الأفقي، بينما يوفر جهاز التسوية أو خريطة الكنتور أو نموذج الارتفاع الفرق الرأسي. وتمثل القيمتان مركبتين متعامدتين لقطعة مستقيمة واحدة في فضاء ثلاثي الأبعاد. تطبق الحاسبة نظرية فيثاغورس: تربع المسافة الأفقية وفرق الارتفاع، ثم تجمع المربعين وتأخذ الجذر التربيعي.
فعلى سبيل المثال، تنتج عن مسافة أفقية مقدارها 120 متراً وفرق ارتفاع مقداره 50 متراً مسافة مباشرة تبلغ 130 متراً. لا تغير إشارة فرق الارتفاع طول القطعة، لأن التربيع يجعل الصعود والهبوط المتساويين يسهمان بالطريقة نفسها. ومع ذلك تحتفظ الاستجابة بإشارة القيمة لتبيّن ما إذا كانت النقطة الثانية أعلى من الأولى أم أدنى منها.
صُممت هذه الإمكانية للحالات التي تكون فيها المسافة الأفقية معلومة مسبقاً؛ فهي لا تستنتجها من خط العرض وخط الطول ولا تمثل مساراً منحنياً يتبع تضاريس الأرض. والقيمة المعادة هي المسافة المستقيمة بين النقطتين كما يحددها القياسان المتعامدان.
اختاروا مدخلات متسقة واقرؤوا النتيجة قراءة صحيحة
يجب أن تستخدم القيمتان الوحدة نفسها. إذا كانت المسافة الأفقية بالأمتار وفرق الارتفاع بالأقدام، فستعمل الصيغة ولكن النتيجة لن يكون لها معنى فيزيائي؛ لذا حوّلوا أحد القياسين أولاً. لا حاجة إلى حقل مستقل للوحدة لأن علاقة فيثاغورس لا تعتمد عليها.
المدخلات بالأمتار تعطي أمتاراً، والمدخلات بالأقدام تعطي أقداماً. إذا كان فرق الارتفاع صفراً ساوت المسافة ثلاثية الأبعاد المسافة الأفقية، وإذا كانت المسافة الأفقية صفراً كانت النتيجة القيمة المطلقة لفرق الارتفاع. لا يمكن أن تقل المسافة المباشرة عن أي من المركبتين.
راعوا الافتراضات الهندسية والحدود العملية
يفترض الحساب أن المسافة الأفقية وفرق الارتفاع يشكلان ضلعين متعامدين في إطار ديكارتي محلي. وهذا تقريب ممتاز لتخطيط مواقع البناء وخطوط المسح القصيرة ومقاطع مسارات المشي وتمديدات الكابلات والأنابيب والمنحدرات والتقديرات الهندسية التي تجمع مسافة المخطط مع تغير الارتفاع. لكنه لا يغني عن الحساب الجيوديسي للمسافات الطويلة على الأرض، إذ يمكن لانحناء الأرض والإسقاط الخرائطي المختار أن يؤثرا في المركبة الأفقية.
كما أنه لا يحسب طول مسار يسير فوق سطح متعرج؛ فقد تجعل المنعطفات ومرات الصعود والهبوط الوسيطة الطريق الفعلي أطول من القطعة المستقيمة. يستخدم التنفيذ عملية وتر مستقرة عددياً بدلاً من ضرب أعداد هائلة مباشرة، ثم يتحقق من بقاء الناتج منتهياً.
حالات الاستخدام
التحقق من خطوط المسح
اجمعوا خطاً أفقياً مقيساً مع تغير الارتفاع للحصول على المسافة المائلة المباشرة.
تقدير أطوال الكابلات والأنابيب
قدّروا الوصلة المستقيمة بين طرفين متباعدين أفقياً ورأسياً قبل إضافة هوامش مسار التمديد.
تحليل مقاطع مسارات المشي
قارنوا مسافة المخطط بالمسافة ثلاثية الأبعاد بين نقطتين معلومي ارتفاع البداية والنهاية.
الأسئلة الشائعة
ما الصيغة المستخدمة؟
النتيجة هي الجذر التربيعي لمجموع مربع المسافة الأفقية ومربع فرق الارتفاع.
ما الوحدات التي يمكن استخدامها؟
تصلح أي وحدة طول ما دامت القيمتان تستخدمان الوحدة نفسها، وتكون النتيجة بتلك الوحدة.
هل يجوز أن يكون فرق الارتفاع سالباً؟
نعم. تعني القيمة السالبة أن النقطة الثانية أدنى، ويسهم مقدارها في المسافة كما تسهم القيمة الموجبة.
هل هذه هي المسافة المقطوعة فوق التضاريس؟
لا. إنها المسافة المستقيمة بين نقطتين، وليست طول مسار متعرج أو سطح غير مستوٍ.
هل يمكن استخدام خط العرض وخط الطول؟
ليس مباشرة. احسبوا أولاً مسافة أفقية مناسبة، ثم اجمعوها هنا مع فرق الارتفاع.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/geo/distance-3d \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"horizontal_distance":120,"elevation_difference":50}'const res = await fetch("https://api.kit.forhosting.com/geo/distance-3d", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"horizontal_distance": 120,
"elevation_difference": 50
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geo/distance-3d",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"horizontal_distance": 120,
"elevation_difference": 50
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geo/distance-3d", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"horizontal_distance":120,"elevation_difference":50}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"horizontal_distance":120,"elevation_difference":50}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geo/distance-3d", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"horizontal_distance": 120,
"elevation_difference": 50
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.distance_3d",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
اختاروا مدخلات متسقة واقرؤوا النتيجة قراءة صحيحة
أدخلوا horizontal_distance عدداً منتهياً غير سالب، واجعلوا elevation_difference ارتفاع النقطة الثانية مطروحاً منه ارتفاع النقطة الأولى؛ فالقيمة الموجبة تعني أن الثانية أعلى، والسالبة تعني أنها أدنى. تعيد الاستجابة المدخلات المطبّعة وdistance_3d والصيغة كي يشرح التطبيق الحساب. تبلغ كلفة كل عنصر ناجح عبر API مقدار $0.002؛ أما المدخلات غير الصالحة فترفض بدلاً من تحويلها إلى أصفار مضللة أو قيم JSON غير رقمية.
راعوا الافتراضات الهندسية والحدود العملية
جودة القياس مهمة بقدر أهمية الصيغة، فارتفاع كنتوري مقرب أو مقياس رسم تقريبي يحد من الدقة حتى لو كان حساب IEEE-754 صحيحاً للقيم المقدمة. وهو لا يتصل بالشبكة ولا يخزن القياسات ولا يستخدم العشوائية، ويعيد JSON نفسه للمدخل الصالح نفسه في المتصفح وعبر API.
أسئلة تقنية
ما كلفة الحساب عبر API؟
تبلغ كلفة كل عنصر ناجح $0.002، أما الحاسبة في المتصفح فمجانية.