Editor node dan pemrograman visual

Oct 02 2020

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 mendapatkan TreeForm[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

4 C.E. Oct 01 2020 at 23:26

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.