Deutsch English Français Italiano |
<65ab8c39$0$6453$426a74cc@news.free.fr> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!feeds.phibee-telecom.net!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!cleanfeed3-b.proxad.net!nnrp5-1.free.fr!not-for-mail Subject: Re: array of array Newsgroups: fr.comp.lang.perl References: <65a56892$0$3013$426a74cc@news.free.fr> <65a6e4f0$0$29743$426a74cc@news.free.fr> <65a90545$0$11915$426a74cc@news.free.fr> <65a950af$0$2991$426a34cc@news.free.fr> <65aa3fbf$0$2586$426a34cc@news.free.fr> <65aac2ef$0$29736$426a74cc@news.free.fr> From: kurtz le pirate <kurtzlepirate@free.fr> Organization: Compagnie de la Banquise Date: Sat, 20 Jan 2024 10:02:49 +0100 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:78.0) Gecko/20100101 Thunderbird/78.14.0 MIME-Version: 1.0 In-Reply-To: <65aac2ef$0$29736$426a74cc@news.free.fr> Content-Type: text/plain; charset=utf-8 Content-Language: fr Content-Transfer-Encoding: 8bit Lines: 137 Message-ID: <65ab8c39$0$6453$426a74cc@news.free.fr> NNTP-Posting-Date: 20 Jan 2024 10:02:49 CET NNTP-Posting-Host: 88.123.184.107 X-Trace: 1705741369 news-2.free.fr 6453 88.123.184.107:7331 X-Complaints-To: abuse@proxad.net Bytes: 4117 On 19/01/2024 19:43, Nicolas George wrote: > kurtz le pirate , dans le message > <65aa3fbf$0$2586$426a34cc@news.free.fr>, a écrit : >> J'ai fais du propre et un programme avec le sctrict minimum. >> Et toujours le même souci :( > > Pouvez-vous montrer ce programme ? > # ---------------------------------------------------------------------- #!/usr/bin/perl -w use strict; use warnings; use File::Basename; use Data::Dumper; # --- 2024-01-15 # ---------------------------------------------------------------------- my $i; my @vertex; my @faces; my @line; # ---------------------------------------------------------------------- my $fullPath = shift; my ($name, $dir, $ext) = fileparse($fullPath,'\..*'); printf ("name = $name\n"); printf ("dir = $dir\n"); printf ("ext = $ext\n\n"); chdir ($dir) or die "chdir error : $!\n"; # ---------------------------------------------------------------------- my $sourceFile="$name$ext"; print "* In file : $sourceFile\n\n"; my $povFile = $sourceFile; $povFile = "$name.inc"; print "* Out file : $povFile\n\n"; # ---------------------------------------------------------------------- # push fake element to avoid zero' element push @vertex,[-1,-1,-1]; # ---------------------------------------------------------------------- open (SOURCE,"<",$sourceFile) or die "Input file - Error openning $sourceFile : $! !\n"; while(<SOURCE>) { if( /^v/) { # sample : v 4.29289322 -0.70710678 0.0000000e+0 @line = split ' '; push @vertex,[$line[1],$line[2],$line[3]]; } if( /^f/) { # sample : f 527/598 528/600 331/368 330/366 # split on space @line = split ' '; print "1:"; print join("|", @line),"\nDumper:\n"; print Dumper @line; # remove first item : 'f' shift(@line); print "2:"; print join("|", @line),"\nDumper:\n"; print Dumper @line; # split on slash for all element of @line @line = map { [split /\//] } @line; print "3:"; print join("|", @line),"\nDumper:\n"; print Dumper @line; # add array into array push @faces, [@line]; } print "---\n"; } close (SOURCE); exit(0); print "\n\n\n*** Dumper \@faces\n"; print Dumper @faces; print "\n\n\n"; print "\n\n\n*** loop \@faces\n"; for my $i ( 0 .. $#faces ) { for my $j ( 0 .. $#{$faces[$i]} ) { print "faces[$i,$j] = $faces[$i][$j]\n"; } } print "\n\n\n*** loop \@vertex\n"; for my $i ( 0 .. $#vertex ) { for my $j ( 0 .. $#{$vertex[$i]} ) { print "vertex[$i,$j] = $vertex[$i][$j]\n"; } } # ---------------------------------------------------------------------- Et le fichier de données : # WaveFront *.obj file g Lathe_NURBS usemtl Mat v 36.172029 288.758429 0 v 26.171929 288.758429 0 v 26.171929 285.758429 0 f 198/216 199/218 2/3 1/1 f 198/216 199/218 2/3 -- kurtz le pirate compagnie de la banquise