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