| qhull(1) | General Commands Manual | qhull(1) |
نام (NAME)
qhull - محاسبه پوش محدب، مثلثبندی دلونی، نمودار ورونوی، تقاطع نیمفضاها حول یک نقطه، حجم پوش، مساحت وجوه
خلاصه دستور (SYNOPSIS)
qhull - محاسبه پوشهای محدب و ساختارهای مرتبط
ورودی (stdin): بعد، تعداد نقاط (#points)، مختصات نقاط
نخستین توضیح (غیرعددی) در خلاصه فهرست میشود
نیمفضا: بعد به علاوه یک را همراه با آفستها پس از ضرایب به کار ببرید
گزینهها (qh-quick.htm):
d - مثلثبندی دلونی با بردن نقاط روی یک سهمیگون
d Qu - مثلثبندی دلونی دورترین مکان (پوش محدب بالایی)
v - نمودار ورونوی به عنوان دوگان مثلثبندی دلونی
v Qu - نمودار ورونوی دورترین مکان
H1,1 - تقاطع نیمفضاها حول [1,1,0,...] با دوگانگی قطبی
Qt - خروجی مثلثبندی شده
QJ - تکان دادن تصادفی ورودی به جای ادغام وجوه
Tv - بررسی نتیجه: ساختار، تحدب و دربرگیری نقاط
. - فهرست مختصر همه گزینهها
- - شرح تکخطی هر گزینه
-? - این پیام
-V - نگارش
گزینههای خروجی (زیرمجموعه):
s - خلاصهای از نتایج (پیشفرض)
i - رأسهای متصل به هر وجه
n - بردار نرمال همراه با آفستها
p - مختصات رأسها (اگر 'Qc' باشد، شامل نقاط همصفحه است)
اگر 'v' باشد، رأسهای ورونوی
FA - گزارش مساحت کل و حجم
Fp - تقاطعهای نیمفضاها
FS - مساحت کل و حجم
Fx - نقاط انتهایی (رأسهای پوش محدب)
G - خروجی Geomview (دو، سه و چهار بعدی)
m - خروجی Mathematica (دو و سه بعدی)
o - قالب OFF (اگر 'v' باشد، نواحی ورونوی را خروجی میدهد)
QVn - چاپ وجوهی که شامل نقطه n هستند، و -n در غیر این صورت
TI file - فایل ورودی، میتواند درون کوتیشن تکی قرار گیرد
TO file - فایل خروجی، میتواند درون کوتیشن تکی قرار گیرد
مثالها:
rbox D4 | qhull Tv rbox 1000 s | qhull Tv s FA
rbox 10 D2 | qhull d QJ s i TO result rbox 10 D2 | qhull v Qbb Qt p
rbox 10 D2 | qhull d Qu QJ m rbox 10 D2 | qhull v Qu QJ o
rbox c d D2 | qhull Qc s f Fx | more rbox c | qhull FV n | qhull H Fp
rbox d D12 | qhull QR0 FA rbox c D7 | qhull FA TF1000
rbox y 1000 W0 | qhull Qc rbox c | qhull n
- راهنمای html:
html/index.htm
- نصب: README.txt
- همچنین
ببینید: COPYING.txt،
REGISTER.txt، Changes.txt
- وبگاه: http://www.qhull.org
- گیت: <git@github.com:qhull/qhull.git>
- اخبار: http://www.qhull.org/news
- جئومویو
(Geomview): http://www.geomview.org
- گروه خبری:
<news:comp.graphics.algorithms>
- پرسشهای
متداول:
http://www.faqs.org/faqs/graphics/algorithms-faq
- رایانامه:
qhull@qhull.org
- گزارش
باگها: qhull_bug@qhull.org
بخشها
عبارتند از:
- مقدمه (INTRODUCTION)
- توضیحات
(DESCRIPTION)، شرحی از
Qhull
- عدم قطعیت
(IMPRECISION)، نحوه
مدیریت عدم
دقت در Qhull
- گزینهها (OPTIONS)
- گزینههای
ورودی و
خروجی
- قالبهای
ورودی/خروجی
اضافی
- گزینههای
دقت
- گزینههای
Geomview
- گزینههای
چاپ
- گزینههای
Qhull
- گزینههای
ردیابی
- اشکالات (BUGS)
- رایانامه (E-MAIL)
- همچنین
ببینید (SEE ALSO)
-
پدیدآورندگان
(AUTHORS)
-
سپاسگزاریها
(ACKNOWLEGEMENTS)
این صفحه راهنما تمامی گزینههای Qhull را بهطور خلاصه شرح میدهد. لطفاً هرگونه ناهمخوانی با راهنمای html نرمافزار Qhull (html/index.htm) را گزارش دهید.
برنامه Qhull کدی در ابعاد عمومی برای محاسبهٔ پوشهای محدب، مثلثبندیهای دلاونی، نمودار ورونوی، نمودار ورونوی دورترین نقطه (furthest‐site)، مثلثبندیهای دلاونی دورترین نقطه، و تقاطعهای نیمفضا حول یک نقطه است. این برنامه الگوریتم Quickhull را برای محاسبهٔ پوش محدب پیادهسازی میکند. برنامه Qhull خطاهای گرد کردن حاصل از محاسبات ممیز شناور را مدیریت میکند. همچنین میتواند یک پوش محدب را تقریب بزند.
این برنامه شامل گزینههایی برای حجم پوش، مساحت وجه، پوشهای جزئی، تبدیلات ورودی، تصادفیسازی، ردیابی، قالبهای خروجی گوناگون و آمار اجرا است. این برنامه را میتوان از درون برنامههای کاربردی شما فراخوانی کرد. میتوانید نتایج را به صورت 2‐d، 3‐d و 4‐d با Geomview مشاهده کنید.
توضیحات (DESCRIPTION)
قالب ورودی به صورت زیر است: خط نخست شامل بُعد، خط دوم شامل تعداد نقاط ورودی است و در ادامه مختصات نقاط میآید. جای بعد و تعداد نقاط میتواند جابهجا باشد. توضیحات و شکستهای خط نادیده گرفته میشوند. یک توضیح با یک نویسهٔ غیرعددی آغاز شده و تا انتهای خط ادامه مییابد. نخستین توضیح در خلاصهها و آمارها گزارش میشود. اگر در هر خط یک نقطه قرار گیرد، گزارش خطا بهتر خواهد بود.
گزینهٔ چاپ پیشفرض، یک خلاصهٔ کوتاه است. قالبهای خروجی بسیار دیگری نیز وجود دارند.
برنامه Qhull الگوریتم Quickhull را برای پوش محدب پیادهسازی میکند. این الگوریتم، الگوریتم 2‐d Quickhull را با الگوریتم n‐d beneath‐beyond ترکیب میکند [ر.ک. Preparata & Shamos '85]. این الگوریتم شبیه به الگوریتمهای تصادفی کلارکسون و دیگران است [Clarkson et al. '93]. مزایای اصلی Quickhull عبارتند از کارایی وابسته به خروجی، کاهش فضای مورد نیاز، و رسیدگی خودکار به مسائل دقت محاسباتی.
ساختار دادهٔ تولید شده توسط Qhull شامل رأسها (vertices)، تیغهها (ridges) و وجهها (facets) است. یک رأس، نقطهای از مجموعه ورودی است. یک تیغه، مجموعهای از d رأس و دو وجه همسایه است. برای نمونه در فضای 3‐d، یک تیغه، همان یال چندوجهی است. یک وجه شامل مجموعهای از تیغهها، مجموعهای از وجههای همسایه، مجموعهای از رأسهای متلاقی و یک معادلهٔ ابرصفحه است. برای وجههای سادکی (simplicial)، تیغهها توسط رأسها و وجههای همسایه تعریف میشوند. هنگامی که Qhull دو وجه را ادغام میکند، یک وجه غیرسادکی (non‐simplicial) تولید میشود. یک وجه غیرسادکی بیش از d همسایه دارد و ممکن است بیش از یک تیغهٔ مشترک با یک همسایه داشته باشد.
عدم دقت (IMPRECISION)
از آنجا که Qhull از محاسبات ممیز شناور استفاده میکند، ممکن است در هر محاسبه خطای گرد کردن رخ دهد. این امر برای بیشتر الگوریتمهای هندسی مشکل ایجاد میکند.
برنامه Qhull به طور خودکار گزینهٔ 'C-0' را در 2‐d، 3‐d و 4‐d، یا گزینهٔ 'Qx' را در 5‐d و بالاتر تنظیم میکند. این گزینهها با ادغام وجهها، مسائل مربوط به دقت را برطرف میکنند. در غیر این صورت، از گزینهٔ 'QJ' برای تکان دادن (joggle) ورودی استفاده کنید.
با 'C-0'، برنامه Qhull وجههای غیرمحدب را هنگام ساخت پوش ادغام میکند. وجههای باقیمانده به وضوح محدب خواهند بود. با 'Qx'، برنامه Qhull وجههای افق همصفحه، وجههای واژگونشده، وجههای مقعر و تیغههای تکراری را ادغام میکند. این برنامه وجههای همصفحه را پس از ساخت پوش ادغام مینماید. با 'Qx'، ممکن است نقاط همصفحه نادیده گرفته شوند، اما این اتفاق بعید به نظر میرسد.
برای تضمین خروجی مثلثی، ورودی را با گزینهٔ 'QJ' بلرزانید (joggle کنید). ادغام وجهها رخ نخواهد داد.
گزینهها (OPTIONS)
برای دریافت فهرستی از مهمترین گزینهها، دستور 'qhull -?' را اجرا کنید. برای دریافت فهرست کامل گزینهها، دستور 'qhull -' را اجرا کنید. برای دریافت یک فهرست کامل و موجز از گزینهها، دستور 'qhull .' را اجرا کنید.
گزینهها میتوانند به هر ترتیبی باشند. گزینههای با حروف بزرگ آرگومان دریافت میکنند (به جز گزینههای 'PG' و 'F'). حروف تکی برای قالبهای خروجی و ثابتهای دقت استفاده میشوند. گزینههای دیگر در منوهایی گروهبندی شدهاند: قالبهای خروجی ('F')، خروجی Geomview ('G')، چاپ ('P')، کنترل Qhull ('Q')، و ردیابی ('T').
- گزینههای اصلی:
- default
- محاسبهٔ پوش محدب نقاط ورودی. گزارشی از خلاصهٔ نتیجه ارائه میدهد.
- d
- محاسبهٔ مثلثبندی دلاونی با انتقال نقاط ورودی به روی یک سهمیگون (paraboloid). گزینهٔ 'o' نقاط ورودی و وجهها را چاپ میکند. گزینهٔ 'QJ' خروجی مثلثی را تضمین میکند. گزینهٔ 'Ft' یک مثلثبندی را چاپ میکند. این گزینه نقاطی (مرکزها یا centrums) را به وجههای غیرسادکی اضافه میکند.
- v
- محاسبهٔ نمودار ورونوی از روی مثلثبندی دلاونی. گزینهٔ 'p' رأسهای ورونوی را چاپ میکند. گزینهٔ 'o' رأسهای ورونوی و رأسهای هر ناحیهٔ ورونوی را چاپ میکند. این گزینه نواحی را به ترتیب شناسهٔ مکان (site ID) فهرست میکند. گزینهٔ 'Fv' هر تیغه از نمودار ورونوی را چاپ میکند. نخستین رأس یا رأس صفرم نشاندهندهٔ رأس بینهایت است. مختصات آن qh_INFINITE (-10.101) است. این مقدار نشاندهندهٔ نواحی ورونوی نامحدود یا مثلثهای دلاونی تباهیده است.
- Hn,n,...
- محاسبهٔ
تقاطع
نیمفضاها
حول [n,n,0,...].
ورودی
مجموعهای
از
نیمفضاهاست
که با همان
قالب 'n'، 'Fo' و 'Fi'
تعریف
شدهاند. از
'Fp' برای چاپ
نقاط تقاطع
استفاده
کنید. از 'Fv'
برای فهرست
کردن نقاط
تقاطع برای
هر نیمفضا
استفاده
کنید. سایر
قالبهای
خروجی، پوش
محدب دوگان
را نمایش
میدهند.
نقطهٔ [n,n,n,...] یک نقطهٔ شدنی (feasible point) برای نیمفضاهاست، یعنی نقطهای که درون تمام نیمفضاها قرار دارد (Hx+b <= 0). مقدار پیشفرض مختصات 0 است.
ورودی ممکن است با یک نقطهٔ شدنی آغاز شود. در این صورت، 'H' را به تنهایی به کار ببرید. ورودی زمانی با یک نقطهٔ شدنی آغاز میشود که عدد نخست بعد باشد، عدد دوم "1" باشد و مختصات یک خط را کامل کند. گزینهٔ 'FV' یک نقطهٔ شدنی برای یک پوش محدب تولید میکند.
- d Qu
- محاسبهٔ مثلثبندی دلاونی دورترین نقطه از روی پوش محدب بالایی. گزینهٔ 'o' نقاط ورودی و وجهها را چاپ میکند. گزینهٔ 'QJ' خروجی مثلثی را تضمین میکند. همچنین میتوانید از 'Ft' برای مثلثبندی از طریق مرکزهای وجههای غیرسادکی استفاده کنید.
- v Qu
- محاسبهٔ نمودار ورونوی دورترین نقطه. گزینهٔ 'p' رأسهای ورونوی را چاپ میکند. گزینهٔ 'o' رأسهای ورونوی و رأسهای موجود در هر ناحیهٔ ورونوی را چاپ میکند. گزینهٔ 'Fv' هر تیغه از نمودار ورونوی را چاپ میکند. نخستین رأس یا رأس صفرم نشاندهندهٔ رأس در بینهایت است. مختصات آن qh_INFINITE (-10.101) است. این مقدار نشاندهندهٔ نواحی ورونوی نامحدود و مثلثهای دلاونی تباهیده است.
- گزینههای ورودی/خروجی:
- f
- چاپ تمام وجهها و تمام فیلدهای هر وجه.
- G
- خروجی دادن
پوش در قالب
Geomview. برای
پوشهای
نادقیق، Geomview
پوش درونی و
بیرونی را
نمایش
میدهد. Geomview
همچنین
میتواند
نقاط،
تیغهها،
رأسها،
نقاط
همصفحه و
تقاطعهای
وجه را
نمایش دهد.
برای
فهرستی از
گزینهها
به ادامه
مراجعه
کنید.
برای مثلثبندیهای دلاونی، 'G' سهمیگون متناظر را نمایش میدهد. برای تقاطع نیمفضا، 'G' چندوجهی دوگان (dual polytope) را نمایش میدهد.
- i
- خروجی دادن
رأسهای
متلاقی
برای هر
وجه. برنامه
Qhull تعداد
وجهها و
سپس
رأسهای هر
وجه را چاپ
میکند. در
هر خط یک
وجه چاپ
میشود.
اعداد،
نمایههای
مبتنی بر
صفر (0‐relative)
نقاط ورودی
متناظر
هستند.
وجهها
جهتدار
هستند.
در ابعاد 4d و بالاتر، برنامه Qhull وجههای غیرسادکی را مثلثبندی میکند. هر رأس هرم (نخستین رأس) یک نقطهٔ ایجاد شده است که متناظر با مرکز (centrum) وجه است. نمایهٔ آن از نمایههای نقاط ورودی بزرگتر است. هر پایه متناظر با یک تیغهٔ سادکی میان دو وجه است. برای چاپ رأسها بدون مثلثبندی، از گزینهٔ 'Fv' استفاده کنید. برای چاپ مختصات مرکز، از گزینهٔ 'Ft' استفاده کنید. نمایههای مرکز برای گزینهٔ 'i' یکی بیشتر از نمایههای مرکز برای گزینهٔ 'Ft' است.
- m
- خروجی دادن پوش در قالب Mathematica. برنامه Qhull یک فایل Mathematica برای پوشهای محدب 2‐d و 3‐d و برای مثلثبندیهای دلاونی 2‐d مینویسد. برنامه Qhull فهرستی از اشیاء را تولید میکند که میتوانید آنها را به یک متغیر در Mathematica انتساب دهید، برای نمونه: “list= << <outputfilename> ”. اگر شیء 2‐d باشد، میتوان آن را با “Show[Graphics[list]] ” به تصویر کشید. برای اشیاء 3‐d دستور “Show[Graphics3D[list]]” است..TP n چاپ معادله نرمال برای هر وجه. نرمافزار Qhull بُعد (بهعلاوه یک)، تعداد وجهها، و مقادیر نرمال را برای هر وجه چاپ میکند. آفست وجه پس از ضرایب نرمال آن قرار میگیرد.
- o
- خروجی دادن
وجهها در
قالب
پرونده OFF.
نرمافزار
Qhull بُعد،
تعداد
نقاط،
تعداد
وجهها و
تعداد
تیغهها (ridges)
را چاپ
میکند. سپس
مختصات
نقاط ورودی
و رأسهای
هر وجه را
چاپ میکند.
هر وجه در
یک خط
جداگانه
قرار
میگیرد.
اولین عدد
تعداد
رأسها است.
بقیه اعداد
شناسههای
نقاط
متناظر
هستند.
رأسها در
حالتهای
2‐d، 3‐d و در
وجههای
سیمپلکسی
جهتدار
هستند.
برای نمودارهای Voronoi در حالت 2‐d، رأسها بر اساس همجواری مرتب شدهاند، اما جهتدار نیستند. در حالت 3‐d و بالاتر، رأسهای Voronoi بر اساس نمایه (index) مرتب میشوند. برای اطلاعات بیشتر گزینه 'v' را ببینید.
- p
- چاپ مختصات هر نقطه رأس. نرمافزار Qhull بُعد، تعداد نقاط، و مختصات هر رأس را چاپ میکند. همراه با گزینههای 'Gc' و 'Gi'، نقاط همصفحه (coplanar) و درونی را نیز چاپ میکند. برای نمودارهای Voronoi، مختصات هر رأس Voronoi را چاپ میکند.
- s
- چاپ خلاصه
در stderr. اگر هیچ
گزینه
خروجیای
مشخص نشده
باشد،
خلاصه به stdout
ارسال
میشود. این
خلاصه شامل
تعداد نقاط
ورودی،
بُعد،
تعداد
رأسها در
پوش محدب،
تعداد
وجهها در
پوش محدب،
تعداد
وجههای
مناسب (در
صورت تعیین
'Pg') و آمارها
است.
دو مورد آماری آخر (در صورت نیاز) بیشینه فاصله یک نقطه یا رأس تا یک وجه را اندازه میگیرند. عدد درون پرانتز (مانند 2.1x) نسبت بین بیشینه فاصله و بدترین حالت فاصله ناشی از ادغام دو وجه سیمپلکسی است.
- گزینههای دقت
- An
- بیشینه
زاویه
دادهشده
به صورت یک
کسینوس. اگر
زاویه بین
یک جفت
نرمال وجه
بزرگتر از
n باشد، Qhull یکی
از وجهها
را در
همسایهاش
ادغام
میکند. اگر
'n' منفی
باشد، Qhull
زاویهها
را پس از
افزودن هر
نقطه به پوش
آزمایش
میکند
(پیش‐ادغام).
اگر 'n' مثبت
باشد، Qhull
زاویهها
را پس از
ساخت پوش
آزمایش
میکند
(پس‐ادغام).
هر دو حالت
پیش‐ و
پس‐ادغام
قابل تعریف
هستند.
اگر 'Cn' یا 'C-n' متناظر تنظیم نشده باشد، گزینه 'C0' یا 'C-0' تنظیم میشود. اگر 'Qx' تنظیم شده باشد، آنگاه 'A-n' و 'C-n' پس از ساخته شدن پوش و پیش از بررسی 'An' و 'Cn' بررسی میشوند.
- Cn
- شعاع
مرکزوار (Centrum radius).
اگر یک
مرکزوار
کمتر از n در
زیر یک وجه
همسایه
باشد، Qhull یکی
از وجهها
را ادغام
میکند. اگر
'n' منفی یا '-0'
باشد، Qhull
وجهها را
پس از
افزودن هر
نقطه به پوش
آزمایش و
ادغام
میکند. این
عمل
"پیش‐ادغام"
نامیده
میشود. اگر
'n' مثبت
باشد، Qhull پس
از ساخت
پوش، محدب
بودن را
آزمایش
میکند
("پس‐ادغام").
هر دو حالت
پیش‐ و
پس‐ادغام
را میتوان
تعریف کرد.
برای حالتهای 5‐d و بالاتر، باید به جای 'C-n' از 'Qx' استفاده شود. در غیر این صورت، ممکن است بیشتر یا تمام وجهها با یکدیگر ادغام شوند.
- En
- بیشینه خطای گرد کردن (roundoff) برای محاسبات فاصله.
- Rn
- اختلال تصادفی در محاسبات فاصله تا حداکثر +/- n * max_coord. این گزینه تمام محاسبات فاصله، ابرصفحه (hyperplane) و زاویه را مختل میکند. برای استفاده از زمان به عنوان مقدار اولیه تصادفی (seed)، از گزینه 'QR-1' استفاده کنید.
- Vn
- کمینه
فاصله برای
اینکه یک
وجه مرئی
باشد. یک
وجه در
صورتی مرئی
است که
فاصله نقطه
تا وجه
بزرگتر از
'Vn' باشد.
بدون ادغام، مقدار پیشفرض 'Vn' همان خطای گرد کردن ('En') است. با ادغام، مقدار پیشفرض برابر با مرکزوار پیش‐ادغام ('C-n') در ابعاد 2‐d یا 3‐d، یا سه برابر آن در سایر ابعاد است. اگر پهنای بیرونی مشخص شده باشد ('Wn')، مقدار پیشفرض حداکثری برای 'Vn' برابر با 'Wn' خواهد بود.
- Un
- بیشینه فاصله زیر یک وجه برای اینکه یک نقطه با وجه همصفحه در نظر گرفته شود. مقدار پیشفرض 'Vn' است.
- Wn
- کمینه پهنای بیرونی پوش. نقاط تنها در صورتی به پوش محدب اضافه میشوند که به وضوح در بیرون یک وجه باشند. یک نقطه بیرون از یک وجه قرار دارد اگر فاصله آن تا وجه بزرگتر از 'Wn' باشد. مقدار معمول 'Wn' برابر با 'En' است. اگر کاربر پیش‐ادغام را مشخص کرده باشد و 'Wn' را تنظیم نکرده باشد، آنگاه 'Wn' روی 'Cn' پیشادغام و maxcoord*(1-An) تنظیم میشود.
- قالبهای ورودی/خروجی اضافی
- Fa
- چاپ مساحت
برای هر
وجه. برای
مثلثبندیهای
Delaunay، مساحت
همان مساحت
مثلث است.
برای
نمودارهای
Voronoi، مساحت
همان مساحت
وجه دوگان (dual
facet) است. از 'PAn'
برای چاپ n
وجه
بزرگتر، و
از گزینه 'PFn'
برای چاپ
وجههای
بزرگتر از
'n' استفاده
کنید.
مساحت وجههای غیرسیمپلکسی، مجموع مساحتهای هر تیغه تا مرکزوار است. رأسهایی که بسیار پایینتر از ابرصفحه وجه هستند نادیده گرفته میشوند. مساحت گزارششده ممکن است به طور قابل توجهی کمتر از مساحت واقعی باشد.
- FA
- محاسبه مساحت کل و حجم برای گزینه 's'. این مقدار برای وجههای غیرسیمپلکسی یک تقریب است ('Fa' را ببینید).
- Fc
- چاپ نقاط همصفحه برای هر وجه. خروجی با تعداد وجهها شروع میشود. سپس هر وجه، در یک خط جداگانه چاپ میشود. هر خط شامل تعداد نقاط همصفحه و به دنبال آن شناسههای نقاط است. گزینه 'Qi' نقاط درونی را نیز در بر میگیرد. هر نقطه همصفحه (نقطه درونی) به وجهی اختصاص مییابد که بیشترین فاصله بالای آن (به ترتیب کمترین فاصله زیر آن) را داشته باشد.
- FC
- چاپ مرکزوارها برای هر وجه. خروجی با بُعد و به دنبال آن تعداد وجهها آغاز میشود. سپس مرکزوار هر وجه، در هر خط یکی چاپ میشود.
- Fd
- خواندن
ورودی در
قالب cdd با
نقاط همگن
(homogeneous points). ورودی
با
کامنتها
(توضیحات)
آغاز
میشود.
نخستین
کامنت در
خلاصه
گزارش
میشود.
دادهها پس
از خط "begin"
شروع
میشوند. خط
بعدی تعداد
نقاط و به
دنبال آن
1+بعد و کلمه
"real" یا "integer"
است. سپس
نقاط با
پیشوند "1"
یا "1.0" فهرست
میشوند.
دادهها با
یک خط "end" به
پایان
میرسند.
برای نیمفضاها ('Fd Hn,n,...')، قالب ورودی یکسان است. هر نیمفضا با آفست خود شروع میشود. علامت آفست مخالف قرارداد Qhull است.
- FD
- چاپ مقادیر نرمال ('n'، 'Fo'، 'Fi') یا نقاط ('p') در قالب cdd. خط اول، خط فرمانی است که Qhull را فراخوانی کرده است. دادهها با خط "begin" شروع میشوند. خط بعدی تعداد نرمالها یا نقاط و به دنبال آن 1+بعد و کلمه "real" است. سپس نرمالها یا نقاط به همراه آفست پیش از ضرایب فهرست میشوند. آفست برای نقاط 1.0 است. آفست برای نرمالها دارای علامت معکوس است. دادهها با یک خط "end" خاتمه مییابند.
- FF
- چاپ وجهها (مانند 'f') بدون چاپ تیغهها (ridges).
- Fi
- چاپ صفحات درونی برای هر وجه. صفحه درونی پایینتر از تمام رأسها است.
- Fi
- چاپ ابرصفحههای جداکننده برای ناحیههای درونی و کراندار نمودار Voronoi. خط اول تعداد تیغهها است. سپس هر ابرصفحه، در هر خط یکی چاپ میشود. هر خط با تعداد نمایهها و اعداد اعشاری (float) شروع میشود. جفت اول، مکانهای ورودی مجاور را فهرست میکند، d عدد اعشاری بعدی ضرایب نرمالشده ابرصفحه هستند، و آخرین عدد اعشاری، آفست است. ابرصفحه به سمت 'QVn' (در صورت تعریف شدن) یا اولین مکان ورودی جفت جهتگیری دارد. از 'Tv' برای تأیید اینکه ابرصفحهها عمودمنصف هستند استفاده کنید. از 'Fo' برای ناحیههای بیکران، و از 'Fv' برای رأسهای متناظر Voronoi استفاده کنید.
- FI
- چاپ شناسههای وجه.
- Fm
- چاپ تعداد ادغامها برای هر وجه. حداکثر 511 ادغام برای یک وجه گزارش میشود. برای چاپ وجههای دارای بیشترین ادغام، 'PMn' را ببینید.
- FM
- خروجی دادن
پوش در قالب
Maple. برنامه Qhull
یک پرونده Maple
را برای
پوشهای
محدب 2‐d و 3‐d و
برای
مثلثبندیهای
2‐d Delaunay
مینویسد. Qhull
یک پرونده '.mpl'
برای نمایش
با ()display3d تولید
میکند..TP Fn
چاپ
همسایهها
برای هر
وجه. خروجی
با تعداد
وجهها
آغاز
میشود. سپس
هر وجه، یکی
در هر سطر
چاپ میشود.
هر سطر شامل
تعداد
همسایهها
و به دنبال
آن یک نمایه
برای هر
همسایه است.
نمایهها
با دیگر
قالبهای
خروجی وجه
مطابقت
دارند.
یک نمایه منفی نشاندهنده وجه چاپنشده به دلیل چاپ فقط وجههای مناسب ('Pg') است. این مقدار قرینه شناسه وجه است (گزینه 'FI'). برای مثال، نمایههای منفی برای وجههای «در بینهایت» در مثلثبندی Delaunay استفاده میشوند.
- FN
- چاپ همسایگان رأس یا وجه همصفحه برای هر نقطه. سطر نخست تعداد نقاط است. سپس هر نقطه، یکی در هر سطر چاپ میشود. اگر نقطه همصفحه باشد، سطر "1" و به دنبال آن شناسه وجه خواهد بود. اگر نقطه یک رأس انتخابشده نباشد، سطر "0" است. در غیر این صورت، هر سطر شامل تعداد همسایهها و به دنبال آن نمایههای وجه متناظر است (نگاه کنید به 'Fn').
- Fo
- چاپ صفحههای بیرونی برای هر وجه با همان قالب 'n'. صفحه بیرونی بالاتر از تمام نقاط قرار دارد.
- Fo
- چاپ ابرصفحههای جداکننده برای نواحی کراندار نشده و بیرونی در نمودار Voronoi. سطر نخست، تعداد تیغهها (ridges) است. سپس هر ابرصفحه، یکی در هر سطر چاپ میشود. یک سطر با تعداد نمایهها و اعداد اعشاری شناور آغاز میشود. جفت نخست مکانهای ورودی مجاور را فهرست میکند، d عدد شناور بعدی ضرایب نرمالشده برای ابرصفحه هستند، و آخرین عدد شناور، آفست (offset) است. ابرصفحه به سمت 'QVn' (در صورت تعریف) یا اولین مکان ورودی جفت جهتگیری دارد. برای اطمینان از اینکه ابرصفحهها عمودمنصف هستند از 'Tv' استفاده کنید. از 'Fi' برای نواحی کراندار، و از 'Fv' برای رأسهای متناظر Voronoi استفاده کنید.
- FO
- فهرست کردن تمام گزینهها در stderr، از جمله مقادیر پیشفرض. موارد اضافی 'FO' در stdout چاپ میشوند.
- Fp
- چاپ نقاط برای تقاطعهای نیمفضا (گزینه 'Hn,n,...'). هر تقاطع با یک وجه از چندوجهی دوگان (dual polytope) مطابقت دارد. نقطه «بینهایت» [-10.101,-10.101,...] نشاندهنده یک تقاطع بیکران است.
- FP
- برای هر نقطه همصفحه ('Qc')، چاپ شناسه نقطه برای نزدیکترین رأس، شناسه نقطه، شناسه وجه، و فاصله.
- FQ
- چاپ دستور استفادهشده برای qhull و ورودی.
- Fs
- چاپ یک
خلاصه. سطر
نخست شامل
تعداد
اعداد صحیح
("8")، و به
دنبال آن
بعد، تعداد
نقاط،
تعداد
رأسها،
تعداد
وجهها،
تعداد
رأسهای
انتخابشده
برای
خروجی،
تعداد
وجههای
انتخابشده
برای
خروجی،
تعداد نقاط
همصفحه
انتخابشده
برای
خروجی، و
تعداد
وجههای
ساده (simplicial) و
ادغامنشده
در خروجی
است
سطر دوم شامل تعداد اعداد حقیقی ("2")، و به دنبال آن بیشینه آفست به یک صفحه بیرونی و کمینه آفست به یک صفحه درونی است. خطای گرد کردن لحاظ شده است. نسخههای بعدی Qhull ممکن است اعداد صحیح یا حقیقی بیشتری تولید کنند.
- FS
- چاپ اندازه
پوش (hull). سطر
نخست شامل
تعداد
اعداد صحیح
("0") است. سطر
دوم شامل
تعداد
اعداد
حقیقی ("2")، و
به دنبال آن
مساحت کل
وجه و حجم
کل است.
نسخههای
بعدی Qhull ممکن
است اعداد
صحیح یا
حقیقی
بیشتری
تولید کنند.
حجم کل، حجم تقاطع نیمفضاهای تعریفشده توسط هر وجه را اندازه میگیرد. هم مساحت و هم حجم برای وجههای غیرساده (non‐simplicial) تقریبی هستند. گزینه 'Fa' را ببینید.
- Ft
- چاپ یک مثلثبندی با نقاط افزودهشده برای وجههای غیرساده (non‐simplicial). سطر نخست بعد، و سطر دوم تعداد نقاط و تعداد وجهها است. سپس نقاط، یکی در هر سطر میآیند، و پس از آن وجهها به عنوان فهرستی از نمایههای نقطه میآیند. با گزینه 'Qz'، نقاط شامل نقطه در بینهایت (point‐at‐infinity) نیز میشوند.
- Fv
- چاپ رأسها برای هر وجه. سطر نخست، تعداد وجهها است. سپس هر وجه، یکی در هر سطر چاپ میشود. هر سطر شامل تعداد رأسها و به دنبال آن شناسه نقاط مربوطه است. رأسها به ترتیبی که به پوش اضافه شدهاند فهرست میشوند (آخرین مورد اول است).
- Fv
- چاپ تمام تیغههای یک نمودار Voronoi. سطر نخست، تعداد تیغهها است. سپس هر تیغه، یکی در هر سطر چاپ میشود. یک سطر با تعداد نمایهها آغاز میشود. جفت نخست مکانهای ورودی مجاور را فهرست میکند، و نمایههای باقیمانده رأسهای Voronoi را فهرست میکنند. رأس '0' نشاندهنده رأس در بینهایت (یعنی یک پرتو بیکران) است. در 3‐d، رأسها به ترتیب فهرست میشوند. برای ابرصفحههای جداکننده به 'Fi' و 'Fo' مراجعه کنید.
- FV
- چاپ میانگین رأس. میانگین رأس یک نقطه موجه (feasible point) برای تقاطع نیمفضا است.
- Fx
- فهرست کردن نقاط فرین (رأسها) پوش محدب. سطر نخست تعداد نقاط است. سطرهای دیگر نمایههای نقاط متناظر را ارائه میدهند. اولین نقطه '0' است. در 2‐d، نقاط در جهت پادساعتگرد ظاهر میشوند؛ در غیر این صورت به ترتیب ورودی ظاهر میشوند. برای مثلثبندیهای Delaunay، گزینه 'Fx' نقاط فرین مکانهای ورودی را فهرست میکند. نقاط فاقد ترتیب هستند.
- گزینههای Geomview
- G
- تولید یک فایل برای مشاهده با Geomview. بدون گزینههای دیگر، Qhull یالها را در 2‐d، صفحههای بیرونی را در 3‐d، و تیغهها را در 4‐d نمایش میدهد. یک تیغه میتواند صریح یا ضمنی باشد. یک تیغه صریح یک سیمپلکس با بعد dim-1 بین دو وجه است. در 4‐d، تیغههای صریح مثلث هستند. هنگام نمایش یک تیغه در 4‐d، Qhull رأسهای تیغه را روی ابرصفحه یکی از وجههای آن تصویر میکند. از 'Gh' برای تصویر کردن تیغهها روی تقاطع هر دو ابرصفحه استفاده کنید.
- Ga
- نمایش تمام نقاط ورودی به صورت نقطه.
- Gc
- نمایش سنتروم (centrum) برای هر وجه در 3‐d. سنتروم توسط یک شعاع سبز رنگ که روی یک صفحه آبی قرار دارد تعریف میشود. این صفحه با ابرصفحه وجه مطابقت دارد. شعاع توسط 'C-n' یا 'Cn' تعریف میشود.
- GDn
- حذف بعد n در 3‐d یا 4‐d. نتیجه یک شیء 2‐d یا 3‐d خواهد بود.
- Gh
- نمایش تقاطعهای ابرصفحه در 3‐d و 4‐d. در 3‐d، تقاطع یک خط سیاه است. این خط روی دو ابرصفحه همسایه قرار دارد (مقایسه کنید با مربعهای آبی متناظر با سنترومها ('Gc')). در 4‐d، تیغهها روی تقاطع هر دو ابرصفحه تصویر میشوند.
- Gi
- نمایش صفحههای درونی در 2‐d و 3‐d. صفحه درونی یک وجه پایینتر از تمام رأسهای آن قرار دارد. این صفحه موازی با ابرصفحه وجه است. رنگ صفحه درونی معکوس رنگ (1-r,1-g,1-b) صفحه بیرونی است. یالهای آن توسط رأسها تعیین میشوند.
- Gn
- عدم نمایش صفحههای درونی یا بیرونی. به طور پیشفرض، Geomview صفحه دقیق (بدون ادغام) یا هر دو صفحه درونی و بیرونی (ادغام) را نمایش میدهد. هنگام ادغام، اگر تفاوت بین صفحه درونی و بیرونی بسیار کوچک باشد، Geomview صفحه درونی را نمایش نمیدهد.
- Go
- نمایش صفحههای بیرونی در 2‐d و 3‐d. صفحه بیرونی یک وجه بالاتر از تمام نقاط ورودی قرار دارد. این صفحه با ابرصفحه وجه موازی است. رنگ آن توسط بردار نرمال وجه تعیین میشود، و یالهای آن توسط رأسها مشخص میشوند.
- Gp
- نمایش نقاط و رأسهای همصفحه به صورت شعاع. یک شعاع کرهای را تعریف میکند که متناظر با نادقیقی نقطه است. میزان نادقیقی، بیشینه خطای گرد کردن، شعاع سنتروم، و maxcoord * (1-An) است. این مقدار حداقل 1/20 از بیشینه مختصات است، و در صورت انجام پیشادغام، پسادغام (post‐merging) را نادیده میگیرد.
- Gr
- نمایش تیغهها در 3‐d. یک تیغه دو رأسی را که بین وجههای همسایه مشترک هستند متصل میکند. تیغهها همیشه در 4‐d نمایش داده میشوند.
- Gt
- یک مثلثبندی Delaunay در 3‐d مانند یک پوش محدب با وجههای داخلی به نظر میرسد. گزینه 'Gt' تیغههای بیرونی را حذف میکند تا بیرونیترین وجهها نمایان شوند. این گزینه به طور خودکار گزینههای 'Gr' و 'GDn' را تنظیم میکند..TP Gv نمایش رأسها به صورت کره. شعاع کره با عدم دقت دادهها متناسب است. برای تعیین شعاع به 'Gp' مراجعه کنید.
- گزینههای چاپ (Print options)
- PAn
- تنها n وجه از بزرگترین وجهها به عنوان مناسب برای چاپ علامتگذاری میشوند. مگر اینکه 'PG' تنظیم شده باشد، 'Pg' بهطور خودکار تنظیم میشود.
- Pdk:n
- اگر normal[k] <= n باشد، وجه از خروجی حذف میشود. گزینه 'Pdk' از مقدار پیشفرض 0 برای n استفاده میکند.
- PDk:n
- اگر normal[k] >= n باشد، وجه از خروجی حذف میشود. گزینه 'PDk' از مقدار پیشفرض 0 برای n استفاده میکند.
- PFn
- تنها وجههایی با مساحت حداقل 'n' به عنوان مناسب برای چاپ علامتگذاری میشوند. مگر اینکه 'PG' تنظیم شده باشد، 'Pg' بهطور خودکار تنظیم میشود.
- Pg
- تنها چاپ وجههای مناسب. یک وجه مناسب یا از یک نقطه قابل دیدن است (گزینه 'QGn') یا شامل یک نقطه است (گزینه 'QVn'). همچنین الزامات گزینههای 'Pdk' و 'PDk' را برآورده میکند. گزینه 'Pg' بهطور خودکار برای گزینههای 'd'، 'PAn'، 'PFn' و 'PMn' تنظیم میشود.
- PG
- چاپ همسایگان وجههای مناسب.
- PMn
- تنها n وجه با بیشترین ادغامها به عنوان مناسب برای چاپ علامتگذاری میشوند. مگر اینکه 'PG' تنظیم شده باشد، 'Pg' بهطور خودکار تنظیم میشود.
- Po
- اجبار به خروجی با وجود مشکلات دقت. اعتبارسنجی ('Tv') نقاط همصفحه را بررسی نمیکند. وجههای وارونه گزارش شده و وجههای مقعر شمرده میشوند. اگر از 'Po' استفاده شود، نقاط به وجههای وارونه افراز نمیشوند و یک وجه وارونه همیشه برای یک نقطه دیدهپذیر است. همچنین، اگر خطایی پیش از اتمام Qhull رخ دهد و ردگیری فعال نباشد، 'Po' همسایگی وجههای خطادار (در صورت وجود) را خروجی میدهد.
- Pp
- عدم گزارش مشکلات دقت.
- گزینههای کنترلی Qhull (Qhull control options)
- Qa
- مجاز بودن ورودی با نقاط کمتر یا بیشتر از مختصاتها
- Qbk:0Bk:0
- حذف بُعد k از نقاط ورودی. این امکان را به کاربر میدهد تا پوش محدب اشیاء زیر‐بُعدی را محاسبه کند. این کار پیش از تبدیلهای Delaunay و Voronoi انجام میشود.
- QbB
- مقیاسبندی نقاط ورودی برای برازش در مکعب واحد. پس از مقیاسبندی، کران پایین -0.5 و کران بالا +0.5 در تمامی ابعاد خواهد بود. برای نمودارهای Delaunay و Voronoi، مقیاسبندی پس از تصویر بر روی سهمیگون (paraboloid) رخ میدهد. تحت محاسبات ریاضی دقیق، مقیاسبندی توپولوژی پوش محدب را تغییر نمیدهد.
- Qbb
- مقیاسبندی آخرین مختصات به [0, m] که در آن m بیشینه مقدار مطلق سایر مختصاتها است. برای نمودارهای Delaunay و Voronoi، مقیاسبندی پس از تصویر بر روی سهمیگون انجام میشود. این کار خطای گرد کردن را برای ورودیهای با مختصات عدد صحیح کاهش میدهد. تحت محاسبات ریاضی دقیق، مقیاسبندی توپولوژی پوش محدب را تغییر نمیدهد.
- Qbk:n
- مقیاسبندی k-امین مختصات نقاط ورودی. پس از مقیاسبندی، کران پایین نقاط ورودی n خواهد بود. 'Qbk' به -0.5 مقیاسبندی میکند.
- QBk:n
- مقیاسبندی k-امین مختصات نقاط ورودی. پس از مقیاسبندی، کران بالای نقاط ورودی n خواهد بود. 'QBk' به +0.5 مقیاسبندی میکند.
- Qc
- نگهداشتن نقاط همصفحه در نزدیکترین وجه. قالبهای خروجی 'p'، 'f'، 'Gp'، 'Fc'، 'FN' و 'FP' این نقاط را چاپ خواهند کرد.
- Qf
- افراز نقاط به دورترین وجه بیرونی.
- Qg
- تنها ساخت وجههای مناسب. با گزینه 'Qg'، Qhull تنها آن وجههایی را میسازد که برای تعیین وجههای مناسب در خروجی به آنها نیاز دارد. برای تعریف وجههای مناسب به 'QGn'، 'QVn' و 'PdD'، و برای چاپ وجههای مناسب و همسایگانشان به 'Pg' و 'PG' مراجعه کنید.
- QGn
- یک وجه مناسب است (به 'Qg' و 'Pg' مراجعه کنید) اگر از نقطه n دیدهپذیر باشد. اگر n < 0 باشد، یک وجه مناسب است اگر از نقطه n دیدهپذیر نباشد. نقطه n به پوش اضافه نمیشود (مگر اینکه 'TCn' یا 'TPn' باشد). در rbox، از گزینه 'Pn,m,r' برای تعریف نقطه خود استفاده کنید؛ این نقطه 0 خواهد بود (QG0).
- Qi
- نگهداشتن نقاط درونی با نزدیکترین وجه. قالبهای خروجی 'p'، 'f'، 'Gp'، 'FN'، 'FP' و 'Fc' این نقاط را چاپ خواهند کرد.
- QJn
- لغزش تصادفی جزئی (Joggle) هر مختصات ورودی با افزودن یک عدد تصادفی در بازه [-n,n]. اگر یک خطای دقت رخ دهد، qhull مقدار n را افزایش داده و دوباره تلاش میکند. این مقدار فراتر از حد معینی افزایش نمییابد و پس از تعداد معینی از تلاشها متوقف میشود [user.h را ببینید]. گزینه 'QJ' یک مقدار پیشفرض را برای n برمیگزیند. خروجی سیمپلکسی خواهد بود. برای مثلثبندیهای Delaunay، گزینه 'QJn' مقدار 'Qbb' را برای مقیاسبندی آخرین مختصات تنظیم میکند (مگر اینکه 'Qbk:n' یا 'QBk:n' تنظیم شده باشد). گزینه 'QJn' برای نمودارهای Voronoi منسوخ شده است. همچنین به 'Qt' مراجعه کنید.
- Qm
- تنها پردازش نقاطی که در غیر این صورت max_outside را افزایش میدهند. با سایر نقاط به عنوان نقاط همصفحه یا درونی رفتار میشود.
- Qr
- پردازش نقاط بیرونی تصادفی به جای دورترین نقاط. این کار Qhull را معادل الگوریتمهای افزایشی تصادفی میسازد. زمان پردازنده (CPU time) گزارش نمیشود چرا که تصادفیسازی ناکارآمد است.
- QRn
- چرخش تصادفی نقاط ورودی. اگر n=0 باشد، از زمان به عنوان دانه (seed) عدد تصادفی استفاده کنید. اگر n>0 باشد، از n به عنوان دانه عدد تصادفی استفاده کنید. اگر n=-1 باشد، نچرخانید اما از زمان به عنوان دانه عدد تصادفی استفاده کنید. برای مثلثبندیهای Delaunay (گزینههای 'd' و 'v')، حول آخرین محور بچرخانید.
- Qs
- جستجوی تمام نقاط برای یافتن سیمپلکس اولیه.
- Qt
- خروجی مثلثبندیشده. مثلثبندی تمامی وجههای غیر‐سیمپلکسی. گزینه 'Qt' برای نمودارهای Voronoi منسوخ شده است. همچنین به 'Qt' مراجعه کنید.
- Qv
- بررسی تحدب همسایگان رأس پس از پس‐ادغام (post‐merging). برای استفاده از گزینه 'Qv'، همچنین باید یک گزینه ادغام را تنظیم کنید (مانند 'Qx' یا 'C-0').
- QVn
- یک وجه مناسب (به 'Qg' و 'Pg' مراجعه کنید) شامل نقطه n است. اگر n<0 باشد، وجه مناسب شامل نقطه n نیست. این نقطه یا در سیمپلکس اولیه است یا نخستین نقطهای است که به پوش اضافه میشود. گزینه 'QVn' نباید به همراه ادغام استفاده شود.
- Qw
- مجاز دانستن هشدارهای مربوط به گزینهها. در غیر این صورت Qhull پس از بیشتر هشدارهای گزینهها یک خطا بازمیگرداند.
- Qx
- انجام
ادغامهای
دقیق حین
ساخت پوش.
ادغامهای
«دقیق»
عبارتند از
ادغام یک
نقطه در یک
وجه
همصفحه
(تعریفشده
با 'Vn'، 'Un' و 'C-n')،
ادغام
وجههای
مقعر،
ادغام
تیغههای (ridges)
تکراری، و
ادغام
وجههای
وارونه.
ادغامهای
همصفحه و
ادغامهای
همصفحه
زاویهای ('A-n')
انجام
نمیشوند.
آزمایش
تقعر تا
زمان وقوع
یک ادغام به
تعویق
میافتد.
پس از ساخت پوش، تمامی ادغامهای همصفحه انجام میشوند (تعریفشده با 'C-n' و 'A-n')، سپس پس‐ادغامها انجام میشوند (تعریفشده با 'Cn' و 'An').
- Qz
- افزودن یک نقطه «در بینهایت» که بالاتر از سهمیگون قرار دارد برای مثلثبندیهای Delaunay و نمودارهای Voronoi. این کار مشکلات دقت را کاهش داده و امکان مثلثبندی نقاط همکره (cospherical) را فراهم میآورد.
- آزمایشها و شتابدهندههای Qhull (Qhull experiments and speedups)
- Q0
- غیرفعال کردن پیش‐ادغام (pre‐merging) به عنوان یک گزینه پیشفرض. با 'Q0'/'Qx' و بدون گزینههای صریح پیش‐ادغام، Qhull مسائل مربوط به دقت را هنگام ساخت پوش محدب نادیده میگیرد. این امر ممکن است منجر به خطاهای دقت شود. در این صورت، یک هشدار توصیفی تولید میشود..TP Q1 با 'Q1'، Qhull به جای نوع ادغام/فاصله (mergetype/distance)، بر اساس نوع ادغام/زاویه (mergetype/angle) ادغام میکند.
- Q2
- با 'Q2'، Qhull همه وجوه را به یکباره ادغام میکند، به جای آنکه از مجموعههای مستقل ادغام استفاده کرده و سپس مجدداً آزمایش کند.
- Q3
- با 'Q3'، Qhull رأسهای اضافی را حذف نمیکند.
- Q4
- با 'Q4'، Qhull از ادغام یک وجه قدیمی در یک وجه جدید جلوگیری میکند.
- Q5
- با 'Q5'، Qhull در پایان، صفحات بیرونی را تصحیح نمیکند. در عوض از بیشینه صفحه بیرونی استفاده میشود.
- Q6
- با 'Q6'، Qhull وجوه مقعر یا همصفحه را پیش‐ادغام (pre‐merge) نمیکند.
- Q7
- با 'Q7'، Qhull وجوه را به جای ترتیب سطح‐اول (breadth‐first)، با ترتیب عمق‐اول (depth‐first) پردازش میکند.
- Q8
- با 'Q8' و فعال بودن ادغام، Qhull نقاط نزدیک‐به‐درون را برای تنظیم صفحات بیرونی نگه نمیدارد. گزینه 'Qc' احتمالاً تمام نقاطی را که صفحات بیرونی را تنظیم میکنند نگه خواهد داشت.
- Q9
- با 'Q9'، Qhull در هر تکرار، دورترین نقطه از میان تمام مجموعههای بیرونی را پردازش میکند.
- Q10
- با 'Q10'، Qhull از پردازش ویژه برای توزیعهای باریک استفاده نمیکند.
- Q11
- با 'Q11'، Qhull بردارهای نرمال را کپی کرده و مرکزها (centrums) را برای وجوه سههمصفحه (tricoplanar) دوباره محاسبه میکند.
- Q12
- با 'Q12'، Qhull وجوه عریض و dupridgeهای عریض را مجاز میداند.
- Q14
- با 'Q14'، Qhull رأسهای فشردهشدهای (pinched) را که یک dupridge ایجاد میکنند ادغام میکند.
- Q15
- با 'Q15'، Qhull وجود یالهای مرزی چندبعدی (ridges) تکراری با رأسهای یکسان را بررسی میکند.
- گزینههای ردیابی (Trace options)
- Tn
- ردیابی در سطح n. برنامه Qhull شامل ردیابی کامل اجرای برنامه است. گزینه 'T-1' رویدادها را ردیابی میکند. گزینه 'T1' روند کلی اجرای برنامه را ردیابی میکند. گزینههای 'T2' و 'T3' اجرای کلی و رویدادهای هندسی و توپولوژیکی را ردیابی میکنند. گزینه 'T4' الگوریتم را ردیابی میکند. گزینه 'T5' شامل اطلاعات مربوط به تخصیص حافظه و حذف گوسی است.
- Ta
- حاشیهنویسی خروجی با کدهایی که عبارت qh_fprintf() مربوطه را مشخص میکنند.
- TAn
- توقف Qhull پس از افزودن n رأس.
- Tc
- بررسی مکرر در طول اجرا. این کار بیشتر خطاهای ناهماهنگی را شناسایی میکند.
- TCn
- توقف Qhull پس از ساخت مخروط وجوه جدید برای نقطه n. خروجی برای 'f' شامل مخروط و پوسته قدیمی است. همچنین 'TVn' را ببینید.
- Tf
- تخلیه بافر خروجی (flush) پس از هر qh_fprintf. از 'Tf' برای اشکالزدایی خطاهای دسترسی به حافظه (segfault) استفاده کنید. برای تغییر مسیر stderr گزینه 'Tz' را ببینید.
- TFn
- گزارش پیشرفت در هر بار ایجاد بیش از n وجه. در طول پس‐ادغام (post‐merging)، گزینه 'TFn' پیشرفت را پس از بیش از n/2 ادغام گزارش میدهد.
- TI file
- دریافت دادههای ورودی از 'file'. نام فایل نباید شامل فاصله یا علامت نقلقول باشد.
- TMn
- فعالسازی ردیابی در n-امین ادغام.
- TO file
- ارسال نتایج به 'file'. نام فایل میتواند درون علامتهای نقلقول تکی محصور شود.
- TPn
- فعالسازی ردیابی هنگام افزودن نقطه n به پوسته. افرازهای نقطه n ردیابی میشوند. اگر همراه با TWn استفاده شود، ردیابی پس از افزودن نقطه n به پوسته غیرفعال میشود.
- TP-1
- فعالسازی ردیابی پس از qh_buildhull و qh_postmerge.
- TRn
- اجرای مجدد qhull به تعداد n بار. معمولاً همراه با 'QJn' برای تعیین احتمال شکست یک تکانش (joggle) معین استفاده میشود.
- Ts
- جمعآوری آمار و چاپ در stderr در پایان اجرا.
- Tv
- اعتبارسنجی
پوسته محدب
(convex hull). این
گزینه
ساختار
توپولوژیکی،
تحدب وجوه و
شمول نقاط (point
inclusion) را بررسی
میکند. اگر
مشکلات دقت
رخ دهد،
تحدب وجوه
صرفنظر از
انتخاب یا
عدم انتخاب
'Tv' آزمایش
میشود. در
صورت اجبار
خروجی با 'Po'
یا در صورت
تعیین 'Q5'،
گزینه 'Tv'
شمول نقاط
را بررسی
نمیکند.
برای آزمایش شمول نقاط، Qhull بررسی میکند که تمام نقاط در زیر همه صفحات بیرونی (facet->maxoutside) قرار داشته باشند. در صورت ادغام یا در صورتی که حاصلضرب وجه‐نقطه به اندازه کافی کوچک باشد، شمول نقاط به صورت جامع (exhaustive) بررسی میشود؛ در غیر این صورت Qhull هر نقطه را با یک جستجوی هدایتشده (qh_findbest) بررسی میکند.
آزمایش شمول نقاط پس از تولید خروجی انجام میشود. این بررسی پیامی را در stderr چاپ میکند، مگر اینکه از گزینه 'Pp' استفاده شده باشد. این قابلیت به کاربر اجازه میدهد بدون تغییر خروجی، اجرای Qhull را متوقف کند.
- TVn
- توقف Qhull پس از افزودن نقطه n. اگر n < 0 باشد، Qhull پیش از افزودن نقطه n متوقف میشود. خروجی، پوسته را در این زمان نشان میدهد. همچنین 'TCn' را ببینید.
- TWn
- ردیابی ادغام وجوه هنگامی که پهنا از n بزرگتر است.
- Tz
- تغییر مسیر
stderr به stdout. برای
تخلیه بافر
نوشتنها،
'Tf' را ببینید.
لطفاً
باگها را
به Brad Barber در qhull_bug@qhull.org
گزارش دهید.
اگر Qhull کامپایل نمیشود، به دلیل ناسازگاری میان سیستم شما و ماست. نخستین موردی که باید بررسی شود این است که آیا کامپایلر شما با استاندارد ANSI مطابقت دارد یا خیر. اگر چنین است، صفحهٔ راهنما (man page) را برای بهترین گزینهها بررسی کنید، یا از کسی کمک بگیرید. چنانچه علت مشکل خود را پیدا کردید، لطفاً ایمیل بفرستید چرا که ممکن است به دیگران نیز کمک کند.
اگر Qhull کامپایل میشود اما هنگام اجرای مورد آزمایشی (rbox D4) از کار میافتد (crash میکند)، هنوز ناسازگاری میان سیستم شما و ما وجود دارد. معمولاً این مسئله ناشی از mem.c و تراز حافظه (memory alignment) بوده است. میتوانید از qh_NOmem در mem.h برای غیرفعال کردن مدیریت حافظه استفاده کنید. لطفاً چنانچه راهکاری برای رفع این مشکلات یافتید، ما را مطلع سازید.
اگر به مشکلی برخوردید، سعی کنید پیش از گزارش خطا آن را سادهسازی نمایید. ورودیهایی با اندازههای مختلف را امتحان کنید تا کوچکترین ورودی که موجب بروز خطا میشود را بیابید. مشتاقانه پذیرای این هستیم که با استفاده از ردگیری اجرا (execution trace) به عنوان راهنما، در میان کد به جستجوی خطا بپردازید. این امر بهویژه زمانی صدق میکند که در حال ادغام Qhull در برنامهٔ خود هستید.
هنگامی که خطایی را گزارش میکنید، لطفاً یک مجموعه داده (data set) را به انتهای پیام خود پیوست کنید. این کار به ما اجازه میدهد خودمان خطا را بازتولید و مشاهده کنیم. پروژهٔ Qhull به صورت پاره‐وقت نگهداری میشود.
رایانامه (E‐MAIL)
لطفاً مکاتبات را به qhull@qhull.org ارسال کرده و باگها را به qhull_bug@qhull.org گزارش دهید. به ما اطلاع دهید که چگونه از Qhull استفاده میکنید. اگر در مقالهای به آن ارجاع دادهاید، لطفاً مرجع و چکیدهٔ آن را بفرستید.
اگر مایل به دریافت اطلاعیههای Qhull (مانند نسخهٔ جدید) و اخبار (باگهای برطرفشده و غیره) هستید، اطلاع دهید تا شما را به فهرست پستی خود اضافه کنیم. چنانچه مایل به برقراری ارتباط با سایر کاربران Qhull هستید، شما را به نام مستعار (alias) qhull_users خواهیم افزود. برای اخبار اینترنتی دربارهٔ الگوریتمهای هندسی و پوشهای محدب (convex hulls)، به comp.graphics.algorithms و sci.math.num-analysis مراجعه کنید.
همچنین ببینید (SEE ALSO)
rbox(1)
Barber, C. B., D.P. Dobkin, and H.T. Huhdanpaa, "The Quickhull Algorithm for Convex Hulls," ACM Trans. on Mathematical Software, 22(4):469–483, Dec. 1996. http://portal.acm.org/citation.cfm?doid=235815.235821 http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.117.405
Clarkson, K.L., K. Mehlhorn, and R. Seidel, "Four results on randomized incremental construction," Computational Geometry: Theory and Applications, vol. 3, p. 185–211, 1993.
Preparata, F. and M. Shamos, Computational Geometry, Springer‐Verlag, New York, 1985.
نویسندگان (AUTHORS)
C. Bradford Barber Hannu Huhdanpaa bradb@shore.net hannu@qhull.org .fi
سپاسگزاری (ACKNOWLEDGEMENTS)
با تشکر ویژه از Albert Marden، Victor Milenkovic، Geometry Center، Harvard University و .Endocardial Solutions, Inc برای پشتیبانی از این کار.
نسخههای 1.0 و 2.0 نرمافزار Qhull تحت کمکهزینههای بنیاد ملی علوم (National Science Foundation) به شمارههای NSF/DMS‐8920161 و NSF‐CCR‐91‐15793 750‐7504 توسعه یافتند. David Dobkin هدایت کار اولیه را در دانشگاه پرینستون (Princeton University) بر عهده داشت. اگر آن را مفید میدانید، لطفاً به ما اطلاع دهید.
مرکز Geometry Center با کمکهزینهٔ DMS‐8920161 از بنیاد ملی علوم، کمکهزینهٔ DOE/DE‐FG02‐92ER25137 از وزارت انرژی (Department of Energy)، دانشگاه مینهسوتا (University of Minnesota)، و .Minnesota Technology, Inc پشتیبانی میشود.
نرمافزار Qhull از نشانی http://www.qhull.org در دسترس است.
| 2003/12/30 | Geometry Center |