{"id":476,"date":"2014-04-28T23:49:02","date_gmt":"2014-04-28T21:49:02","guid":{"rendered":"http:\/\/www.blenderclick.it\/wordpress\/?p=476"},"modified":"2014-11-14T00:30:43","modified_gmt":"2014-11-13T23:30:43","slug":"python-appunti-di-studio-1","status":"publish","type":"post","link":"https:\/\/www.blenderclick.it\/wordpress\/python-appunti-di-studio-1\/","title":{"rendered":"Python &#8211; Appunti di studio 1"},"content":{"rendered":"<p><a href=\"http:\/\/www.blenderclick.it\/wordpress\/wp-content\/uploads\/2014\/04\/python.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-478\" src=\"http:\/\/www.blenderclick.it\/wordpress\/wp-content\/uploads\/2014\/04\/python.png\" alt=\"python\" width=\"960\" height=\"540\" srcset=\"https:\/\/www.blenderclick.it\/wordpress\/wp-content\/uploads\/2014\/04\/python.png 960w, https:\/\/www.blenderclick.it\/wordpress\/wp-content\/uploads\/2014\/04\/python-300x168.png 300w\" sizes=\"auto, (max-width: 960px) 100vw, 960px\" \/><\/a><\/p>\n<p>Fermi tutti.<\/p>\n<p>Prima di rompervi le scatole con una tonnellata di teoria proviamo a fare qualcosa di pratico.<\/p>\n<p>Aprite Blender e cancellate il cubo. Fin qui tutto ok, giusto?<\/p>\n<p>Bene.<\/p>\n<p>Cambiate il tipo di editor della finestra in basso da Timeline a Python Console.<\/p>\n<p><a href=\"http:\/\/www.blenderclick.it\/wordpress\/wp-content\/uploads\/2014\/04\/140428-0001.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-481 size-large\" src=\"http:\/\/www.blenderclick.it\/wordpress\/wp-content\/uploads\/2014\/04\/140428-0001-1024x710.png\" alt=\"140428-0001\" width=\"604\" height=\"418\" srcset=\"https:\/\/www.blenderclick.it\/wordpress\/wp-content\/uploads\/2014\/04\/140428-0001-1024x710.png 1024w, https:\/\/www.blenderclick.it\/wordpress\/wp-content\/uploads\/2014\/04\/140428-0001-300x208.png 300w, https:\/\/www.blenderclick.it\/wordpress\/wp-content\/uploads\/2014\/04\/140428-0001.png 1592w\" sizes=\"auto, (max-width: 604px) 100vw, 604px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"http:\/\/www.blenderclick.it\/wordpress\/wp-content\/uploads\/2014\/04\/140428-0002.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-482 size-large\" src=\"http:\/\/www.blenderclick.it\/wordpress\/wp-content\/uploads\/2014\/04\/140428-0002-441x1024.png\" alt=\"140428-0002\" width=\"441\" height=\"1024\" srcset=\"https:\/\/www.blenderclick.it\/wordpress\/wp-content\/uploads\/2014\/04\/140428-0002-441x1024.png 441w, https:\/\/www.blenderclick.it\/wordpress\/wp-content\/uploads\/2014\/04\/140428-0002-129x300.png 129w, https:\/\/www.blenderclick.it\/wordpress\/wp-content\/uploads\/2014\/04\/140428-0002.png 860w\" sizes=\"auto, (max-width: 441px) 100vw, 441px\" \/><\/a><\/p>\n<p>Wow! Che \u00e8?<\/p>\n<p>Aspetta, non farti domande. Almeno per i prossimi 30 secondi.<\/p>\n<p>Vedi questa strana scritta qui sotto?<\/p>\n<p>&nbsp;<\/p>\n<p><strong>for x in range(500): bpy.ops.mesh.primitive_uv_sphere_add(view_align=False, enter_editmode=False, location=((x\/10)*sin(x), (x\/10)\/cos(x), (x\/10)*cos(x)), layers=(True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False))<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p>Ecco, copiala e incollala nella Python Console.<\/p>\n<p>Premi INVIO 2 volte e attendi qualche secondo.<\/p>\n<p>Ecco fatto. Hai appena detto a Blender di inserire 500 sfere nella scena seguendo uno schema dettato dalle seguenti formule:<\/p>\n<ul>\n<li>per l&#8217;asse X:\u00a0<strong>(x\/10)*sin(x)<\/strong><\/li>\n<li>per l&#8217;asse Y:\u00a0<strong>(x\/10)\/cos(x)<\/strong><\/li>\n<li>per l&#8217;asse Z:\u00a0<strong>(x\/10)*cos(x)<\/strong><\/li>\n<\/ul>\n<p>Per fare ci\u00f2 hai utilizzato la &#8220;lingua&#8221; ufficiale di Blender: <strong>Python<\/strong><\/p>\n<p>Python \u00e8 un linguaggio di programmazione di alto livello (alto livello vuol dire che con poche righe di codice puoi fare tante cose, al contrario dei programmi di basso livello in cui per fare una semplice somma devi diventare pazzo). E per quanto mi riguarda la definizione pu\u00f2 fermarsi qui. Ma se ne vuoi una pi\u00f9 completa eccoti accontentato:\u00a0<a href=\"http:\/\/www.python.it\/about\/\" target=\"_blank\">http:\/\/www.python.it\/about\/<\/a><\/p>\n<p>Perch\u00e9 Python? Cosa centra con Blender?<\/p>\n<p>Il linguaggio di programmazione Python ti permette di realizzare vere e proprie parti di Blender. Puoi creare dei nodi, degli addon personalizzati, impartire comandi diretti come hai appena fatto. Puoi utilizzarlo per implementare funzioni nei videogiochi creati con Blender Game, puoi creare un tuo sistema particellare personalizzato. La lista \u00e8 lunga, ma credo che tu abbia gi\u00e0 capito.<\/p>\n<p>Chiudo questa brevissima pubblicazione introduttiva per proporti un esercizio.<\/p>\n<p>Prova a modificare le istruzioni che hai copiato ed incollato per vedere che effetto hanno i cambiamenti sul risultato finale ponendoti magari anche qualche domanda tipo:<\/p>\n<ul>\n<li>Come posso aumentare il numero di oggetti inseriti nella Scena?<\/li>\n<li>Come posso fare in modo che le sfere siano pi\u00f9 vicine tra loro?<\/li>\n<li>Come posso fare in modo che anzich\u00e9 le sfere, vengano inseriti dei cubi?<\/li>\n<\/ul>\n<p>A presto e buon lavoro!<\/p>\n<p><a title=\"Python \u2013 Appunti di studio 2\" href=\"http:\/\/www.blenderclick.it\/wordpress\/?p=528\">Appunti di studio 2 &gt;<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Fermi tutti. Prima di rompervi le scatole con una tonnellata di teoria proviamo a fare qualcosa di pratico. Aprite Blender e cancellate il cubo. Fin qui tutto ok, giusto? Bene. Cambiate il tipo di editor della finestra in basso da Timeline a Python Console. &nbsp; Wow! Che \u00e8? Aspetta, non farti domande. Almeno per i [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"enabled":false},"version":2}},"categories":[1],"tags":[157],"class_list":["post-476","post","type-post","status-publish","format-standard","hentry","category-bc","tag-python"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p2KpAs-7G","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.blenderclick.it\/wordpress\/wp-json\/wp\/v2\/posts\/476","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.blenderclick.it\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.blenderclick.it\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.blenderclick.it\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.blenderclick.it\/wordpress\/wp-json\/wp\/v2\/comments?post=476"}],"version-history":[{"count":7,"href":"https:\/\/www.blenderclick.it\/wordpress\/wp-json\/wp\/v2\/posts\/476\/revisions"}],"predecessor-version":[{"id":534,"href":"https:\/\/www.blenderclick.it\/wordpress\/wp-json\/wp\/v2\/posts\/476\/revisions\/534"}],"wp:attachment":[{"href":"https:\/\/www.blenderclick.it\/wordpress\/wp-json\/wp\/v2\/media?parent=476"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.blenderclick.it\/wordpress\/wp-json\/wp\/v2\/categories?post=476"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.blenderclick.it\/wordpress\/wp-json\/wp\/v2\/tags?post=476"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}