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