sdf_intersect — 3D sdf_csg op

• Data kinds: sdf × sdf → sdf

• Call: import fullseye as fs; fs.ledger.sdf_intersect(a, b) (implementation को सीधे call करना हो तो import sdf_ops; sdf_ops.sdf_intersect(a, b), registry से लेना हो तो ops3d.get("sdf_intersect"))

• GPU: नहीं (केवल CPU reference implementation)

उपयोग

2 SDFs का intersection A∩B = element-wise max(a, b) (केवल दोनों के अंदर होने पर अंदर)।

शून्य समसतह दोनों सीमाओं का सामान्य भाग है। अंदर और बाहर दोनों आम तौर पर सख्त एसडीएफ नहीं हैं, लेकिन दूरी की निचली सीमाएं हो सकती हैं।

गणना: np.maximum(np.asarray(a,float64)),np.asarray(b,float64))। प्रति तत्व अधिकतम, इसलिए एक बिंदु (नकारात्मक) A∩B के अंदर तभी होता है जब a < 0 और b < 0 होता है। आकार को केवल सुसंगत रूप से प्रसारित करने की आवश्यकता है (यदि नहीं, तो numpy का ValueError), कोई अन्य परीक्षण नहीं किया जाएगा. NaN को प्रचारित किया जाता है, ±inf को सख्ती से प्रचारित किया जाता है (max(a, -inf) = a)।

इनपुट: एक ही ग्रिड पर दो एसडीएफ का मूल्यांकन किया गया (sphere_sdf / box_sdf / (जैसे कि esdf का आउटपुट, आंतरिक नकारात्मक और बाहरी सकारात्मक)। दूरी इकाई इनपुट के समान है।

रिटर्न: प्रसारण के बाद आकार का एक फ्लोट64। <= 0 A∩B का व्यवसाय है।

ध्यान दें:

• बाहरी मान वास्तविक दूरी से छोटे हो सकते हैं: चौराहे के बाहर, यदि बिंदु ए के बाहर और बी के बाहर है जब max(a, b) सबसे दूर की सतह की दूरी होती है, तो A∩B की सतह और भी दूर होती है। वहाँ चीजें हैं (निचली सीमा)। शून्य आइसोसतह सटीक है.

• यदि कोई सामान्य भाग नहीं है, तो सभी तत्व सकारात्मक होंगे (अधिभोग 0) और कोई त्रुटि नहीं होगी।

• सीएसजी "काटने" के लिए उपयोग किया जाता है जैसे कि एक बॉक्स के साथ एक गोले को काटना या दो बक्से के साथ एक प्रिज्म बनाना। A से B घटाना sdf_subtract है।

संदर्भ (sample data, साहित्य)

• Sample data catalog (DL URL / license) — 2-D के लिए skimage.data (BSD/public) + synthetic, 3-D के लिए real data sources (Stanford/PDS आदि) के DL URL।

• Operators का स्रोत और संदर्भ — इस op family के मूल research/methods के स्रोत।

चलाए जा सकने वाले उदाहरण (verified samples जो सच में यह op call करते हैं)

• gear_metrology — py -3.11 examples_3d/gear_metrology.py

• render_beauty — py -3.11 examples_3d/render_beauty.py

• sdf_csg — py -3.11 examples_3d/sdf_csg.py

वे अगले ops जिनसे type जुड़ता है (sdf को input के रूप में लेते हैं)

sdf_to_occupancy · fuse_to_voxel · integrate · extract_surface_points · query_distance · sdf_union · sdf_subtract · sdf_smooth_union

इसी category के (sdf_csg)

grid_coords · sphere_sdf · box_sdf · plane_sdf · cylinder_sdf · torus_sdf · capsule_sdf · sdf_union


*Provenance: sdf_ops.py — 3D operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.