{"id":813,"date":"2011-11-16T12:50:20","date_gmt":"2011-11-16T11:50:20","guid":{"rendered":"https:\/\/abcdr.guyader.pro\/?p=813"},"modified":"2018-04-07T23:59:53","modified_gmt":"2018-04-07T22:59:53","slug":"comment-representer-des-fonctions-3d-avec-persp","status":"publish","type":"post","link":"https:\/\/thinkr.fr\/abcdr\/comment-representer-des-fonctions-3d-avec-persp\/","title":{"rendered":"Comment repr\u00e9senter des fonctions 3D avec persp ?"},"content":{"rendered":"<p>Il existe plusieurs fa\u00e7ons de repr\u00e9senter des surfaces en 3D. Je vous en propose une qui utilise la fonction de base persp().<\/p>\n<pre><code><br \/><br \/>#on construit les fonctions \u00e0 repr\u00e9senter f1 et f2<br \/><br \/> f1&lt;-function(x,y){<br \/>\u00a0\u00a0 \u00a015*sin(sqrt(x^2+y^2))<br \/>}<br \/><br \/><br \/>################<br \/><br \/>mu1&lt;-0 <br \/>mu2&lt;-0 <br \/>s11&lt;-15 <br \/>s12&lt;-20 <br \/>s22&lt;-10 <br \/>rho&lt;-0.5 <br \/><br \/>f2&lt;-function(x,y){<br \/><br \/>term1&lt;-1\/(2*pi*sqrt(s11*s22*(1-rho^2)))<br \/>term2&lt;--1\/(2*(1-rho^2))<br \/>term3&lt;-(x-mu1)^2\/s11<br \/>term4&lt;-(y-mu2)^2\/s22<br \/>term5&lt;--2*rho*((x-mu1)*(y-mu2))\/(sqrt(s11)*sqrt(s22))<br \/>term1*exp(term2*(term3+term4-term5))}<br \/><br \/># on d\u00e9finit deux vecteurs correspondant aux axes x et y<br \/><br \/>x&lt;-seq(-15,15,length=50)<br \/>y&lt;-x<br \/><br \/># on calcule la valeur de z=f(x,y) pour tous les couples x[i],y[i] avec la fonction outer<br \/><br \/>z1&lt;-outer(x,y,f1)<br \/>z2&lt;-outer(x,y,f2)<br \/><br \/>#on utilise la fonction persp<br \/><br \/>x11()<br \/>persp(x,y,z1,theta=30,phi=40,expand=0.5,col=\"lightblue\",ticktype=\"detailed\")<br \/>x11()<br \/>persp(x,y,z2,theta=40,phi=30,expand=0.5,col=\"lightgreen\",ticktype=\"detailed\")<br \/><br \/><br \/><\/code><\/pre>\n<p>Il est possible d&rsquo;ajouter des points au graphique en utilisant points(trans3d()).<br \/>Regardez bien tous les arguments de la fonction persp() : ?persp. Ils sont nombreux et vous permettront d&rsquo;obtenir votre surface sous l&rsquo;angle que vous voulez.<\/p>\n<p>Enfin il existe comme souvent d&rsquo;autres fonctions pour repr\u00e9senter des surfaces : plot3d du package rgl, plot.surface du package fields&#8230;\u00e0 vous de choisir!<\/p>\n<p>bonne 3D!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Il existe plusieurs fa\u00e7ons de repr\u00e9senter des surfaces en 3D. Je vous en propose une qui utilise la fonction de base persp(). #on construit les fonctions \u00e0 repr\u00e9senter f1 et f2 f1&lt;-function(x,y){\u00a0\u00a0 \u00a015*sin(sqrt(x^2+y^2))}################mu1&lt;-0 mu2&lt;-0 s11&lt;-15 s12&lt;-20 s22&lt;-10 rho&lt;-0.5 f2&lt;-function(x,y){term1&lt;-1\/(2*pi*sqrt(s11*s22*(1-rho^2)))term2&lt;&#8211;1\/(2*(1-rho^2))term3&lt;-(x-mu1)^2\/s11term4&lt;-(y-mu2)^2\/s22term5&lt;&#8211;2*rho*((x-mu1)*(y-mu2))\/(sqrt(s11)*sqrt(s22))term1*exp(term2*(term3+term4-term5))}# on d\u00e9finit deux vecteurs correspondant aux axes x et yx&lt;-seq(-15,15,length=50)y&lt;-x# on calcule la valeur de z=f(x,y) pour tous les couples x[i],y[i] avec la fonction outerz1&lt;-outer(x,y,f1)z2&lt;-outer(x,y,f2)#on utilise la fonction perspx11()persp(x,y,z1,theta=30,phi=40,expand=0.5,col=\u00a0\u00bblightblue\u00a0\u00bb,ticktype=\u00a0\u00bbdetailed\u00a0\u00bb)x11()persp(x,y,z2,theta=40,phi=30,expand=0.5,col=\u00a0\u00bblightgreen\u00a0\u00bb,ticktype=\u00a0\u00bbdetailed\u00a0\u00bb) Il est possible d&rsquo;ajouter des points au graphique en utilisant points(trans3d()).Regardez bien tous les arguments de la fonction persp() : ?persp. Ils sont nombreux et vous permettront d&rsquo;obtenir votre surface sous l&rsquo;angle que vous voulez. Enfin il<a class=\"more-link\" href=\"https:\/\/thinkr.fr\/abcdr\/comment-representer-des-fonctions-3d-avec-persp\/\">Read More &rarr;<\/a><\/p>\n","protected":false},"author":6,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"content-type":"","rop_custom_images_group":[],"rop_custom_messages_group":[],"rop_publish_now":"initial","rop_publish_now_accounts":{"twitter_399453572_399453572":""},"rop_publish_now_history":[],"rop_publish_now_status":"pending","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":""},"categories":[9],"tags":[],"class_list":{"0":"entry","1":"post","2":"publish","3":"author-melen","4":"post-813","6":"format-standard","7":"category-graphique"},"acf":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p9O7Sx-d7","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/thinkr.fr\/abcdr\/wp-json\/wp\/v2\/posts\/813","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thinkr.fr\/abcdr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thinkr.fr\/abcdr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thinkr.fr\/abcdr\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/thinkr.fr\/abcdr\/wp-json\/wp\/v2\/comments?post=813"}],"version-history":[{"count":2,"href":"https:\/\/thinkr.fr\/abcdr\/wp-json\/wp\/v2\/posts\/813\/revisions"}],"predecessor-version":[{"id":4148,"href":"https:\/\/thinkr.fr\/abcdr\/wp-json\/wp\/v2\/posts\/813\/revisions\/4148"}],"wp:attachment":[{"href":"https:\/\/thinkr.fr\/abcdr\/wp-json\/wp\/v2\/media?parent=813"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thinkr.fr\/abcdr\/wp-json\/wp\/v2\/categories?post=813"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thinkr.fr\/abcdr\/wp-json\/wp\/v2\/tags?post=813"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}