| 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