ענן נקודות (באנגלית, Point Cloud) הוא מערך של נקודות במערכת קואורדינטות מסוימת. במערכת קואורדינטות תלת־ממדית, נקודות אלה מסומנות בדרך כלל ב־X ,Y ו־ Z, ולעיתים קרובות הן נועדו לייצג משטחים חיצוניים של אובייקט. הסריקות יכולות להיות של אלמנטים קטנים ועד תאי שטח של כמה קילומטרים.
ענן נקודות יכול להיווצר כתוצר של סורקי 3D. מכשירים אלה מודדים מספר גדול של נקודות על שטח הפנים של האובייקט, ולעיתים קרובות מפיקים קובץ נתונים המכיל את ענן הנקודות.
ענני נקודות, המהווים פלט של סריקות תלת מימד, משמשים למטרות רבות, כולל יצירת מודלים של CAD (תכנון בעזרת מחשב) לצורך ייצור חלקים, מטרולוגיה / בקרת איכות, ומגוון יישומים של ויזואליזציה, אנימציה, רינדור והתאמה אישית המונית.
המרת ענני נקודות
בעוד אפשרי לבצע רינדור גרפיקת תלת מימד ובדיקה ישירות בענן הנקודות,[1][2] בדרך כלל לא אפשרי להשתמש בענן הנקודות באופן ישיר ברוב אפליקציות התלת מימד, ולכן יש להמיר אותם לפני כן למודלים של מפת פוליגונים (polygon mesh) או למפת משולשים (triangle mesh), או למודלים של משטחי NURBS או CAD, באמצעות תהליך המכונה באופן כללי כ"בנייה מחדש" של משטחים.
ישנן שיטות רבות להמרת ענן נקודות למשטח ב־3D .[3] גישות מסוימות, כגון דלאוני טריאנגולציה, צורות אלפא (alpha shapes), ו־ball pivoting, מייצרות רשת של משולשים על הקודקודים הקיימים של ענן הנקודות. גישות אחרות ממירות את ענן הנקודות לשדה מרחקים וולומטרי (volumetric distance field) ובונה מחדש את המשטח באמצעות אלגוריתם marching cubes.[4]
יישום אחד של ענני נקודות הוא מטרולוגיה תעשייתית או בדיקה באמצעות טומוגרפיה תעשייתית ממוחשבת. ניתן להשוות את ענן הנקודות של חלק מיוצר למודל ה־CAD שלו, או אפילו לענן נקודות אחר, כדי לזהות הבדלים. את ההבדלים הללו ניתן להציג כמפת צבעים המעניקה חיווי חזותי של ההבדל בין החלק המיוצר לבין מודל ה־CAD. ניתן לחלץ מענן הנקודות גם ממדים גאומטריים ועמידות.
ענני נקודות יכולים לשמש גם כדי לייצג נתוני נפח, המשמשים לדוגמה עבור הדמיה רפואית, כגון MRI ו־CT בהם משתמשים באלגוריתם Marching Cube. באמצעות ענן הנקודות ניתן לבצע ריבוי דגימות ודחיסת נתונים.[5]
כאשר נסרקים מרחבים או אובייקטים גדולים נוצר ענן נקודות עצום שיכול להגיע למיליארדי נקודות, שאותו לא ניתן לאחסן או לעבד באמצעות הזיכרון וכוח המחשוב של מכשיר טלפון חכם ולעיתים אף מחשב רגיל. לכן נדרשת שיטה עיבוד חסכונית בזיכרון שתאפשר שליפה והצגה של ענני הנקודות.[8] Potree היא ספרייה שפותחה במיוחד כדי להציג ענני נקודות גדולים בסביבות Web ללא צורך בעוצמת מחשוב גבוהה. Potree מאפשרת להציג למשתמש, בכל רגע נתון, רק את המידע הרלוונטי עבורו, ובכך היא מצמצמת את כמות הנקודות שיש לעבד. הספרייה מבוססת קוד פתוח ו־WebGL והיא נתמכת בעיקר על ידי חברת Rapidlasso. באמצעות הספרייה ניתן גם לשלב בין ענני נקודות או להוסיף שכבות מידע על גבי מודל התלת מימד.
ראו גם
Euclideon, מנוע 3D העושה שימוש באלגוריתם של ענן נקודות כדי לבצע רינדור של תמונות
MeshLab, כלי קוד פתוח לניהול ענני נקודות ולהמרה שלהם ל- triangular mesh ב-3D.
CloudCompare, כלי קוד פתוח לצפייה, עריכה ועיבוד ענני נקודות בדחיסות גבוהה
PDAL, ספריית קוד פתוח לתרגום של נתוני ענן נקודות לפורמט abstraction
הערות שוליים
^Levoy, M. and Whitted, T., "The use of points as a display primitive".. Technical Report 85-022, Computer Science Department, University of North Carolina at Chapel Hill, January, 1985
^Rusinkiewicz, S. and Levoy, M. 2000. QSplat: a multiresolution point rendering system for large meshes. In Siggraph 2000. ACM, New York, NY, 343–352. DOI=http://doi.acm.org/10.1145/344779.344940