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