`html
เอกสารนี้ให้ภาพรวมของ Apache Sedona และ Mitsuba 3 ซึ่งเป็นสองโครงการที่แตกต่างกันซึ่งมุ่งเน้นไปที่การประมวลผลเชิงพื้นที่และการเรนเดอร์ตามลำดับ Apache Sedona เป็นเครื่องมือประมวลผลเชิงพื้นที่ที่ทรงพลังสำหรับการวิเคราะห์ข้อมูลขนาดใหญ่ ในขณะที่ Mitsuba 3 เป็นระบบการเรนเดอร์ที่เน้นการวิจัยซึ่งให้ประสิทธิภาพสูงและสามารถสร้างความแตกต่างได้ ทั้งสองโครงการนำเสนอเอกสารที่ครอบคลุมและการสนับสนุนจากชุมชน
เข้าร่วมชุมชน
ติดตาม Sedona บน Twitter เพื่อรับข่าวสารใหม่: Sedona@Twitter
เข้าร่วมชุมชน Sedona Discord:
เข้าร่วมสำนักงานชุมชนเซดอนารายเดือน: Google ปฏิทิน วันอังคาร เวลา 8.00 น. ถึง 9.00 น. ตามเวลาแปซิฟิก ทุก 4 สัปดาห์
Sedona JIRA: จุดบกพร่อง คำขอดึงข้อมูล และปัญหาอื่นๆ ที่คล้ายกัน
รายชื่อผู้รับจดหมาย Sedona: [email protected]: การพัฒนาโครงการ คำถามทั่วไป หรือบทช่วยสอน
Apache Sedona คืออะไร?
Apache Sedona™ เป็นเครื่องมือประมวลผลเชิงพื้นที่ที่ช่วยให้นักพัฒนาสามารถประมวลผลข้อมูลเชิงพื้นที่ได้อย่างง่ายดายทุกขนาดภายในระบบประมวลผลคลัสเตอร์สมัยใหม่ เช่น Apache Spark และ Apache Flink
นักพัฒนา Sedona สามารถแสดงงานการประมวลผลข้อมูลเชิงพื้นที่ของตนใน Spatial SQL, Spatial Python หรือ Spatial R ได้ ภายใน Sedona มีฟังก์ชันการโหลดข้อมูลเชิงพื้นที่ การทำดัชนี การแบ่งพาร์ติชัน และฟังก์ชันการประมวลผล/เพิ่มประสิทธิภาพแบบสอบถาม ซึ่งช่วยให้ผู้ใช้สามารถวิเคราะห์ข้อมูลเชิงพื้นที่ได้อย่างมีประสิทธิภาพในทุกขนาด
คุณสมบัติ
คุณสมบัติหลักบางประการของ Apache Sedona ได้แก่:
นี่คือคุณสมบัติหลักบางประการของ Apache Sedona แต่อาจมีความสามารถเพิ่มเติม ขึ้นอยู่กับเวอร์ชันและการกำหนดค่าเฉพาะ
คลิกและเล่น Sedona Python Jupyter Notebook แบบโต้ตอบได้ทันที!
เมื่อใดจึงควรใช้เซดอนา?
กรณีการใช้งาน:
Apache Sedona เป็นเฟรมเวิร์กที่ใช้กันอย่างแพร่หลายสำหรับการทำงานกับข้อมูลเชิงพื้นที่ และมีกรณีการใช้งานและแอปพลิเคชันต่างๆ มากมาย กรณีการใช้งานหลักบางส่วนสำหรับ Apache Sedona ได้แก่:
ตัวอย่างรหัส:
ตัวอย่างนี้โหลดบันทึกการเดินทางแท็กซี่ใน NYC และข้อมูลโซนรถแท็กซี่ที่จัดเก็บเป็นไฟล์ .CSV บน AWS S3 ลงในเฟรมข้อมูลเชิงพื้นที่ Sedona จากนั้นจะทำการสืบค้น SQL เชิงพื้นที่ในชุดข้อมูลการเดินทางด้วยแท็กซี่เพื่อกรองบันทึกทั้งหมด ยกเว้นที่อยู่ในพื้นที่แมนฮัตตันของนิวยอร์ก ตัวอย่างยังแสดงการดำเนินการรวมเชิงพื้นที่ที่จับคู่บันทึกการเดินทางของรถแท็กซี่กับโซนต่างๆ โดยขึ้นอยู่กับว่าการเดินทางของรถแท็กซี่นั้นอยู่ภายในขอบเขตทางภูมิศาสตร์ของโซนหรือไม่ สุดท้าย ข้อมูลโค้ดสุดท้ายจะรวมเอาต์พุตของ Sedona เข้ากับ GeoPandas และวางแผนการกระจายเชิงพื้นที่ของชุดข้อมูลทั้งสองชุด
โหลดข้อมูลการเดินทางแท็กซี่และโซนแท็กซี่ใน NYC จากไฟล์ CSV ที่จัดเก็บไว้ใน AWS S3
แบบสอบถาม SQL เชิงพื้นที่เพื่อส่งคืนการเดินทางแท็กซี่ในแมนฮัตตันเท่านั้น
Spatial Join ระหว่าง Taxi Dataframe และ Zone Dataframe เพื่อค้นหาแท็กซี่ในแต่ละโซน
แสดงแผนที่ของ Spatial Dataframes ที่โหลดโดยใช้ GeoPandas
ภาพนักเทียบท่า
เราจัดเตรียมอิมเมจ Docker สำหรับ Apache Sedona พร้อมด้วย Python JupyterLab และคลัสเตอร์แบบโหนดเดียว รูปภาพมีอยู่ใน DockerHub
อาคารเซดอนา
ในการติดตั้งแพ็คเกจ Python:
หากต้องการรวบรวมซอร์สโค้ด โปรดดูที่เว็บไซต์ Sedona
โมดูลในซอร์สโค้ด
เอกสารประกอบ
กรุณาเยี่ยมชมเว็บไซต์ Apache Sedona สำหรับข้อมูลโดยละเอียด
ขับเคลื่อนโดย
ตัวอย่าง:
มิตสึบะ เรนเดอร์เรอร์ 3
เอกสารประกอบ | วิดีโอสอน | ลินุกซ์ | แมคโอเอส | หน้าต่าง | พีพีไอ |
---|---|---|---|---|---|
คำเตือน
ขณะนี้มีงานที่ไม่มีเอกสารและไม่มั่นคงเกิดขึ้นจำนวนมาก
สาขา master
เราขอแนะนำให้คุณใช้ของเรา
รุ่นล่าสุด
จนกว่าจะมีประกาศต่อไป
หากคุณต้องการลองใช้การเปลี่ยนแปลงที่กำลังจะเกิดขึ้น โปรดดูที่
คู่มือการย้ายนี้
ควรครอบคลุมคุณลักษณะใหม่ส่วนใหญ่และการเปลี่ยนแปลงที่กำลังจะเกิดขึ้น
การแนะนำ
Mitsuba 3 เป็นระบบการเรนเดอร์ที่เน้นการวิจัยสำหรับแสงไปข้างหน้าและไฟผกผัน
การจำลองการขนส่งที่พัฒนาขึ้นที่ EPFL ในประเทศสวิตเซอร์แลนด์
ประกอบด้วยไลบรารีหลักและชุดปลั๊กอินที่ใช้ฟังก์ชันการทำงาน
ตั้งแต่วัสดุและแหล่งกำเนิดแสงไปจนถึงอัลกอริธึมการเรนเดอร์ที่สมบูรณ์
Mitsuba 3 สามารถกำหนดเป้าหมายใหม่ได้ : นี่หมายความว่าการใช้งานพื้นฐานและ
โครงสร้างข้อมูลสามารถแปลงสภาพเพื่อทำงานต่างๆ ให้สำเร็จได้ สำหรับ
ตัวอย่าง รหัสเดียวกันสามารถจำลองการขนส่ง RGB ทั้งแบบสเกลาร์ (คลาสสิกหนึ่งเรย์ต่อครั้ง)
หรือการขนส่งสเปกตรัมที่แตกต่างกันบน GPU ทั้งหมดนี้สร้างขึ้น
Dr.Jit คอมไพเลอร์เฉพาะทาง just-in-time (JIT) ที่พัฒนาขึ้นสำหรับโปรเจ็กต์นี้โดยเฉพาะ
คุณสมบัติหลัก
ข้ามแพลตฟอร์ม : Mitsuba 3 ได้รับการทดสอบบน Linux ( x86_64
), macOS
( aarch64
, x8664
) และ Windows ( x8664
)
ประสิทธิภาพสูง : คอมไพเลอร์ Dr.Jit พื้นฐานจะฟิวส์โค้ดการเรนเดอร์
สู่เมล็ดพืชที่ได้รับประสิทธิภาพอันล้ำสมัยโดยใช้
แบ็กเอนด์ LLVM ที่กำหนดเป้าหมาย CPU และแบ็กเอนด์ CUDA/OptiX
กำหนดเป้าหมาย NVIDIA GPU ด้วยการเร่งด้วยฮาร์ดแวร์ Ray Tracing
Python ก่อน : Mitsuba 3 ได้รับการบูรณาการอย่างลึกซึ้งกับ Python วัสดุ,
พื้นผิวและแม้กระทั่งอัลกอริธึมการเรนเดอร์แบบเต็มสามารถพัฒนาได้ใน Python
ซึ่งระบบ JIT คอมไพล์ (และเลือกสร้างความแตกต่าง) ได้ทันที
สิ่งนี้ทำให้สามารถทดลองที่จำเป็นสำหรับการวิจัยในคอมพิวเตอร์กราฟิกและ
สาขาวิชาอื่น ๆ
ความแตกต่าง : Mitsuba 3 เป็นตัวเรนเดอร์ที่สร้างความแตกต่างได้ ซึ่งหมายความว่ามัน
สามารถคำนวณอนุพันธ์ของการจำลองทั้งหมดโดยคำนึงถึงอินพุต
พารามิเตอร์ต่างๆ เช่น ท่าทางกล้อง เรขาคณิต BSDF พื้นผิว และปริมาตร มัน
ใช้อัลกอริธึมการเรนเดอร์เชิงอนุพันธ์ล่าสุดที่พัฒนาขึ้นที่ EPFL
สเปกตรัมและโพลาไรเซชัน : Mitsuba 3 สามารถใช้เป็นสีเดียวได้
ตัวเรนเดอร์ ตัวเรนเดอร์แบบ RGB หรือตัวเรนเดอร์สเปกตรัม แต่ละรุ่นได้
สามารถเลือกพิจารณาถึงผลกระทบของโพลาไรเซชันได้หากต้องการ
วิดีโอสอน เอกสารประกอบ
เราได้บันทึกวิดีโอ YouTube หลายรายการที่มีการแนะนำอย่างนุ่มนวล
มิตซูบา 3 และ คุณหมอจิตร. นอกเหนือจากนี้ คุณจะพบสมุดบันทึก Juypter ฉบับสมบูรณ์
ครอบคลุมการใช้งาน คำแนะนำวิธีใช้ และเอกสารอ้างอิงที่หลากหลาย
บน readthedocs
การติดตั้ง
เราจัดเตรียมล้อไบนารีที่คอมไพล์ไว้ล่วงหน้าผ่าน PyPI การติดตั้ง Mitsuba ด้วยวิธีนี้ทำได้ง่ายเพียงแค่ใช้งาน
pip ติดตั้งมิตซูบา
บนบรรทัดคำสั่ง แพ็คเกจ Python มีตัวแปรสิบสามแบบตามค่าเริ่มต้น:
scalar_rgb
scalar_spectral
scalarspectralpolarized
llvmadrgb
llvmadmono
llvmadmono_polarized
llvmadspectral
llvmadspectral_polarized
cudaadrgb
cudaadmono
cudaadmono_polarized
cudaadspectral
cudaadspectral_polarized
สองรายการแรกทำการจำลองแบบหนึ่งเรย์ต่อครั้งแบบคลาสสิกโดยใช้ RGB
หรือการแสดงสีสเปกตรัม ในขณะที่สองอันหลังสามารถใช้สำหรับการผกผันได้
แสดงผลบน CPU หรือ GPU หากต้องการเข้าถึงตัวแปรเพิ่มเติม คุณจะต้อง
รวบรวม Dr.Jit เวอร์ชันที่กำหนดเองโดยใช้ CMake โปรดดูที่
เอกสารประกอบ
สำหรับรายละเอียดเกี่ยวกับเรื่องนี้
ความต้องการ
Python >= 3.8
(ทางเลือก) สำหรับการคำนวณบน GPU: Nvidia driver >= 495.89
(ทางเลือก) สำหรับการคำนวณแบบเวกเตอร์ / แบบขนานบน CPU: LLVM >= 11.1
การใช้งาน
นี่คือตัวอย่าง "Hello World" ง่ายๆ ที่แสดงให้เห็นว่าการเรนเดอร์ a เป็นเรื่องง่ายเพียงใด
ฉากโดยใช้ Mitsuba 3 จาก Python:
# นำเข้าไลบรารีโดยใช้นามแฝง "mi" นำเข้า mitsuba เป็น mi# ตั้งค่าตัวแปรของ renderermi.setvariant('scalarrgb')# โหลดฉากฉาก = mi.loติดยาเสพติด(mi.cornellbox())# เรนเดอร์ฉาก img = mi render(scene)# เขียนภาพที่เรนเดอร์ไปยังไฟล์ EXRmi.Bitmap(img).write('cbox.exr')
สามารถดูบทช่วยสอนและสมุดบันทึกตัวอย่างที่ครอบคลุมการใช้งานที่หลากหลาย
ในเอกสารประกอบ
เกี่ยวกับ
โปรเจ็กต์นี้สร้างโดย Wenzel Jakob
คุณสมบัติที่สำคัญและ/หรือการปรับปรุงโค้ดได้รับการสนับสนุนโดย
เซบาสเตียน สไปเรอร์,
นิโคลัส รุสเซล,
เมอร์ลิน นิเมียร์-เดวิด
เดลิโอ วิชินี่,
ทิเซียน เซลท์เนอร์,
แบปติสต์ นิโคเลต์,
มิเกล เครสโป,
วินเซนต์ เลอรอย และ
จือยี่ จาง.
เมื่อใช้ Mitsuba 3 ในโครงการวิชาการ โปรดอ้างอิง:
@software{Mitsuba3,title = {Mitsuba 3 renderer},ผู้เขียน = {Wenzel Jakob และ Sébastien Speierer และ Nicolas Roussel และ Merlin Nimier-David และ Delio Vicini และ Tizian Zeltner และ Baptiste Nicolet และ Miguel Crespo และ Vincent Leroy และ Ziyi Zhang} หมายเหตุ = {https://mitsuba-renderer.org},รุ่น = {3.1.1},ปี = 2022}
-