Editor node dan pemrograman visual
Editor node sangat populer terutama dalam pipeline pemrosesan gambar dan pemrograman shader di mesin game. Sebagai contoh, berikut adalah pertanyaan stackoverflow tentang penerapan editor node seperti Blender untuk python. Mereka juga muncul dalam ilmu data, seperti di KNIME dan Orange .
Saya bertanya-tanya apakah Mathematica akan mendapat manfaat dari editor node dalam beberapa kasus. Saya terburu-buru membuat sesuatu yang mirip secara visual, tetapi ada banyak kebiasaan dalam grafik Mathematica dan ada juga hal lain yang perlu dipertimbangkan seperti struktur data apa yang akan digunakan untuk node dan koneksi. Lalu ada masalah untuk dapat secara dinamis bergerak di sekitar node dan menyeret node, memperpanjang koneksi / menghapus koneksi, dll.
- Apakah sudah ada implementasi? Jika tidak, apakah ada cara untuk membangun yang lebih dinamis disesuaikan
Graphdan 'mengeksekusinya'? Kita bisa mendapatkanTreeForm[Plus[Times[x, y], z]]misalnya, tapi bagaimana kita bisa membangun grafik itu dengan cara drag-and-drop? - Apakah layak untuk dipelajari di Mathematica, atau akankah lebih baik untuk menerapkan dengan Python, mengompilasi grafik ke dalam ekspresi Mathematica, dan memanggil melalui pustaka klien?
Jawaban
Apakah sudah ada implementasi?
Ada dua implementasi yang muncul dalam pikiran.
- VisX (disajikan di Komunitas Wolfram di sini )
- Implementasi Scratch Blocks
Yang pertama telah "dalam pengembangan" untuk waktu yang lama sekarang, dan belum dirilis, tetapi mungkin ada baiknya untuk melihat seseorang yang menuju ke jalur ini.
Apakah layak untuk dipelajari di Mathematica, atau akankah lebih baik untuk menerapkan dengan Python, mengompilasi grafik ke dalam ekspresi Mathematica, dan memanggil melalui pustaka klien?
Pendapat pribadi saya adalah bahwa antarmuka visual lebih baik diimplementasikan seperti misalnya aplikasi Electron , yang dapat berjalan di atas Mesin Wolfram. Memperkenalkan ketergantungan pada antarmuka notebook tampaknya tidak terlalu menguntungkan, tetapi pada akhirnya yang terpenting adalah tentang teknologi apa yang ingin Anda gunakan.