Giter Club home page Giter Club logo

obj-rs's Introduction

obj-rs's People

Contributors

aatch avatar bonorumetmalorum avatar dependabot[bot] avatar gadunga avatar hoonga avatar sharkoomaster avatar simnalamburt avatar syntheorem avatar thekidofarcrania avatar toastmod avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

obj-rs's Issues

Document `RawObj` in detail, Support higher order surfaces

Many OBJ files are not made out of triangles and this is a feature. If I load an OBJ to send to an high end offline renderer, the last thing I want is probably triangles (so I also do not want the reader to convert the OBJ to triangles, on-the-fly).

To support this, a third array is needed that has one integer, listing the number of vertices per each face. So you would have:

// Do whatever you want
model.vertices;
model.vertices_per_face;
model.indices;

This is an implicit part of the TODO 'support full OBJ/MTL spec'.

Which is actually a lot of work because then you also need to support higher order surfaces, e.g. NURBS, trim curves, bicubic patches etc. OBJ can store all of these and some apps (e.g. Maya) will also read and write such OBJs.

Support multiple group name

obj spec supports multiple group name since this project's current implementation of obj-rs doesn't.

g group_name1 group_name2 . . .

Polygonal and free-form geometry statement.

Specifies the group name for the elements that follow it. You can
have multiple group names. If there are multiple groups on one
line, the data that follows belong to all groups. Group information
is optional.

group_name is the name for the group. Letters, numbers, and
combinations of letters and numbers are accepted for group names.
The default group name is default.

Better support for custom vertex formats

As of current version, the loading interface looks like this:

pub fn load_obj<V: FromRawVertex<I>, T: BufRead, I>(input: T) -> ObjResult<Obj<V, I>>

so i'm like "yeah, i can plug my own vertex format too!", but when i look at the FromRawVertex trait, i see this:

pub trait FromRawVertex<I>: Sized {
    /// Build vertex and index buffer from raw object data.
    fn process(
        vertices: Vec<(f32, f32, f32, f32)>,
        normals: Vec<(f32, f32, f32)>,
        tex_coords: Vec<(f32, f32, f32)>,
        polygons: Vec<Polygon>,
    ) -> ObjResult<(Vec<Self>, Vec<I>)>;
}

and the vertex from raw conversion in done in an opaque way inside the library, so if I wanted to implement my own vertex format, I would have to re-write all this conversion code myself or copy-paste it from the source.

A better way support user-defined custom vertex formats would be proving a trait like:

pub trait FromRawVertex {
    type Output;

    fn convert_vertex(position: [f32; 4], normal: [f32; 3], tex_coord: [f32; 3]) -> Self::Output;
}

that can be used convert each vertex individually, then have a standalone conversion function like:

fn process_vertices<T: FromRawVertex, I>(raw: RawObj) -> ObjResult<(Vec<T::Output>, Vec<I>)>

Maybe i'm missing some stuff, but that's what I understood so far.

Panic on attempt to subtract with overflow

Found with honggfuzz.

extern crate obj;

use std::io::Cursor;

fn main() {
    let cursor = Cursor::new(b"\x70\x09\x2D\x31\x38");
    let _: Result<obj::Obj, obj::ObjError> = obj::load_obj(cursor);
}
thread 'main' panicked at 'attempt to subtract with overflow', /home/user/.cargo/git/checkouts/obj-rs-dfe6c4fd11f0b626/f37de06/src/raw/object.rs:40:9
stack backtrace:
   0: std::sys::unix::backtrace::tracing::imp::unwind_backtrace
             at libstd/sys/unix/backtrace/tracing/gcc_s.rs:49
   1: std::sys_common::backtrace::print
             at libstd/sys_common/backtrace.rs:71
             at libstd/sys_common/backtrace.rs:59
   2: std::panicking::default_hook::{{closure}}
             at libstd/panicking.rs:211
   3: std::panicking::default_hook
             at libstd/panicking.rs:227
   4: std::panicking::rust_panic_with_hook
             at libstd/panicking.rs:463
   5: std::panicking::begin_panic_fmt
             at libstd/panicking.rs:350
   6: rust_begin_unwind
             at libstd/panicking.rs:328
   7: core::panicking::panic_fmt
             at libcore/panicking.rs:71
   8: core::panicking::panic
             at libcore/panicking.rs:51
   9: obj::raw::object::parse_obj::{{closure}}
             at /home/user/.cargo/git/checkouts/obj-rs-dfe6c4fd11f0b626/f37de06/src/raw/object.rs:40
  10: obj::raw::lexer::lex
             at /home/user/.cargo/git/checkouts/obj-rs-dfe6c4fd11f0b626/f37de06/src/raw/lexer.rs:49
  11: obj::raw::object::parse_obj
             at /home/user/.cargo/git/checkouts/obj-rs-dfe6c4fd11f0b626/f37de06/src/raw/object.rs:66
  12: obj::load_obj
             at /home/user/.cargo/git/checkouts/obj-rs-dfe6c4fd11f0b626/f37de06/src/lib.rs:50
  13: obj_load::main::{{closure}}
             at /home/user/daniel/targets/common/src/lib.rs:392
             at fuzzer-honggfuzz/src/bin/obj_load.rs:8
  14: honggfuzz::fuzz
             at /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/honggfuzz-0.5.20/src/lib.rs:301
  15: obj_load::main
             at fuzzer-honggfuzz/src/bin/obj_load.rs:7
  16: std::rt::lang_start::{{closure}}
             at /checkout/src/libstd/rt.rs:74
  17: std::panicking::try::do_call
             at libstd/rt.rs:59
             at libstd/panicking.rs:310
  18: __rust_maybe_catch_panic
             at libpanic_unwind/lib.rs:105
  19: std::rt::lang_start_internal
             at libstd/panicking.rs:289
             at libstd/panic.rs:374
             at libstd/rt.rs:58
  20: std::rt::lang_start
             at /checkout/src/libstd/rt.rs:74
  21: main
  22: __libc_start_main
  23: _start

TODO list

TODOs

  • Documenting OBJ, MTL spec docs → wiki
  • Streaming
  • SIMD aware type → #9
  • Beautiful type structure → #9
  • Beautiful code structure
  • Triangulation
  • Dead-simple usage
  • Informative error message with line number → #2
  • 100% API documentation
  • Well tested
  • Bump glium version
  • Tidy error module
  • Remove all uses of pointers
  • Resolve all TODOs in source codes
  • Opt-out serde by default
  • Test "features" in GitHub Actions with feature matrix
  • Full support of OBJ, MTL spec
  • Multiple encoding support
  • Parameter with whitespaces support
  • Triangulation support

thread 'main' panicked at 'capacity overflow'

For given input file:
in.zip

The following code

use std::io::Cursor;
fn main(){
    let filepath = "<input file>"
    let data = std::fs::read(filepath).unwrap();
    let cursor = Cursor::new(data);
    let _: Result<obj::Obj, obj::ObjError> = obj::load_obj(cursor);
}

reports

thread 'main' panicked at 'capacity overflow', src/liballoc/raw_vec.rs:535:5
stack backtrace:
   0: <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt
   1: core::fmt::write
   2: std::io::Write::write_fmt
   3: std::panicking::default_hook::{{closure}}
   4: std::panicking::default_hook
   5: std::panicking::rust_panic_with_hook
   6: rust_begin_unwind
   7: core::panicking::panic_fmt
   8: core::panicking::panic
   9: alloc::raw_vec::capacity_overflow
  10: alloc::raw_vec::RawVec<T,A>::reserve
             at /.../code/rust-compiler/src/liballoc/raw_vec.rs:301
  11: alloc::vec::Vec<T>::reserve
             at /.../code/rust-compiler/src/liballoc/vec.rs:505
  12: <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T,I>>::spec_extend
             at /.../code/rust-compiler/src/liballoc/vec.rs:2136
  13: <alloc::vec::Vec<T> as core::iter::traits::collect::Extend<T>>::extend
             at /.../code/rust-compiler/src/liballoc/vec.rs:2063
  14: vec_map::VecMap<V>::insert
             at /.../.cargo/registry/src/github.com-1ecc6299db9ec823/vec_map-0.8.2/src/lib.rs:540
  15: <vec_map::VecMap<V> as obj::raw::object::Map<usize,V>>::insert
             at /.../.cargo/registry/src/github.com-1ecc6299db9ec823/obj-rs-0.6.3/src/raw/object.rs:480
  16: obj::raw::object::GroupBuilder<T,K>::start::{{closure}}
             at /.../.cargo/registry/src/github.com-1ecc6299db9ec823/obj-rs-0.6.3/src/raw/object.rs:382
  17: obj::raw::object::GroupBuilder<T,K>::start
             at /.../.cargo/registry/src/github.com-1ecc6299db9ec823/obj-rs-0.6.3/src/raw/object.rs:377
  18: obj::raw::object::parse_obj::{{closure}}
             at /.../.cargo/registry/src/github.com-1ecc6299db9ec823/obj-rs-0.6.3/src/raw/object.rs:224
  19: obj::raw::lexer::lex
             at /.../.cargo/registry/src/github.com-1ecc6299db9ec823/obj-rs-0.6.3/src/raw/lexer.rs:40
  20: obj::raw::object::parse_obj
             at /.../.cargo/registry/src/github.com-1ecc6299db9ec823/obj-rs-0.6.3/src/raw/object.rs:102
  21: obj::load_obj
             at /.../.cargo/registry/src/github.com-1ecc6299db9ec823/obj-rs-0.6.3/src/lib.rs:50
...

Document how to use and customize `Obj` in detail

I'm trying to load an OBJ file that has been exported from FreeCAD. When doing so, I get the following error message:

LoadError { kind: InsufficientData, desc: "Tried to extract normal data which are not contained in the model" }

What does that mean? FreeCAD can open those files fine, are these normals required to load the file?

(Note: I'm only getting started with the OBJ format and don't have a lot of knowledge about it yet.)

Should load_obj panic on indicies that exceed the bounds of I

If we have an waveform file that has vertex indicies larger than the I number type that we supply it, we causing a panic, with no chance to potentially catch the error via an Err Result value. Should it return Err instead of hard panicking?

thread 'main' panicked at 'Unable to convert the index from usize', /home/user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/obj-rs-0.7.1/src/lib.rs:277:30
stack backtrace:
   0: rust_begin_unwind
             at /rustc/8bdcc62cb0362869f0e7b43a6ae4f96b953d3cbc/library/std/src/panicking.rs:578:5
   1: core::panicking::panic_fmt
             at /rustc/8bdcc62cb0362869f0e7b43a6ae4f96b953d3cbc/library/core/src/panicking.rs:67:14
   2: core::panicking::panic_display
             at /rustc/8bdcc62cb0362869f0e7b43a6ae4f96b953d3cbc/library/core/src/panicking.rs:150:5
   3: core::panicking::panic_str
             at /rustc/8bdcc62cb0362869f0e7b43a6ae4f96b953d3cbc/library/core/src/panicking.rs:134:5
   4: core::option::expect_failed
             at /rustc/8bdcc62cb0362869f0e7b43a6ae4f96b953d3cbc/library/core/src/option.rs:1952:5
   5: core::option::Option<T>::expect
             at /rustc/8bdcc62cb0362869f0e7b43a6ae4f96b953d3cbc/library/core/src/option.rs:912:21
   6: <obj::TexturedVertex as obj::FromRawVertex<I>>::process::{{closure}}
             at /home/user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/obj-rs-0.7.1/src/lib.rs:276:37
   7: <obj::TexturedVertex as obj::FromRawVertex<I>>::process
             at /home/user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/obj-rs-0.7.1/src/lib.rs:294:52
   8: obj::Obj<V,I>::new
             at /home/user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/obj-rs-0.7.1/src/lib.rs:71:13
   9: obj::load_obj
             at /home/user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/obj-rs-0.7.1/src/lib.rs:52:5
  10: rust3d_test::main_with_err
             at ./src/main.rs:32:15
  11: rust3d_test::main
             at ./src/main.rs:40:11
  12: core::ops::function::FnOnce::call_once
             at /rustc/8bdcc62cb0362869f0e7b43a6ae4f96b953d3cbc/library/core/src/ops/function.rs:250:5

Get replicated vertices when reading obj

When I tried to use obj-rs to read my bunny.obj, I found that instead of giving triangles that share vertices, it gives me a bunch of triangles with their own vertices that has different indices. For example, I have two triangles (1,2,3 and 1,3,4) and 4 vertices, then I will expect the Vec of indices contains 0,1,2,0,2,3 instead of 0,1,2,3,4,5. This behavior is abnormal, but I don't know if it's a bug for certain obj files.

My bunny obj is as follows:

Click to expand!
o Bunny
v -0.038632 0.002788 -0.167867
v -0.037523 0.025944 -0.124042
v 0.043233 -0.006456 -0.089594
v -0.026748 0.038619 -0.109750
v -0.063449 -0.017938 -0.097112
v -0.025891 0.049042 -0.048891
v 0.045346 0.023076 -0.082603
v 0.006619 0.050356 -0.047417
v -0.040710 0.039629 -0.050423
v -0.006309 0.052597 -0.051457
v -0.064662 0.036264 -0.151974
v -0.018605 0.047107 -0.049922
v -0.000094 0.054278 -0.052014
v 0.009410 0.052895 -0.060149
v 0.000322 0.054484 -0.058135
v -0.085941 0.049068 -0.125175
v -0.027746 0.037498 -0.064856
v 0.003858 0.056777 -0.062044
v -0.077835 0.043808 -0.145715
v -0.005881 0.056478 -0.062411
v -0.047781 0.037342 -0.063839
v 0.011484 0.034270 -0.123198
v -0.062211 -0.005052 -0.147546
v -0.012589 0.054415 -0.069082
v -0.005859 -0.037176 -0.087537
v 0.000030 0.056492 -0.068579
v -0.016743 0.030848 -0.123139
v -0.071191 0.001279 -0.155859
v 0.044646 0.024242 -0.069351
v -0.045986 0.042256 -0.073503
v -0.038661 0.041795 -0.063179
v -0.003043 0.059461 -0.073778
v -0.019943 -0.015950 -0.187176
v -0.076123 -0.018367 -0.163992
v -0.011270 0.036868 -0.120275
v 0.009089 0.054966 -0.080660
v -0.017682 0.057622 -0.082305
v -0.078078 0.029078 -0.154685
v -0.050393 0.046102 -0.085761
v -0.075260 0.053502 -0.127230
v -0.042039 0.042519 -0.084825
v -0.007645 0.058188 -0.079109
v -0.074281 0.053631 -0.117286
v -0.065353 0.044968 -0.085654
v -0.059945 0.041788 -0.074585
v -0.037174 0.043756 -0.081950
v -0.003971 0.033251 -0.124981
v -0.026922 -0.007884 -0.181455
v -0.032593 -0.005142 -0.177828
v -0.030548 0.043284 -0.087232
v -0.012103 0.056667 -0.092198
v -0.036983 0.044193 -0.092657
v 0.005296 0.057126 -0.086140
v 0.019647 0.049574 -0.086817
v -0.038692 0.033305 -0.115422
v -0.070146 0.042620 -0.089763
v -0.018226 0.036486 -0.117876
v -0.059685 0.036516 -0.147446
v -0.050053 0.044423 -0.096180
v -0.072540 0.041270 -0.095957
v -0.056884 0.045348 -0.092762
v -0.040294 0.041786 -0.098952
v 0.006439 0.014596 -0.132232
v -0.053895 0.043345 -0.097200
v 0.023359 0.046777 -0.095899
v -0.011316 0.002910 -0.129221
v -0.046949 -0.021920 -0.093514
v -0.059835 0.042689 -0.102266
v -0.029833 0.043080 -0.101135
v 0.011888 0.047452 -0.102476
v -0.046466 0.003131 -0.167133
v -0.065862 -0.001908 -0.153866
v -0.044387 0.040714 -0.106839
v -0.018030 0.042558 -0.106099
v -0.046574 0.009349 -0.153815
v -0.047007 0.042698 -0.099425
v -0.008282 0.043830 -0.101652
v -0.006486 0.043970 -0.108283
v 0.021424 0.031182 -0.121505
v 0.017255 0.039746 -0.109608
v 0.023135 0.021213 -0.125159
v -0.050136 0.037566 -0.110464
v -0.073907 -0.047586 -0.171564
v 0.018182 0.042512 -0.036268
v -0.054330 -0.022408 -0.097111
v 0.026269 0.030992 -0.039553
v -0.029066 -0.024545 -0.093469
v -0.039288 0.041301 -0.044575
v -0.006058 0.047354 -0.045881
v -0.066457 0.037295 -0.110304
v -0.021404 0.053215 -0.045562
v 0.017650 0.044185 -0.043039
v -0.040635 0.002471 -0.159922
v 0.011322 0.044806 -0.045022
v 0.049174 0.021629 -0.044307
v 0.028021 0.036458 -0.046282
v 0.033645 0.031488 -0.049093
v -0.011129 -0.027227 -0.182158
v -0.054071 0.038080 -0.123768
v 0.020741 0.048100 -0.055550
v 0.023003 0.039928 -0.049323
v -0.049505 0.036331 -0.050280
v 0.035495 -0.011159 -0.103128
v 0.059989 0.021516 -0.062227
v 0.013667 0.050689 -0.055693
v 0.043020 0.032996 -0.049120
v 0.053744 0.027754 -0.054858
v -0.049178 0.030288 -0.130401
v -0.028849 -0.003816 -0.162315
v -0.036101 0.004249 -0.158265
v -0.089109 0.008227 -0.099057
v 0.026136 0.044245 -0.060229
v 0.034320 0.039225 -0.060597
v -0.013982 -0.021269 -0.178957
v 0.012129 0.053747 -0.065567
v 0.020511 0.048451 -0.065463
v 0.028693 0.034550 -0.111728
v 0.002438 0.041742 -0.114145
v -0.030297 -0.007023 -0.121635
v 0.039845 0.030392 -0.059964
v 0.051687 0.029555 -0.064527
v 0.039512 0.033551 -0.070945
v 0.007651 0.056504 -0.075327
v 0.026908 0.043296 -0.070176
v 0.032967 0.041811 -0.077598
v 0.040252 0.026220 -0.102372
v -0.060796 0.042799 -0.125745
v -0.022318 -0.012616 -0.181221
v -0.062587 0.036031 -0.137282
v -0.068515 0.047795 -0.132239
v 0.015592 0.054165 -0.078141
v -0.063799 0.038920 -0.143909
v -0.065799 0.051999 -0.120921
v -0.033558 -0.001108 -0.173613
v -0.049240 0.031545 -0.118066
v -0.068718 0.050433 -0.114088
v -0.062044 0.037354 -0.114243
v 0.027865 0.039124 -0.103405
v -0.055094 0.035233 -0.114335
v 0.026730 0.047114 -0.079214
v -0.009970 -0.017702 -0.167686
v -0.033646 -0.004786 -0.165935
v -0.069930 0.046209 -0.141590
v 0.039804 0.033495 -0.089822
v -0.024682 -0.001088 -0.159952
v 0.009088 0.049418 -0.097645
v -0.045252 0.025016 -0.122806
v -0.048532 0.006514 -0.143887
v 0.014126 0.052728 -0.090787
v 0.034274 0.040805 -0.091666
v 0.041527 -0.003903 -0.097216
v -0.084037 0.004810 -0.145378
v 0.019655 -0.003456 -0.035085
v -0.089659 0.017847 -0.099833
v 0.016325 -0.018314 -0.035201
v 0.020591 -0.020978 -0.043659
v 0.022728 -0.005642 -0.039972
v 0.056546 0.018075 -0.049738
v 0.022565 -0.018540 -0.045669
v -0.014554 -0.010082 -0.162843
v 0.028058 -0.018234 -0.049173
v -0.061903 -0.029073 -0.152590
v 0.057159 0.007605 -0.050804
v 0.053557 -0.003559 -0.058091
v -0.036286 0.000402 -0.151198
v 0.061282 0.008052 -0.060979
v 0.038928 -0.010753 -0.064147
v 0.030796 -0.007779 -0.048804
v -0.088206 0.003366 -0.135559
v -0.061651 -0.019788 -0.157813
v 0.030795 -0.017734 -0.058601
v 0.021937 -0.027055 -0.055669
v -0.094871 0.022189 -0.122902
v 0.042068 -0.002158 -0.063212
v -0.068864 -0.053205 -0.156533
v 0.041049 0.006150 -0.106185
v -0.051989 0.018310 -0.142827
v -0.086972 -0.001898 -0.121397
v -0.025615 -0.003544 -0.156162
v -0.053935 0.028353 -0.139875
v 0.031952 -0.018709 -0.069103
v -0.092423 0.016676 -0.113974
v 0.039220 -0.010108 -0.077501
v 0.046713 0.005563 -0.072341
v -0.076643 -0.008679 -0.149485
v 0.045163 0.008717 -0.095673
v -0.091672 0.028069 -0.117524
v 0.044133 -0.002522 -0.080232
v 0.037727 -0.016367 -0.085584
v -0.062777 -0.047210 -0.161085
v -0.093435 0.042248 -0.121095
v -0.067905 -0.043985 -0.173751
v -0.063846 -0.058948 -0.180771
v 0.000053 0.053297 -0.097862
v -0.082061 0.013629 -0.154804
v -0.086549 0.015694 -0.109000
v -0.091717 0.017134 -0.141326
v -0.092111 0.031104 -0.128137
v -0.063020 -0.045257 -0.168283
v -0.091075 0.016144 -0.135224
v -0.030168 0.030802 -0.118019
v -0.028460 0.008832 -0.125795
v -0.079635 -0.036775 -0.167489
v 0.012743 0.027041 -0.127966
v -0.081065 -0.000918 -0.111196
v -0.067871 0.022379 -0.156792
v 0.060392 0.011831 -0.069417
v 0.030267 0.005493 -0.120025
v -0.091498 0.020796 -0.150215
v -0.087751 0.000900 -0.128902
v 0.057670 0.018414 -0.071756
v -0.087413 0.004840 -0.093190
v -0.009347 0.051937 -0.098183
v 0.002048 0.043813 -0.102202
v -0.055002 0.028117 -0.153297
v 0.046790 0.016792 -0.073773
v -0.051351 0.013223 -0.152104
v -0.042883 0.014388 -0.128827
v 0.032239 0.023130 -0.117348
v -0.005179 0.025223 -0.129883
v -0.067096 -0.018887 -0.164861
v -0.073324 -0.027685 -0.170102
v 0.052646 0.020857 -0.072994
v -0.014724 0.015884 -0.129248
v -0.027112 0.018388 -0.124435
v -0.084777 -0.003931 -0.095970
v 0.007587 0.001903 -0.130944
v -0.061746 0.042925 -0.042600
v -0.055235 0.046580 -0.043304
v -0.026570 0.055248 -0.038204
v -0.064199 0.027537 -0.042219
v -0.067406 0.036194 -0.035436
v -0.064134 0.034748 -0.044628
v -0.034115 0.048702 -0.042437
v -0.071384 0.010286 -0.035533
v -0.059415 0.019974 -0.039567
v -0.002780 -0.023542 -0.100393
v -0.030725 0.041026 -0.079300
v -0.067561 0.007377 -0.044863
v -0.058863 0.009540 -0.156048
v -0.057476 0.009161 -0.047878
v -0.076982 -0.051371 -0.179572
v -0.023736 0.054457 -0.086541
v -0.032961 0.038223 -0.051054
v -0.050039 0.016868 -0.047811
v -0.083080 0.029210 -0.081450
v -0.051573 0.030554 -0.052359
v -0.020587 0.051310 -0.094703
v -0.087066 0.040183 -0.141474
v -0.027792 0.036540 -0.053068
v -0.085225 0.048015 -0.114025
v -0.079604 -0.046390 -0.174107
v -0.078583 0.037216 -0.087018
v -0.053553 0.026462 -0.060429
v -0.085799 0.029438 -0.151046
v -0.085221 0.049369 -0.132036
v -0.074605 -0.006416 -0.114104
v -0.025047 0.044896 -0.094997
v -0.016414 0.044078 -0.099612
v -0.074764 0.036203 -0.107316
v -0.082460 0.027619 -0.108623
v -0.078951 0.054193 -0.128836
v -0.016813 0.052682 -0.062115
v -0.058997 -0.020854 -0.084194
v -0.025047 0.053580 -0.080547
v -0.008683 -0.030445 -0.097657
v -0.064320 0.024151 -0.035936
v -0.070750 -0.045378 -0.162623
v -0.044911 -0.010946 -0.045780
v -0.068755 -0.008746 -0.116060
v -0.089126 0.025122 -0.137079
v -0.069476 0.000668 -0.042643
v -0.072853 0.002529 -0.035550
v -0.075578 -0.000834 -0.154868
v -0.060851 0.003690 -0.155133
v -0.043908 -0.026883 -0.034308
v -0.044744 -0.021577 -0.039642
v -0.059362 0.000101 -0.047606
v -0.039022 -0.022759 -0.045911
v -0.054255 0.029769 -0.049028
v -0.057553 0.038938 -0.048178
v -0.082537 0.003650 -0.151557
v -0.057148 0.000631 -0.052574
v -0.030353 -0.019369 -0.049890
v -0.052512 -0.007188 -0.051984
v -0.056771 0.007253 -0.057251
v -0.049863 0.015634 -0.054275
v -0.094007 0.018180 -0.129802
v -0.065589 -0.059737 -0.167628
v -0.074146 -0.029188 -0.151129
v 0.016944 -0.024307 -0.094696
v -0.091018 0.013441 -0.149734
v -0.052736 -0.000904 -0.163457
v -0.078459 -0.022073 -0.159178
v -0.056704 -0.017686 -0.111275
v -0.079616 0.016623 -0.070320
v -0.074397 -0.030905 -0.160314
v 0.029469 -0.018643 -0.095176
v -0.078424 -0.003613 -0.146692
v -0.090341 0.040068 -0.130900
v 0.004647 -0.032195 -0.093885
v -0.025189 -0.018780 -0.178943
v -0.077799 -0.005325 -0.073099
v -0.030094 -0.027970 -0.067301
v -0.030573 -0.018933 -0.059945
v -0.075706 -0.000047 -0.070108
v -0.039761 -0.012793 -0.120231
v -0.086853 0.010849 -0.081079
v -0.071911 -0.014659 -0.144135
v -0.082390 0.003304 -0.074996
v -0.070947 -0.008050 -0.140954
v -0.036361 -0.019535 -0.078336
v -0.081644 -0.004806 -0.129364
v -0.032331 -0.031704 -0.078279
v -0.079744 -0.007905 -0.081910
v -0.040541 -0.012095 -0.166202
v -0.033651 -0.024757 -0.085644
v -0.087724 0.014220 -0.085428
v -0.089609 0.031992 -0.141602
v -0.075188 -0.015966 -0.152833
v -0.085360 0.006222 -0.109807
v -0.039019 -0.009029 -0.174111
v -0.055531 -0.009922 -0.040944
v -0.086394 -0.000840 -0.085570
v -0.049660 -0.014131 -0.118919
v -0.089823 0.021822 -0.092558
v -0.092635 0.008842 -0.116935
v -0.052243 -0.005034 -0.126999
v 0.021961 -0.021160 -0.100321
v -0.013342 -0.018621 -0.112081
v 0.054837 0.009023 -0.073109
v -0.020732 -0.016742 -0.114935
v -0.023240 -0.032678 -0.093652
v -0.014584 -0.026982 -0.185601
v -0.027912 -0.029247 -0.034067
v -0.059774 -0.001229 -0.149902
v 0.025109 -0.012490 -0.111719
v 0.011270 -0.020502 -0.104834
v 0.023069 -0.004197 -0.121925
v -0.005608 -0.009489 -0.125002
v -0.033775 -0.020968 -0.105400
v 0.006642 -0.022123 -0.099379
v -0.015397 -0.004109 -0.125153
v -0.069184 -0.058506 -0.181162
v -0.002499 -0.019640 -0.112386
v -0.006156 -0.022214 -0.110566
v -0.066229 -0.003252 -0.042518
v 0.032361 -0.019246 -0.078690
v -0.048008 0.010304 -0.135924
v 0.004929 -0.020103 -0.114402
v 0.051888 -0.001557 -0.065658
v -0.032558 -0.016084 -0.114916
v -0.036903 -0.030894 -0.033739
v -0.020082 -0.024530 -0.097870
v 0.032698 -0.007977 -0.111022
v -0.046740 0.000886 -0.129245
v -0.040696 -0.008047 -0.125707
v 0.003607 -0.007161 -0.126142
v 0.018408 0.003915 -0.127764
v 0.057575 0.002722 -0.067384
v 0.009753 -0.014067 -0.120711
v -0.028854 0.002099 -0.124656
v -0.009828 -0.024366 -0.034195
v 0.008998 -0.023427 -0.036490
v -0.033262 -0.030211 -0.042424
v -0.008576 -0.026091 -0.043164
v -0.014324 -0.023389 -0.103680
v 0.037023 -0.002041 -0.040523
v 0.005315 -0.024171 -0.042896
v 0.013531 -0.026028 -0.047821
v 0.041065 -0.007309 -0.050916
v -0.008375 -0.029537 -0.045859
v 0.001825 -0.030067 -0.048337
v -0.018756 -0.027907 -0.044979
v -0.016257 -0.032944 -0.053183
v -0.053491 -0.007550 -0.045812
v 0.022227 -0.024145 -0.051381
v -0.027082 -0.025227 -0.048959
v 0.047380 -0.002962 -0.047547
v -0.032809 -0.011141 -0.050877
v 0.008578 -0.030513 -0.054156
v -0.007171 -0.033099 -0.054903
v -0.025680 -0.031107 -0.061671
v 0.036614 -0.006713 -0.054238
v -0.040331 -0.019920 -0.107690
v -0.042983 -0.011188 -0.054604
v 0.003429 -0.031203 -0.056934
v 0.000547 -0.034407 -0.063627
v 0.021085 -0.026580 -0.061931
v -0.025640 -0.022782 -0.106222
v -0.014088 -0.036940 -0.062639
v -0.061313 -0.018311 -0.103293
v -0.033408 -0.010273 -0.056284
v -0.073436 0.034880 -0.073412
v -0.057247 -0.003067 -0.060528
v 0.021876 -0.027500 -0.069295
v -0.060035 -0.008732 -0.121358
v 0.010879 -0.031139 -0.066111
v -0.002871 -0.034506 -0.068252
v -0.021532 -0.021241 -0.173488
v -0.008517 -0.037653 -0.074198
v -0.065608 -0.007497 -0.066936
v -0.050280 0.000824 -0.143741
v -0.040535 -0.011492 -0.159216
v -0.021022 -0.036655 -0.065418
v -0.051433 -0.012491 -0.067108
v -0.015261 -0.038966 -0.076268
v -0.034533 -0.014132 -0.064421
v -0.043908 -0.016159 -0.067784
v 0.024869 -0.024560 -0.084767
v -0.059077 -0.015104 -0.069973
v -0.041303 -0.021267 -0.084378
v -0.069516 -0.014957 -0.075346
v 0.008721 -0.033724 -0.073259
v 0.005912 -0.033198 -0.084442
v -0.027674 -0.036187 -0.086866
v 0.014356 -0.030104 -0.076788
v 0.014113 -0.030146 -0.087083
v -0.074816 -0.015099 -0.084473
v -0.076411 -0.013406 -0.094841
v -0.002226 -0.037089 -0.083034
v -0.022749 -0.039002 -0.077591
v -0.055926 -0.020972 -0.079634
v -0.065841 -0.018912 -0.083605
v -0.015214 -0.037504 -0.091053
v -0.054630 -0.002679 -0.152755
v -0.075927 -0.008277 -0.125275
v -0.018345 -0.026079 -0.033731
v 0.004456 -0.021007 -0.033966
v -0.003268 -0.017376 -0.034370
v 0.011950 -0.011204 -0.034304
v -0.031721 -0.021186 -0.033828
v 0.007540 -0.009431 -0.038802
v -0.080480 0.047569 -0.114080
v -0.004172 -0.014111 -0.039154
v -0.032684 -0.016529 -0.038589
v -0.039195 -0.015253 -0.034033
v 0.007509 0.004670 -0.034411
v 0.025586 0.002751 -0.034909
v -0.042372 -0.003477 -0.033809
v 0.017120 0.001954 -0.034271
v -0.059944 -0.010153 -0.033627
v -0.038120 -0.006977 -0.038250
v -0.004094 0.008568 -0.038391
v 0.025074 0.011174 -0.034411
v 0.044118 0.004384 -0.040892
v -0.048695 -0.013389 -0.033571
v -0.022206 -0.017188 -0.038690
v 0.002026 0.004107 -0.034165
v 0.048793 0.011011 -0.042901
v -0.069850 0.004727 -0.033539
v -0.029039 0.002720 -0.038221
v -0.069196 -0.006020 -0.034579
v 0.005046 0.015760 -0.034177
v 0.034111 0.011664 -0.035601
v 0.002619 0.019675 -0.034323
v -0.051528 0.007814 -0.033550
v -0.034901 0.010379 -0.033747
v -0.030015 0.018172 -0.034351
v -0.027929 0.020035 -0.037711
v 0.019617 0.021397 -0.034742
v -0.000694 0.021743 -0.038513
v 0.022319 0.024092 -0.035282
v 0.034684 0.024611 -0.038735
v -0.062077 0.020294 -0.034516
v -0.051600 0.036174 -0.066088
v -0.004483 0.035614 -0.039218
v -0.082655 0.021106 -0.076999
v -0.055121 0.024036 -0.034056
v 0.009041 0.035926 -0.035141
v 0.012972 0.029418 -0.034672
v -0.090089 0.037453 -0.112403
v -0.066997 -0.001956 -0.062934
v -0.035388 0.034245 -0.034596
v 0.007859 0.030372 -0.039240
v -0.071388 -0.026896 -0.147097
v -0.016213 0.016945 -0.038057
v -0.006919 0.042546 -0.034711
v -0.031802 0.032183 -0.037839
v 0.004891 0.043617 -0.034575
v -0.069386 0.009766 -0.061033
v -0.036723 0.026670 -0.034210
v -0.024903 0.038063 -0.039047
v -0.066996 0.031010 -0.034958
v -0.067902 -0.025723 -0.146313
v -0.037419 0.041799 -0.034781
v -0.012835 0.050222 -0.035252
v -0.061775 0.032955 -0.065542
v -0.051757 0.019874 -0.056601
v -0.046877 0.045407 -0.035027
v 0.004325 0.045888 -0.035606
v -0.084462 0.028857 -0.111705
v -0.060273 0.045444 -0.034788
v -0.030763 0.052008 -0.035297
v -0.074827 0.046334 -0.110670
v -0.076864 0.011082 -0.067957
v -0.069649 0.018026 -0.061738
v -0.064944 -0.054480 -0.157314
v -0.044493 -0.004750 -0.149423
v -0.056918 -0.005280 -0.136838
v -0.060545 -0.062221 -0.169731
v -0.050757 0.001565 -0.137975
v -0.026306 -0.009894 -0.157004
v -0.009716 -0.030374 -0.176357
v -0.008588 -0.025410 -0.169530
v -0.018495 -0.017689 -0.165075
v -0.072553 -0.041367 -0.150608
v -0.014691 -0.011333 -0.160456
v -0.064196 -0.007840 -0.142314
v -0.067194 -0.045577 -0.151677
vn -0.1240 -0.0243 -0.9920
vn -0.3249 0.1780 -0.9289
vn 0.7534 0.1978 -0.6270
vn -0.3326 0.3671 -0.8687
vn -0.0175 0.8203 -0.5716
vn -0.1419 -0.0393 -0.9891
vn -0.0960 -0.1091 -0.9894
vn -0.9896 -0.1414 0.0269
vn -0.4004 0.5760 -0.7127
vn -0.1839 -0.0781 -0.9798
vn 0.3233 0.3078 -0.8948
vn -0.1640 0.7116 0.6831
vn -0.3472 0.7883 -0.5079
vn -0.9455 -0.0920 -0.3125
vn 0.9325 -0.3561 0.0600
vn 0.9295 -0.2329 -0.2861
vn 0.4688 -0.0431 0.8823
vn -0.6534 -0.1453 0.7429
vn 0.0143 0.8521 -0.5232
vn -0.7221 -0.2273 0.6534
vn -0.4597 -0.8835 -0.0903
vn 0.0438 -0.9050 0.4232
vn 0.0651 -0.9841 -0.1652
vn 0.9242 -0.2289 -0.3058
vn 0.0853 -0.8390 0.5374
vn 0.1764 0.9839 -0.0302
vn -0.9883 -0.1423 0.0554
vn 0.6294 -0.7363 0.2485
vn -0.4074 -0.9098 0.0790
vn -0.8275 0.5462 0.1301
vn 0.0595 0.0404 0.9974
vn -0.2461 0.9022 -0.3543
vn -0.9844 -0.1746 -0.0217
vn 0.9282 -0.3521 0.1201
vn -0.2804 0.8878 -0.3649
vn 0.2638 -0.1549 0.9521
vn 0.2687 0.7048 0.6566
vn 0.0144 0.4066 0.9135
vn -0.2150 -0.0585 -0.9749
vn -0.1796 0.9733 -0.1427
vn 0.4493 0.8638 0.2278
vn 0.4512 0.8187 0.3551
vn 0.6836 0.6684 -0.2933
vn -0.0449 0.8789 0.4749
vn 0.3506 0.9007 0.2565
vn 0.3299 0.4963 -0.8030
vn 0.1485 0.8435 -0.5162
vn -0.2483 0.9370 -0.2458
vn 0.1355 0.9769 -0.1650
vn 0.2373 0.9400 -0.2450
vn -0.3062 0.2505 -0.9184
vn -0.2856 0.7866 -0.5474
vn -0.0673 0.9965 -0.0500
vn -0.9771 -0.0881 0.1936
vn 0.5312 0.4330 -0.7282
vn 0.0028 0.9998 0.0219
vn 0.1818 0.9823 0.0454
vn 0.1347 0.9679 0.2122
vn 0.2797 0.9028 0.3267
vn 0.6788 -0.0350 0.7335
vn -0.1351 0.0708 -0.9883
vn -0.0193 0.8671 -0.4978
vn -0.3113 0.8035 -0.5074
vn -0.2643 0.9539 0.1423
vn -0.0192 0.8374 -0.5462
vn -0.0881 0.7614 -0.6423
vn 0.8329 -0.3439 -0.4337
vn -0.0191 0.9734 -0.2281
vn 0.7317 -0.5859 0.3482
vn -0.0416 0.5461 -0.8367
vn -0.1190 0.8724 -0.4740
vn 0.0372 0.9846 -0.1709
vn 0.0973 0.8917 -0.4421
vn -0.2064 -0.9452 -0.2531
vn -0.0563 0.9467 0.3173
vn -0.0938 0.8399 -0.5345
vn 0.0965 0.9326 -0.3478
vn -0.0955 0.8118 -0.5761
vn 0.0549 0.9861 -0.1571
vn -0.1145 0.6669 0.7363
vn -0.1565 0.9698 -0.1870
vn -0.9613 0.2376 0.1396
vn -0.2598 0.9655 0.0149
vn 0.1395 0.6092 -0.7806
vn 0.3204 0.3071 -0.8961
vn -0.2784 0.8987 -0.3389
vn 0.5057 0.7833 -0.3616
vn 0.2944 0.8365 -0.4621
vn 0.1504 0.9245 -0.3502
vn 0.2046 0.9507 0.2330
vn 0.0706 0.9394 0.3356
vn -0.0459 -0.2089 0.9769
vn -0.3481 0.9203 -0.1784
vn 0.3751 0.9144 0.1520
vn 0.4032 0.9054 -0.1327
vn 0.0001 0.9061 -0.4230
vn -0.3619 0.4327 -0.8257
vn -0.0055 0.7887 -0.6147
vn -0.4320 0.8338 0.3437
vn -0.2166 0.9748 -0.0528
vn -0.0017 0.7564 -0.6541
vn -0.0567 0.6888 -0.7228
vn 0.8349 -0.3438 -0.4299
vn 0.8281 0.5115 0.2292
vn 0.2559 0.9665 -0.0186
vn 0.1461 0.9673 -0.2073
vn 0.7472 -0.6485 0.1451
vn -0.2323 0.5686 -0.7891
vn -0.2653 0.9635 0.0346
vn -0.4511 0.8866 -0.1018
vn 0.4884 0.7942 -0.3614
vn 0.2196 0.8951 0.3880
vn -0.1736 0.9469 -0.2707
vn 0.7934 -0.1823 0.5807
vn 0.0766 0.9970 -0.0098
vn 0.0267 0.7620 -0.6470
vn 0.1804 0.9701 -0.1623
vn 0.4640 -0.1201 0.8776
vn 0.3861 0.8972 0.2143
vn 0.1046 0.9936 0.0424
vn 0.2630 0.9448 -0.1953
vn 0.2799 0.9217 0.2687
vn 0.1707 0.9659 0.1946
vn 0.3815 0.9130 0.1443
vn -0.1666 0.8699 -0.4641
vn 0.0037 0.7259 -0.6878
vn 0.6195 -0.3579 0.6987
vn 0.2371 0.9414 0.2397
vn -0.2093 0.8357 -0.5077
vn 0.2472 0.9657 0.0795
vn -0.0987 0.9725 -0.2109
vn -0.2877 0.6120 -0.7366
vn 0.1461 0.9263 -0.3474
vn -0.0208 0.9817 0.1891
vn -0.4008 -0.5185 -0.7554
vn 0.0649 0.5129 -0.8560
vn -0.0062 -0.5361 0.8442
vn -0.3767 0.7905 -0.4830
vn 0.0328 0.5542 -0.8317
vn -0.3496 0.7487 -0.5632
vn -0.0480 0.3231 -0.9452
vn -0.9963 -0.0684 -0.0527
vn -0.9496 -0.3026 0.0822
vn 0.0726 0.2904 -0.9542
vn -0.0585 0.9687 -0.2411
vn 0.9833 -0.1599 -0.0869
vn 0.2933 -0.0703 -0.9534
vn -0.1732 0.8479 -0.5011
vn 0.8560 -0.5145 0.0506
vn 0.0440 0.5938 -0.8034
vn -0.9271 -0.3434 -0.1504
vn -0.9374 -0.3426 -0.0629
vn -0.0263 0.9747 -0.2220
vn -0.2069 0.8710 -0.4456
vn 0.0205 0.7811 -0.6241
vn -0.0297 0.9992 -0.0262
vn -0.3011 0.8916 -0.3383
vn -0.2998 0.9185 -0.2578
vn 0.5387 -0.8396 0.0700
vn 0.9090 -0.3361 -0.2464
vn -0.3750 0.8072 -0.4559
vn -0.1850 0.9741 0.1301
vn -0.3834 0.8528 0.3545
vn -0.1765 0.7795 -0.6010
vn -0.1443 0.9475 0.2854
vn 0.3645 0.8247 -0.4324
vn -0.0884 0.7237 0.6844
vn 0.1828 0.9581 -0.2204
vn 0.2262 0.6326 -0.7407
vn -0.1915 0.8737 -0.4472
vn 0.0158 0.9926 -0.1207
vn -0.0964 0.8728 -0.4784
vn -0.2181 0.5323 -0.8180
vn -0.2303 0.7038 0.6720
vn -0.0216 0.9939 -0.1081
vn -0.1544 0.9698 -0.1889
vn -0.1996 0.8760 -0.4391
vn -0.3457 0.8715 0.3477
vn -0.3269 0.9444 0.0367
vn -0.4092 0.9020 0.1377
vn 0.0385 0.9988 0.0315
vn -0.2218 0.5760 -0.7868
vn -0.3047 0.9015 0.3075
vn -0.1550 0.9770 -0.1463
vn -0.1564 0.8150 0.5580
vn 0.4591 0.8878 0.0321
vn -0.2832 0.6136 -0.7371
vn 0.7199 -0.5270 0.4516
vn 0.3124 0.8888 -0.3354
vn 0.2112 0.4431 -0.8712
vn 0.5301 0.8191 -0.2192
vn 0.3989 0.8243 -0.4018
vn 0.8754 0.4834 0.0037
vn 0.6977 0.7162 -0.0151
vn 0.8037 0.4049 0.4361
vn 0.7026 0.5673 -0.4296
vn 0.7084 0.5891 -0.3888
vn 0.8974 0.4403 0.0278
vn 0.7106 0.6681 -0.2209
vn 0.5548 0.7257 -0.4068
vn 0.8987 0.3506 0.2635
vn 0.7173 0.5466 -0.4320
vn -0.3049 0.7454 0.5927
vn 0.3888 0.8575 0.3368
vn 0.5873 0.8080 -0.0472
vn 0.8917 0.3778 0.2494
vn 0.3584 0.7563 -0.5474
vn 0.2679 0.8592 0.4359
vn 0.4732 0.8800 0.0409
vn 0.4872 0.8200 0.3002
vn 0.6234 0.7521 0.2138
vn 0.2514 0.9110 -0.3269
vn 0.5095 0.8359 -0.2042
vn 0.5389 0.8264 0.1634
vn 0.5211 0.8525 -0.0409
vn 0.3349 0.6995 -0.6313
vn 0.2978 0.9398 -0.1676
vn 0.6733 0.6382 0.3733
vn 0.1768 0.4760 -0.8615
vn 0.6037 0.7015 -0.3788
vn 0.4880 0.7177 -0.4968
vn 0.6836 0.6932 0.2282
vn 0.6331 0.7740 0.0127
vn 0.7148 0.6492 0.2602
vn 0.6345 0.7182 0.2855
vn 0.5757 0.6949 -0.4309
vn 0.8472 0.5257 -0.0766
vn 0.7096 0.5647 0.4214
vn 0.6919 0.7060 0.1511
vn 0.6196 0.7720 0.1421
vn 0.2445 0.6206 -0.7450
vn 0.4145 0.8148 -0.4054
vn 0.6888 0.4645 0.5566
vn 0.4239 0.8997 -0.1039
vn 0.3647 0.7526 -0.5483
vn -0.9496 -0.0787 -0.3036
vn 0.6627 0.7340 -0.1487
vn 0.8246 0.5632 -0.0532
vn 0.3155 0.8867 0.3380
vn 0.4661 0.8823 0.0652
vn 0.7233 0.5760 -0.3808
vn 0.5677 0.7623 0.3108
vn 0.8351 0.5476 -0.0516
vn 0.7935 0.6079 0.0302
vn 0.1900 -0.4482 0.8735
vn 0.1702 -0.5508 0.8171
vn 0.9351 0.2921 -0.2006
vn 0.5663 -0.5585 0.6061
vn 0.8354 0.4257 0.3476
vn 0.4841 0.7170 0.5016
vn 0.6972 0.6142 -0.3697
vn -0.1064 0.7060 -0.7001
vn 0.7027 0.6917 0.1664
vn 0.6207 0.5793 0.5283
vn 0.8333 -0.2322 0.5017
vn 0.8247 -0.4707 0.3135
vn 0.8215 0.5105 0.2541
vn 0.7982 0.5331 -0.2805
vn 0.5893 0.7358 0.3338
vn 0.9439 -0.3179 0.0891
vn 0.6576 0.4921 0.5705
vn 0.3431 0.9390 0.0253
vn 0.2150 0.6289 0.7472
vn 0.9578 0.1601 -0.2389
vn 0.2409 0.9464 0.2150
vn 0.4927 0.7871 0.3710
vn 0.7689 0.5087 0.3873
vn 0.2499 0.8993 -0.3590
vn -0.8758 -0.2442 -0.4163
vn 0.6632 0.6750 0.3235
vn 0.5471 0.6764 0.4931
vn 0.8367 0.5326 0.1278
vn 0.2029 0.9540 -0.2205
vn 0.5030 0.6635 0.5538
vn 0.3997 0.9139 0.0707
vn 0.1255 0.5330 -0.8367
vn 0.1057 0.5205 -0.8473
vn 0.7797 0.6261 0.0102
vn -0.2347 -0.8601 0.4530
vn 0.5712 0.7526 0.3275
vn 0.9649 0.2611 0.0280
vn 0.6240 -0.2123 0.7520
vn 0.0097 0.6686 -0.7435
vn 0.5246 0.8337 0.1722
vn 0.7289 0.6788 -0.0893
vn 0.6698 0.3440 -0.6581
vn 0.2165 0.8839 -0.4144
vn 0.7399 0.5251 0.4204
vn 0.3330 0.7874 -0.5188
vn 0.5347 0.7362 0.4148
vn 0.8793 0.4761 0.0122
vn 0.3042 0.8473 -0.4354
vn 0.8612 0.4948 0.1162
vn 0.8841 0.2892 -0.3670
vn 0.3192 0.9402 0.1192
vn -0.1359 -0.2385 0.9616
vn -0.3129 -0.7429 0.5918
vn 0.4841 0.7571 0.4387
vn 0.5866 0.5638 0.5814
vn 0.4851 0.8743 -0.0175
vn 0.5605 0.8274 -0.0354
vn 0.4927 0.7823 -0.3810
vn 0.4328 0.7870 0.4397
vn 0.2868 0.7597 -0.5837
vn 0.7342 0.6454 0.2108
vn 0.7954 0.5429 0.2693
vn 0.3443 0.9133 -0.2175
vn 0.6015 0.7882 -0.1304
vn -0.9715 -0.0603 0.2292
vn -0.9544 -0.0958 0.2828
vn -0.8917 -0.1894 -0.4112
vn -0.8751 0.3118 -0.3700
vn -0.3815 -0.2215 -0.8974
vn -0.9602 0.2658 0.0859
vn 0.9975 -0.0155 -0.0684
vn 0.9908 0.0451 0.1279
vn -0.7601 -0.6467 -0.0632
vn -0.2321 -0.9531 -0.1942
vn -0.0749 -0.9849 -0.1563
vn -0.7457 0.4453 -0.4956
vn 0.0328 -0.9864 -0.1611
vn 0.7732 -0.6340 -0.0108
vn -0.1378 -0.8937 0.4271
vn 0.6987 -0.7012 0.1421
vn 0.7492 0.2598 0.6092
vn -0.7657 0.2438 0.5952
vn 0.6421 -0.3425 -0.6858
vn 0.6969 -0.2068 0.6867
vn 0.9013 -0.0450 0.4309
vn -0.9178 0.1720 0.3579
vn -0.9441 0.0885 -0.3176
vn 0.1387 -0.6326 0.7620
vn 0.9489 0.2234 -0.2231
vn 0.9482 -0.1566 0.2764
vn -0.8482 -0.5296 0.0033
vn 0.8588 -0.2507 0.4467
vn -0.9054 0.2280 0.3582
vn -0.6877 -0.5135 0.5132
vn 0.9987 -0.0287 -0.0416
vn 0.7358 -0.5945 0.3244
vn 0.7637 0.3893 0.5150
vn 0.8274 -0.2583 0.4988
vn -0.2915 0.0320 -0.9560
vn 0.4465 0.1017 0.8890
vn -0.8072 -0.5621 0.1799
vn 0.8529 -0.5055 0.1304
vn 0.7564 -0.6539 -0.0151
vn 0.0051 0.9908 0.1352
vn -0.4865 0.4759 -0.7327
vn 0.7937 -0.6045 0.0678
vn 0.9769 0.0602 -0.2052
vn -0.0911 -0.7867 -0.6105
vn 0.2675 -0.5018 -0.8226
vn 0.6730 -0.7227 0.1570
vn -0.8934 -0.1899 -0.4072
vn -0.0119 0.0371 0.9992
vn 0.9325 -0.2533 0.2573
vn 0.8680 -0.3549 0.3475
vn 0.8380 -0.5456 -0.0081
vn 0.2012 -0.5005 0.8421
vn -0.9925 -0.1219 0.0062
vn 0.9146 0.3632 -0.1779
vn 0.0096 -0.0203 0.9997
vn 0.9738 0.2126 -0.0811
vn 0.8890 -0.4267 0.1662
vn 0.7363 -0.4747 0.4823
vn 0.5173 -0.3513 0.7804
vn 0.8469 0.0247 0.5312
vn -0.1266 -0.2629 0.9565
vn 0.9533 0.2877 -0.0922
vn 0.4538 -0.7323 -0.5078
vn 0.9583 0.1857 -0.2174
vn -0.0921 -0.8372 0.5391
vn 0.9939 0.0894 -0.0647
vn 0.9706 0.2330 -0.0611
vn 0.9484 0.1183 0.2941
vn 0.9896 0.1439 0.0056
vn 0.9987 -0.0424 -0.0274
vn -0.2531 -0.0013 -0.9674
vn 0.9912 0.0819 -0.1038
vn 0.9162 0.1096 -0.3854
vn 0.6164 0.0816 0.7832
vn 0.9264 0.0159 0.3761
vn -0.4118 0.1859 -0.8921
vn 0.9126 0.2676 -0.3092
vn 0.4633 0.6438 -0.6090
vn 0.5715 -0.0545 -0.8188
vn 0.9503 -0.2890 0.1156
vn 0.2657 0.0585 -0.9623
vn -0.9216 -0.3852 0.0484
vn 0.1111 0.0302 -0.9933
vn -0.5378 -0.2375 -0.8089
vn -0.2015 0.4564 -0.8667
vn -0.6076 -0.7899 0.0829
vn -0.3300 0.3652 -0.8705
vn -0.0399 -0.1261 -0.9912
vn 0.2635 -0.1959 -0.9446
vn -0.1208 0.7032 -0.7007
vn -0.9005 0.0354 0.4335
vn 0.7721 0.3049 -0.5575
vn 0.3015 -0.0894 -0.9493
vn -0.3708 0.1027 -0.9230
vn 0.7166 0.4460 -0.5363
vn -0.1695 0.0513 -0.9842
vn 0.7878 0.1975 -0.5834
vn -0.5235 0.1428 -0.8400
vn 0.8469 -0.2270 -0.4809
vn 0.0952 0.3146 -0.9444
vn -0.4072 0.7784 -0.4779
vn -0.6667 0.3632 -0.6509
vn 0.2900 0.2482 -0.9243
vn -0.0997 -0.1271 -0.9869
vn 0.0588 0.1325 -0.9894
vn 0.2198 0.0980 -0.9706
vn -0.1240 -0.1121 -0.9859
vn -0.1923 0.7332 -0.6522
vn 0.5531 0.6836 -0.4762
vn -0.1935 0.4506 -0.8715
vn 0.8634 0.1270 -0.4882
vn -0.5217 0.0476 -0.8518
vn 0.7347 0.4692 -0.4900
vn 0.9111 0.3373 -0.2369
vn -0.4727 -0.2522 -0.8444
vn 0.1232 0.2997 -0.9460
vn -0.4892 -0.0887 -0.8676
vn -0.8856 0.4641 -0.0180
vn 0.2352 -0.1755 -0.9560
vn 0.0175 0.3241 -0.9459
vn 0.7689 -0.2536 -0.5870
vn 0.7887 0.0051 -0.6147
vn 0.6072 0.4946 -0.6218
vn 0.1463 0.4278 -0.8919
vn 0.1962 -0.0257 -0.9802
vn 0.6452 0.0436 -0.7628
vn 0.5595 0.3682 -0.7425
vn -0.2460 0.7021 -0.6682
vn 0.4496 0.0387 -0.8924
vn 0.8265 0.3001 -0.4763
vn 0.8506 0.3582 -0.3850
vn 0.4836 0.6656 -0.5684
vn 0.1157 0.7461 -0.6558
vn -0.8943 -0.4417 -0.0718
vn -0.2972 -0.8255 0.4798
vn 0.8379 0.2857 -0.4650
vn 0.2657 -0.6161 -0.7415
vn 0.4318 0.3748 -0.8204
vn 0.3053 0.5607 -0.7697
vn -0.1063 0.5184 -0.8485
vn -0.9382 -0.0299 0.3447
vn 0.5520 -0.2544 -0.7941
vn 0.5486 -0.0241 -0.8357
vn -0.2427 -0.1479 -0.9588
vn -0.0250 0.3905 -0.9203
vn -0.2166 0.3599 -0.9075
vn 0.8273 -0.0693 -0.5575
vn 0.2536 0.8551 -0.4523
vn 0.5941 0.5825 -0.5547
vn 0.1299 -0.6474 0.7510
vn 0.3777 0.0361 -0.9252
vn 0.3350 0.1493 -0.9303
vn -0.0657 -0.5605 0.8255
vn -0.7676 0.0604 0.6380
vn 0.1848 0.4581 -0.8695
vn -0.9876 -0.0885 0.1294
vn -0.4203 0.3310 -0.8449
vn -0.4962 0.8493 -0.1803
vn -0.7559 0.3695 -0.5404
vn -0.2187 -0.6457 0.7316
vn -0.9268 0.3644 -0.0906
vn 0.1460 -0.6372 0.7567
vn -0.7682 0.6174 0.1694
vn -0.4765 0.8788 0.0243
vn -0.0327 0.6953 -0.7180
vn -0.5593 0.1221 -0.8199
vn -0.7401 0.4803 -0.4707
vn -0.5884 0.7702 0.2461
vn -0.0479 0.4073 -0.9120
vn -0.8458 0.5224 -0.1086
vn -0.9327 0.1888 -0.3071
vn -0.3507 0.9362 0.0253
vn -0.8666 0.3430 -0.3624
vn -0.5494 0.4937 -0.6741
vn -0.2431 0.3404 -0.9083
vn -0.5448 0.7526 0.3698
vn -0.4389 0.8431 0.3108
vn -0.8145 0.5785 0.0438
vn -0.6005 0.7991 -0.0278
vn 0.0942 0.9917 0.0876
vn -0.3924 0.4342 -0.8108
vn -0.5341 0.8451 0.0223
vn -0.9226 -0.3319 -0.1965
vn -0.1922 -0.8694 0.4551
vn -0.6720 -0.6574 0.3408
vn -0.6344 0.7647 0.1129
vn 0.5301 -0.7347 0.4234
vn -0.6339 -0.7211 0.2798
vn -0.8921 0.1698 -0.4186
vn 0.1484 -0.9287 0.3398
vn 0.0697 0.0385 0.9968
vn -0.4666 0.5305 -0.7077
vn -0.8731 0.4194 -0.2488
vn 0.5161 0.7365 0.4372
vn -0.7373 0.6596 -0.1460
vn -0.6966 -0.6510 -0.3015
vn -0.7388 0.5326 -0.4128
vn -0.2899 0.4174 -0.8613
vn -0.5114 0.6636 -0.5459
vn -0.4420 0.8934 0.0807
vn -0.3792 0.9250 0.0253
vn -0.9438 -0.1036 -0.3139
vn -0.8301 0.5397 0.1399
vn -0.8245 0.4115 0.3884
vn -0.5479 0.5007 0.6702
vn -0.6354 0.7700 -0.0581
vn -0.8002 0.5233 0.2928
vn 0.3567 0.9271 -0.1153
vn -0.7698 0.4657 -0.4365
vn -0.8225 0.5533 0.1313
vn -0.7768 0.6154 -0.1339
vn -0.6288 0.6310 -0.4544
vn -0.4290 -0.7910 -0.4361
vn -0.4195 -0.8959 -0.1462
vn -0.0615 -0.9625 -0.2643
vn -0.9030 0.4182 0.0989
vn 0.1460 0.9412 -0.3045
vn -0.6842 0.6103 -0.3993
vn -0.3274 0.5382 -0.7766
vn 0.1288 0.8983 -0.4202
vn -0.7129 0.6793 -0.1738
vn -0.9155 0.2886 -0.2804
vn -0.7231 0.6724 -0.1584
vn -0.7275 0.5844 -0.3595
vn -0.8588 0.4408 -0.2612
vn -0.5171 0.5345 -0.6685
vn -0.8775 0.4743 -0.0711
vn 0.6643 -0.1728 0.7272
vn -0.7054 0.6824 -0.1919
vn -0.0601 -0.9618 -0.2672
vn 0.2560 -0.5379 -0.8032
vn -0.5507 -0.7024 0.4509
vn 0.2540 -0.4481 -0.8572
vn -0.9469 -0.3057 -0.0995
vn -0.8969 -0.3930 0.2025
vn -0.9446 0.1300 0.3014
vn -0.3892 -0.7660 0.5116
vn -0.2167 -0.4901 0.8443
vn -0.9606 -0.2728 -0.0530
vn -0.8636 0.2747 -0.4227
vn -0.8805 -0.2826 0.3806
vn -0.5564 0.1356 -0.8198
vn -0.6644 0.2599 -0.7007
vn -0.4375 -0.5116 0.7395
vn -0.9857 -0.1334 -0.1033
vn -0.4406 -0.5099 0.7388
vn -0.9642 -0.2547 0.0740
vn -0.1120 -0.6739 -0.7303
vn 0.1873 -0.8060 -0.5614
vn -0.8012 -0.0794 0.5930
vn -0.7911 -0.5117 0.3352
vn -0.8691 -0.4280 -0.2479
vn -0.5860 -0.3627 0.7246
vn -0.5020 -0.2700 -0.8217
vn -0.4216 -0.2827 -0.8616
vn -0.6317 -0.4382 -0.6395
vn -0.7984 -0.3664 -0.4778
vn -0.6499 -0.5873 -0.4824
vn -0.8747 -0.4693 0.1206
vn -0.8177 -0.3888 0.4245
vn -0.9416 -0.3124 -0.1259
vn -0.7903 -0.5936 0.1518
vn -0.9277 -0.3734 0.0041
vn -0.9097 -0.2999 0.2873
vn -0.8875 0.1603 0.4321
vn -0.7769 -0.1437 0.6129
vn -0.9000 0.1726 0.4002
vn -0.9104 -0.2891 0.2960
vn 0.6347 -0.3501 -0.6889
vn -0.9744 -0.1026 -0.2002
vn -0.9965 -0.0733 0.0409
vn -0.9610 0.1692 -0.2186
vn -0.8628 0.0844 -0.4984
vn -0.7072 -0.4692 0.5289
vn -0.9855 0.0393 0.1651
vn -0.7828 0.2413 -0.5735
vn -0.7231 -0.3539 -0.5932
vn -0.8525 -0.4396 0.2827
vn -0.9909 0.1345 -0.0002
vn -0.3564 -0.1675 -0.9192
vn -0.6254 -0.3756 0.6839
vn -0.6928 -0.4202 -0.5860
vn -0.0207 -0.9564 0.2912
vn -0.8885 0.1845 -0.4201
vn -0.8235 -0.1664 0.5423
vn 0.5068 -0.7855 -0.3553
vn -0.6844 -0.2869 -0.6703
vn -0.9423 -0.0984 -0.3199
vn -0.0671 -0.6102 -0.7894
vn -0.9185 0.3686 0.1434
vn -0.9585 -0.2851 0.0086
vn -0.9230 -0.2032 -0.3267
vn -0.9733 0.1992 -0.1138
vn -0.5964 -0.5618 -0.5732
vn -0.8551 -0.4126 0.3139
vn -0.5571 -0.4360 0.7068
vn -0.6807 -0.6105 0.4049
vn -0.9652 -0.0342 0.2592
vn -0.6179 -0.6857 -0.3848
vn -0.2337 -0.6663 -0.7081
vn -0.8192 -0.5727 0.0325
vn -0.6085 0.3538 -0.7103
vn -0.9970 -0.0769 -0.0102
vn -0.3072 -0.9321 0.1917
vn -0.8173 -0.1487 0.5566
vn 0.0080 -0.2364 0.9716
vn -0.6925 -0.5194 0.5006
vn -0.9303 0.0729 -0.3594
vn 0.0662 0.0358 0.9972
vn -0.7476 -0.6584 0.0874
vn -0.7519 -0.6547 0.0776
vn 0.4638 -0.8456 -0.2643
vn 0.1081 0.9936 -0.0339
vn -0.8430 -0.5123 -0.1639
vn -0.6929 -0.6562 -0.2988
vn -0.1873 -0.3934 -0.9001
vn -0.6710 -0.6386 -0.3768
vn -0.8666 -0.3937 0.3066
vn 0.1825 -0.8973 -0.4020
vn -0.9233 -0.1240 -0.3636
vn -0.0524 -0.9442 -0.3251
vn -0.6914 -0.6182 -0.3740
vn -0.7517 -0.4656 0.4671
vn 0.4433 -0.6503 -0.6169
vn -0.4724 -0.2853 0.8339
vn -0.6365 -0.1735 0.7515
vn -0.8437 -0.4826 0.2349
vn -0.5954 -0.5631 0.5730
vn -0.8900 -0.1935 0.4128
vn -0.8303 -0.5237 -0.1903
vn -0.5726 -0.6662 -0.4779
vn -0.9612 -0.2666 -0.0702
vn -0.9452 -0.3133 0.0923
vn -0.8431 -0.4499 -0.2946
vn -0.6248 -0.6468 -0.4374
vn -0.6753 -0.7054 -0.2151
vn -0.8351 -0.5408 -0.1013
vn -0.0077 -0.9798 -0.2000
vn -0.4419 -0.1656 -0.8816
vn -0.8934 -0.3794 -0.2407
vn -0.6951 -0.5559 0.4559
vn -0.8870 0.1044 -0.4498
vn -0.9987 0.0494 -0.0105
vn -0.1669 -0.2861 -0.9436
vn -0.0717 -0.5060 -0.8596
vn -0.4248 -0.3781 -0.8225
vn 0.0608 -0.0320 0.9976
vn 0.5212 -0.8427 -0.1349
vn -0.0500 -0.8860 -0.4611
vn 0.3646 -0.7962 -0.4829
vn -0.0406 -0.9204 -0.3889
vn 0.4303 -0.6566 -0.6195
vn -0.1193 -0.6172 -0.7777
vn 0.3666 -0.1614 0.9163
vn 0.6681 -0.6063 -0.4313
vn -0.2946 -0.3083 -0.9045
vn 0.7507 -0.5787 -0.3186
vn 0.0760 -0.8390 -0.5388
vn 0.4878 -0.5836 -0.6492
vn -0.2752 -0.7687 -0.5774
vn -0.6854 -0.6890 -0.2356
vn 0.4603 -0.6596 -0.5941
vn 0.3713 -0.8844 -0.2829
vn 0.1129 -0.7604 -0.6396
vn -0.6775 -0.7095 -0.1942
vn -0.4922 -0.6824 -0.5404
vn 0.0124 -0.8200 -0.5722
vn 0.5363 -0.7659 -0.3547
vn 0.4828 -0.7395 -0.4692
vn -0.3120 -0.5898 -0.7448
vn -0.0292 -0.8679 -0.4959
vn -0.1236 -0.2725 -0.9542
vn 0.1652 -0.4823 -0.8603
vn -0.1242 -0.7256 -0.6768
vn -0.2145 -0.3934 -0.8940
vn 0.3793 -0.8664 -0.3249
vn -0.2284 -0.7352 -0.6382
vn 0.7395 -0.6579 0.1425
vn -0.0341 -0.5898 -0.8069
vn -0.2579 -0.7632 -0.5925
vn -0.2053 -0.3986 -0.8938
vn 0.4689 -0.7606 -0.4491
vn -0.1885 -0.6816 -0.7071
vn 0.1750 -0.4980 -0.8493
vn 0.0972 -0.7264 -0.6804
vn 0.6641 -0.6571 -0.3567
vn 0.7488 -0.5597 -0.3551
vn 0.6443 -0.7083 -0.2884
vn 0.2199 -0.6019 -0.7677
vn 0.3270 -0.4211 -0.8460
vn 0.4030 -0.9035 -0.1460
vn 0.0097 -0.3626 -0.9319
vn -0.0946 -0.6760 -0.7308
vn -0.6501 -0.7226 -0.2350
vn 0.8882 -0.1802 -0.4227
vn 0.0149 -0.7543 -0.6564
vn 0.0100 -0.4715 -0.8818
vn -0.2789 -0.5300 -0.8008
vn 0.1801 -0.9837 -0.0019
vn -0.4366 -0.0739 -0.8966
vn 0.0523 -0.8693 -0.4916
vn -0.2644 -0.6019 -0.7535
vn -0.6024 -0.5886 -0.5391
vn -0.5905 0.2069 -0.7800
vn -0.0315 -0.8684 -0.4949
vn -0.9333 0.2304 -0.2754
vn -0.1038 -0.3628 -0.9261
vn 0.9065 -0.4051 0.1187
vn 0.1817 -0.5995 -0.7795
vn 0.3225 -0.6873 -0.6508
vn 0.4883 -0.7707 -0.4094
vn 0.3715 -0.3443 -0.8622
vn 0.0933 -0.9437 0.3172
vn -0.3389 -0.9389 -0.0604
vn 0.1631 -0.9749 -0.1514
vn 0.4278 -0.8530 0.2989
vn 0.1252 -0.9519 -0.2795
vn 0.4659 -0.4714 0.7488
vn -0.4396 -0.8967 -0.0509
vn 0.2797 -0.8081 0.5184
vn 0.1543 -0.9157 -0.3711
vn 0.2376 -0.9571 -0.1656
vn 0.0043 -0.0337 0.9994
vn -0.5063 -0.8620 -0.0240
vn -0.3388 -0.7563 -0.5597
vn -0.2805 -0.9525 -0.1183
vn -0.3915 -0.8664 0.3099
vn -0.4381 -0.8936 -0.0974
vn -0.4577 -0.8212 -0.3409
vn -0.4374 -0.8879 -0.1424
vn -0.0235 -0.9997 -0.0101
vn 0.7156 0.6911 -0.1014
vn 0.0068 -0.9826 -0.1854
vn 0.0752 -0.9328 0.3523
vn -0.3766 -0.9168 -0.1328
vn 0.2286 -0.8296 0.5094
vn 0.5392 -0.8393 0.0691
vn 0.5102 -0.8249 -0.2435
vn 0.4097 -0.8421 -0.3507
vn -0.2549 -0.6074 0.7524
vn -0.4009 -0.9140 -0.0625
vn 0.1103 -0.9383 0.3278
vn 0.6575 -0.7533 -0.0159
vn 0.6469 -0.7450 0.1627
vn -0.4134 -0.8865 0.2080
vn -0.2768 -0.8925 0.3560
vn -0.4524 -0.5524 0.7002
vn -0.3439 -0.9337 -0.0996
vn -0.0199 -0.9992 -0.0354
vn 0.4312 -0.6566 0.6188
vn 0.4078 -0.9082 -0.0937
vn -0.3232 -0.8189 0.4742
vn 0.1088 -0.9901 -0.0889
vn -0.0232 -0.9995 -0.0218
vn 0.4621 -0.8868 -0.0073
vn -0.1197 -0.9194 -0.3746
vn 0.9229 -0.0797 0.3766
vn -0.4714 -0.8154 -0.3361
vn -0.1589 -0.4807 0.8624
vn 0.4018 -0.6654 0.6291
vn 0.3748 -0.7787 0.5032
vn 0.3501 -0.9241 0.1532
vn 0.4611 -0.8730 -0.1593
vn 0.1150 -0.9071 -0.4049
vn 0.3404 -0.8339 0.4344
vn 0.6529 -0.7207 -0.2331
vn 0.3629 -0.9059 0.2181
vn 0.2718 -0.8728 0.4053
vn 0.2379 -0.9655 -0.1057
vn -0.3583 -0.8890 0.2850
vn 0.3099 -0.9186 0.2452
vn -0.2413 -0.8624 0.4451
vn -0.5811 -0.7888 0.2002
vn 0.1064 -0.8587 0.5014
vn 0.4622 -0.8727 -0.1572
vn 0.3476 -0.9376 -0.0044
vn 0.5835 -0.7741 -0.2456
vn 0.2104 -0.9660 -0.1502
vn -0.4006 -0.8732 0.2776
vn -0.1441 -0.9833 -0.1111
vn 0.4701 -0.7761 -0.4204
vn 0.4433 -0.0413 0.8954
vn 0.1148 -0.8510 0.5125
vn 0.3051 -0.9418 -0.1410
vn -0.5038 -0.8606 0.0748
vn 0.7356 -0.6401 0.2218
vn -0.1292 -0.8796 0.4579
vn -0.3178 -0.8361 0.4471
vn -0.3653 -0.9241 -0.1123
vn 0.3498 -0.8947 0.2777
vn 0.1861 -0.9406 0.2841
vn 0.1082 -0.9461 -0.3053
vn -0.0623 -0.9981 -0.0003
vn 0.1265 -0.5923 0.7957
vn 0.2594 -0.9504 -0.1714
vn 0.4064 -0.9022 -0.1446
vn 0.3508 -0.9251 -0.1453
vn 0.0834 -0.7020 0.7072
vn 0.1505 -0.8429 0.5166
vn -0.5797 -0.7339 -0.3540
vn 0.2044 -0.9648 0.1656
vn 0.3732 -0.8832 -0.2841
vn -0.3129 -0.7957 -0.5186
vn 0.1361 -0.9900 0.0367
vn 0.1418 -0.9740 0.1764
vn -0.3723 -0.6017 0.7067
vn -0.0483 -0.9229 0.3820
vn 0.0166 -0.8904 -0.4548
vn 0.0729 -0.9775 0.1982
vn 0.1587 -0.6025 0.7822
vn 0.3310 -0.9270 0.1764
vn 0.3409 -0.9298 -0.1387
vn 0.2282 -0.9128 0.3387
vn 0.0261 -0.9901 -0.1379
vn 0.0546 -0.9265 0.3723
vn 0.0419 -0.9277 0.3710
vn -0.8068 -0.3951 -0.4393
vn -0.4307 -0.9019 0.0324
vn 0.1823 -0.9359 0.3015
vn 0.1632 -0.9816 -0.0996
vn 0.0546 -0.9982 -0.0249
vn -0.7526 -0.6295 -0.1931
vn -0.9425 -0.3303 0.0514
vn -0.0224 -0.9961 0.0850
vn 0.1903 -0.9817 0.0028
vn -0.4461 -0.8214 -0.3554
vn -0.2704 -0.9432 -0.1929
vn 0.3040 -0.9306 0.2040
vn 0.0716 -0.9926 -0.0980
vn -0.4636 -0.8467 -0.2610
vn -0.0301 -0.6169 0.7865
vn 0.0601 -0.9145 0.4002
vn 0.1500 -0.9797 0.1328
vn 0.6987 -0.6212 0.3549
vn 0.7231 0.2374 0.6487
vn -0.6070 -0.7942 0.0282
vn 0.2038 -0.9557 0.2123
vn -0.4600 -0.7463 0.4811
vn -0.1773 -0.9205 0.3482
vn -0.3410 -0.9172 0.2059
vn -0.3990 -0.8835 0.2455
vn 0.1672 -0.9704 0.1743
vn 0.1660 -0.9846 0.0548
vn 0.0221 -0.9949 -0.0984
vn -0.2304 -0.9136 0.3350
vn -0.7446 -0.5642 -0.3568
vn -0.5962 -0.8019 0.0381
vn -0.0927 -0.8609 0.5003
vn -0.7416 -0.5846 -0.3292
vn -0.0050 -0.9996 0.0263
vn 0.3160 -0.9442 -0.0935
vn -0.1025 -0.9826 0.1549
vn -0.0295 -0.9807 0.1933
vn -0.1700 -0.9644 -0.2025
vn -0.1905 -0.9036 -0.3838
vn -0.4399 -0.8188 0.3687
vn -0.5286 -0.7329 0.4282
vn -0.0137 0.0029 0.9999
vn -0.3727 -0.8928 -0.2530
vn 0.0236 -0.8056 -0.5920
vn -0.4588 -0.8246 0.3308
vn 0.0063 -0.9925 0.1217
vn -0.5998 -0.7656 0.2327
vn -0.1417 -0.9689 -0.2029
vn -0.4999 0.5518 0.6676
vn 0.0023 0.0490 0.9988
vn 0.1286 0.4362 0.8906
vn 0.1316 0.0681 0.9890
vn 0.1494 0.4393 0.8859
vn -0.9312 -0.3208 -0.1732
vn 0.3971 0.5317 0.7481
vn 0.0429 0.0187 0.9989
vn -0.0166 -0.0336 0.9993
vn -0.0778 0.0294 0.9965
vn 0.0800 -0.0540 0.9953
vn 0.0214 -0.0308 0.9993
vn 0.2457 0.9664 0.0763
vn -0.5943 0.2747 0.7559
vn -0.3526 0.4909 -0.7966
vn 0.1250 0.0933 0.9878
vn 0.1083 0.0899 0.9900
vn -0.6244 0.2511 0.7397
vn 0.1293 0.0517 0.9903
vn 0.1088 0.0775 0.9910
vn 0.1131 0.0851 0.9899
vn -0.5749 -0.3151 0.7551
vn -0.5533 0.0295 0.8325
vn -0.7160 -0.4688 0.5172
vn -0.6596 -0.3504 0.6650
vn 0.1155 -0.0541 0.9918
vn -0.7434 0.4220 0.5190
vn 0.0849 -0.1093 0.9904
vn 0.3466 0.9379 -0.0159
vn 0.0491 0.0312 0.9983
vn 0.0147 0.0529 0.9985
vn -0.6434 -0.2093 0.7364
vn 0.3170 -0.2982 0.9003
vn -0.0039 0.0673 0.9977
vn -0.4963 0.5514 0.6706
vn -0.1232 0.8087 0.5752
vn -0.0281 0.0514 0.9983
vn -0.3221 -0.1348 0.9371
vn 0.0600 0.6225 0.7804
vn -0.6363 0.4783 0.6053
vn -0.2832 0.2717 0.9198
vn 0.0297 -0.0238 0.9993
vn 0.0459 -0.0109 0.9989
vn -0.6487 -0.2089 0.7318
vn -0.7893 0.6121 -0.0485
vn 0.6092 -0.2912 0.7377
vn -0.2479 0.3031 0.9201
vn 0.0940 0.9758 0.1976
vn 0.5700 0.1710 0.8036
vn -0.7097 0.3102 0.6326
vn -0.6811 -0.2504 0.6880
vn -0.2794 0.6563 0.7009
vn -0.7428 0.3483 0.5717
vn -0.6749 0.0414 0.7368
vn -0.0046 -0.0759 0.9971
vn -0.6792 0.6362 0.3661
vn -0.1303 0.8199 0.5574
vn 0.0319 0.0177 0.9993
vn 0.0120 0.0526 0.9985
vn -0.6524 -0.0009 0.7579
vn 0.1331 -0.0505 0.9898
vn -0.6415 0.3341 0.6905
vn 0.2871 0.3027 0.9088
vn -0.4942 -0.1135 0.8619
vn -0.6090 0.1136 0.7850
vn -0.0380 0.6727 0.7389
vn 0.2964 0.3111 0.9030
vn -0.2565 -0.2054 0.9445
vn -0.0265 0.0547 0.9982
vn -0.1478 -0.1042 0.9835
vn -0.7214 0.1924 0.6653
vn 0.6302 0.3131 0.7105
vn -0.3257 -0.2724 0.9054
vn 0.1453 0.9894 -0.0057
vn 0.0264 0.0579 0.9980
vn -0.2730 0.0732 0.9592
vn -0.3020 -0.8135 -0.4970
vn -0.0167 0.0574 0.9982
vn -0.4526 0.4368 0.7774
vn -0.1809 0.4568 0.8710
vn -0.0055 -0.0017 1.0000
vn 0.0014 -0.0050 1.0000
vn -0.3471 0.2304 0.9091
vn -0.4510 0.8266 0.3365
vn -0.2814 0.0624 0.9576
vn -0.3091 0.7108 0.6318
vn -0.6781 0.1169 -0.7256
vn -0.0009 0.0368 0.9993
vn -0.0109 0.0681 0.9976
vn -0.3835 0.8208 0.4232
vn 0.3173 -0.2321 0.9195
vn -0.2914 0.3776 0.8789
vn 0.2286 0.4144 0.8809
vn -0.0739 0.0148 0.9972
vn -0.8648 -0.3836 0.3239
vn 0.0789 -0.0264 0.9965
vn -0.0706 0.0087 0.9975
vn 0.1063 0.7856 -0.6096
vn -0.0766 0.0075 0.9970
vn -0.1924 0.7212 0.6655
vn -0.8105 -0.4637 0.3580
vn -0.0227 0.0901 0.9957
vn -0.0066 -0.0209 0.9998
vn -0.1025 0.0093 0.9947
vn -0.1182 0.5176 0.8474
vn 0.0386 -0.0114 0.9992
vn 0.0324 0.0033 0.9995
vn -0.0141 0.0168 0.9998
vn 0.7816 0.1996 0.5911
vn -0.0731 0.7975 0.5988
vn -0.3185 0.7539 0.5747
vn 0.5853 0.3064 0.7507
vn 0.5118 0.6636 0.5456
vn 0.1396 -0.0390 0.9894
vn 0.0137 -0.0118 0.9998
vn 0.1689 -0.0688 0.9832
vn -0.7384 -0.0813 0.6695
vn 0.0216 -0.0232 0.9995
vn 0.2541 0.2169 0.9426
vn -0.0219 -0.0399 0.9990
vn 0.0084 -0.0207 0.9998
vn 0.0179 0.0385 0.9991
vn 0.0519 0.7191 0.6929
vn 0.0469 0.0660 0.9967
vn -0.0414 0.0117 0.9991
vn 0.0020 0.0446 0.9990
vn -0.1056 0.8595 0.5001
vn 0.3873 0.2006 0.8998
vn 0.0217 0.0439 0.9988
vn 0.0072 -0.0195 0.9998
vn -0.0082 0.0222 0.9997
vn 0.0038 0.0321 0.9995
vn 0.0073 0.0293 0.9995
vn 0.4577 -0.4309 0.7778
vn 0.3964 -0.2177 0.8919
vn 0.4209 -0.1953 0.8858
vn 0.8644 -0.0701 0.4978
vn -0.2303 -0.5456 0.8058
vn -0.2216 -0.5851 0.7801
vn -0.0601 -0.5588 0.8271
vn 0.0163 -0.7280 0.6854
vn 0.2827 -0.1367 0.9494
vn 0.7193 0.2096 0.6623
s off
f 195//1 206//1 28//1
f 202//2 225//2 224//2
f 192//3 221//3 199//3
f 225//4 201//4 27//4
f 71//5 1//5 134//5
f 66//6 224//6 63//6
f 63//7 227//7 66//7
f 212//8 324//8 326//8
f 229//9 281//9 228//9
f 195//10 28//10 274//10
f 242//11 222//11 192//11
f 40//12 262//12 16//12
f 19//13 256//13 262//13
f 321//14 111//14 196//14
f 3//15 184//15 188//15
f 151//16 186//16 3//16
f 165//17 403//17 503//17
f 196//18 182//18 321//18
f 19//19 262//19 143//19
f 182//20 327//20 321//20
f 316//21 302//21 400//21
f 409//22 408//22 393//22
f 393//23 380//23 386//23
f 151//24 176//24 186//24
f 423//25 406//25 411//25
f 133//26 40//26 43//26
f 212//27 326//27 154//27
f 351//28 360//28 166//28
f 400//29 404//29 316//29
f 486//30 494//30 88//30
f 486//31 482//31 474//31
f 90//32 260//32 60//32
f 173//33 288//33 327//33
f 188//34 174//34 167//34
f 90//35 60//35 68//35
f 503//36 508//36 179//36
f 18//37 15//37 14//37
f 8//38 89//38 94//38
f 202//39 224//39 66//39
f 68//40 60//40 56//40
f 36//41 32//41 26//41
f 18//42 14//42 115//42
f 132//43 11//43 143//43
f 18//44 20//44 15//44
f 14//45 13//45 8//45
f 201//46 225//46 2//46
f 149//47 146//47 53//47
f 61//48 56//48 44//48
f 118//49 78//49 214//49
f 70//50 146//50 54//50
f 225//51 220//51 224//51
f 64//52 56//52 61//52
f 68//53 56//53 64//53
f 326//54 324//54 318//54
f 28//55 72//55 221//55
f 214//56 78//56 77//56
f 15//57 13//57 14//57
f 44//58 45//58 61//58
f 139//59 137//59 90//59
f 158//60 450//60 163//60
f 224//61 220//61 63//61
f 82//62 139//62 90//62
f 70//63 214//63 146//63
f 39//64 61//64 45//64
f 82//65 90//65 68//65
f 194//66 213//66 51//66
f 355//67 176//67 103//67
f 120//68 106//68 121//68
f 172//69 171//69 377//69
f 281//70 229//70 102//70
f 59//71 64//71 61//71
f 76//72 68//72 64//72
f 82//73 68//73 76//73
f 323//74 269//74 447//74
f 30//75 39//75 45//75
f 76//76 64//76 59//76
f 53//77 194//77 51//77
f 217//78 71//78 240//78
f 39//79 59//79 61//79
f 8//80 13//80 10//80
f 106//81 120//81 97//81
f 271//82 197//82 200//82
f 15//83 10//83 13//83
f 88//84 102//84 229//84
f 222//85 221//85 192//85
f 82//86 76//86 73//86
f 75//87 71//87 217//87
f 117//88 22//88 80//88
f 62//89 76//89 59//89
f 53//90 42//90 36//90
f 20//91 10//91 15//91
f 485//92 509//92 309//92
f 102//93 88//93 9//93
f 39//94 30//94 41//94
f 59//95 39//95 41//95
f 1//96 71//96 75//96
f 34//97 28//97 222//97
f 47//98 35//98 118//98
f 30//99 21//99 31//99
f 41//100 30//100 46//100
f 82//101 73//101 55//101
f 147//102 82//102 55//102
f 103//103 176//103 151//103
f 75//104 93//104 1//104
f 62//105 59//105 41//105
f 62//106 73//106 76//106
f 403//107 502//107 500//107
f 214//108 70//108 80//108
f 52//109 41//109 46//109
f 52//110 62//110 41//110
f 55//111 73//111 62//111
f 46//112 30//112 238//112
f 69//113 62//113 52//113
f 157//114 153//114 155//114
f 238//115 30//115 31//115
f 2//116 55//116 201//116
f 80//117 118//117 214//117
f 148//118 403//118 165//118
f 17//119 31//119 9//119
f 50//120 52//120 46//120
f 115//121 26//121 18//121
f 50//122 46//122 238//122
f 123//123 26//123 115//123
f 238//124 31//124 17//124
f 55//125 62//125 4//125
f 201//126 55//126 4//126
f 163//127 446//127 379//127
f 14//128 8//128 105//128
f 62//129 69//129 4//129
f 17//130 9//130 250//130
f 258//131 69//131 52//131
f 27//132 57//132 35//132
f 36//133 42//133 32//133
f 258//134 52//134 50//134
f 280//135 236//135 231//135
f 220//136 47//136 22//136
f 498//137 510//137 175//137
f 6//138 230//138 91//138
f 220//139 22//139 204//139
f 201//140 4//140 57//140
f 12//141 250//141 6//141
f 292//142 197//142 209//142
f 489//143 245//143 280//143
f 220//144 204//144 63//144
f 74//145 69//145 258//145
f 186//146 184//146 3//146
f 63//147 359//147 227//147
f 4//148 69//148 74//148
f 336//149 509//149 23//149
f 12//150 6//150 91//150
f 288//151 210//151 327//151
f 169//152 210//152 288//152
f 74//153 258//153 259//153
f 57//154 4//154 74//154
f 47//155 118//155 22//155
f 18//156 26//156 20//156
f 36//157 26//157 123//157
f 243//158 37//158 51//158
f 181//159 410//159 348//159
f 166//160 360//160 207//160
f 51//161 248//161 243//161
f 24//162 265//162 263//162
f 37//163 265//163 24//163
f 29//164 120//164 121//164
f 42//165 37//165 24//165
f 146//166 194//166 53//166
f 8//167 10//167 89//167
f 65//168 70//168 54//168
f 89//169 12//169 91//169
f 57//170 74//170 78//170
f 53//171 51//171 42//171
f 35//172 78//172 118//172
f 27//173 47//173 220//173
f 10//174 12//174 89//174
f 42//175 51//175 37//175
f 74//176 259//176 78//176
f 35//177 57//177 78//177
f 10//178 263//178 12//178
f 263//179 20//179 24//179
f 32//180 42//180 24//180
f 78//181 259//181 77//181
f 27//182 35//182 47//182
f 20//183 263//183 10//183
f 26//184 24//184 20//184
f 26//185 32//185 24//185
f 149//186 53//186 36//186
f 27//187 201//187 57//187
f 164//188 163//188 379//188
f 262//189 40//189 143//189
f 214//190 194//190 146//190
f 130//191 143//191 40//191
f 130//192 40//192 133//192
f 122//193 29//193 7//193
f 121//194 107//194 104//194
f 133//195 136//195 137//195
f 98//196 114//196 141//196
f 127//197 130//197 133//197
f 132//198 130//198 129//198
f 132//199 143//199 130//199
f 138//200 65//200 150//200
f 133//201 137//201 127//201
f 127//202 129//202 130//202
f 431//203 433//203 430//203
f 96//204 113//204 101//204
f 96//205 101//205 92//205
f 160//206 508//206 141//206
f 80//207 70//207 65//207
f 139//208 127//208 137//208
f 54//209 149//209 36//209
f 99//210 127//210 139//210
f 58//211 132//211 129//211
f 58//212 11//212 132//212
f 140//213 54//213 131//213
f 131//214 116//214 140//214
f 113//215 124//215 112//215
f 142//216 109//216 141//216
f 229//217 490//217 88//217
f 145//218 508//218 160//218
f 109//219 145//219 160//219
f 127//220 99//220 108//220
f 129//221 127//221 180//221
f 180//222 58//222 129//222
f 116//223 100//223 124//223
f 140//224 116//224 124//224
f 99//225 139//225 135//225
f 108//226 180//226 127//226
f 215//227 58//227 180//227
f 113//228 96//228 97//228
f 128//229 142//229 114//229
f 96//230 92//230 84//230
f 141//231 109//231 160//231
f 114//232 142//232 141//232
f 97//233 96//233 86//233
f 65//234 54//234 140//234
f 80//235 65//235 138//235
f 154//236 196//236 111//236
f 125//237 65//237 140//237
f 108//238 99//238 135//238
f 136//239 133//239 43//239
f 107//240 121//240 106//240
f 126//241 117//241 150//241
f 140//242 124//242 125//242
f 147//243 108//243 135//243
f 144//244 150//244 125//244
f 509//245 311//245 309//245
f 439//246 157//246 368//246
f 148//247 177//247 349//247
f 153//248 157//248 439//248
f 104//249 107//249 158//249
f 101//250 105//250 94//250
f 211//251 121//251 104//251
f 49//252 134//252 48//252
f 48//253 142//253 128//253
f 145//254 179//254 508//254
f 159//255 157//255 155//255
f 166//256 163//256 164//256
f 48//257 134//257 142//257
f 126//258 150//258 144//258
f 125//259 124//259 122//259
f 148//260 349//260 502//260
f 158//261 107//261 95//261
f 100//262 116//262 105//262
f 101//263 100//263 105//263
f 193//264 199//264 501//264
f 84//265 92//265 491//265
f 115//266 14//266 116//266
f 113//267 97//267 120//267
f 36//268 131//268 54//268
f 286//269 283//269 278//269
f 75//270 217//270 148//270
f 8//271 94//271 105//271
f 122//272 113//272 120//272
f 131//273 36//273 123//273
f 179//274 145//274 165//274
f 116//275 14//275 105//275
f 109//276 110//276 145//276
f 93//277 110//277 109//277
f 144//278 125//278 122//278
f 289//279 501//279 498//279
f 75//280 148//280 165//280
f 7//281 29//281 216//281
f 163//282 450//282 446//282
f 93//283 75//283 110//283
f 116//284 131//284 115//284
f 114//285 33//285 128//285
f 54//286 146//286 149//286
f 94//287 92//287 101//287
f 100//288 101//288 112//288
f 79//289 22//289 117//289
f 110//290 75//290 165//290
f 144//291 122//291 7//291
f 117//292 80//292 138//292
f 122//293 120//293 29//293
f 72//294 23//294 170//294
f 131//295 123//295 115//295
f 485//296 309//296 476//296
f 506//297 504//297 505//297
f 113//298 112//298 101//298
f 107//299 106//299 95//299
f 65//300 125//300 150//300
f 124//301 100//301 112//301
f 117//302 138//302 150//302
f 145//303 110//303 165//303
f 142//304 93//304 109//304
f 1//305 93//305 134//305
f 134//306 93//306 142//306
f 91//307 491//307 89//307
f 122//308 124//308 113//308
f 173//309 327//309 182//309
f 254//310 489//310 247//310
f 200//311 169//311 288//311
f 261//312 196//312 154//312
f 269//313 380//313 284//313
f 197//314 271//314 209//314
f 184//315 186//315 216//315
f 170//316 509//316 162//316
f 292//317 282//317 152//317
f 341//318 390//318 87//318
f 390//319 354//319 87//319
f 102//320 247//320 280//320
f 354//321 367//321 237//321
f 103//322 151//322 298//322
f 400//323 506//323 404//323
f 181//324 167//324 171//324
f 474//325 459//325 460//325
f 492//326 196//326 261//326
f 355//327 339//327 208//327
f 168//328 157//328 161//328
f 498//329 190//329 510//329
f 173//330 182//330 187//330
f 300//331 198//331 191//331
f 503//332 403//332 499//332
f 98//333 141//333 505//333
f 23//334 509//334 170//334
f 152//335 200//335 197//335
f 162//336 510//336 190//336
f 318//337 308//337 468//337
f 321//338 327//338 205//338
f 199//339 162//339 190//339
f 189//340 183//340 348//340
f 86//341 96//341 84//341
f 159//342 155//342 156//342
f 241//343 278//343 239//343
f 95//344 455//344 450//344
f 292//345 152//345 197//345
f 188//346 183//346 3//346
f 181//347 183//347 167//347
f 490//348 229//348 493//348
f 236//349 245//349 241//349
f 183//350 181//350 348//350
f 98//351 505//351 504//351
f 330//352 340//352 345//352
f 301//353 342//353 291//353
f 377//354 171//354 161//354
f 152//355 169//355 200//355
f 490//356 482//356 486//356
f 168//357 161//357 171//357
f 174//358 384//358 167//358
f 188//359 167//359 183//359
f 364//360 155//360 429//360
f 198//361 187//361 191//361
f 126//362 144//362 7//362
f 452//363 448//363 477//363
f 215//364 180//364 177//364
f 3//365 183//365 189//365
f 167//366 168//366 171//366
f 161//367 157//367 159//367
f 505//368 141//368 508//368
f 485//369 476//369 510//369
f 217//370 177//370 148//370
f 334//371 98//371 504//371
f 126//372 7//372 186//372
f 499//373 404//373 506//373
f 207//374 104//374 166//374
f 217//375 215//375 177//375
f 166//376 104//376 158//376
f 501//377 199//377 190//377
f 199//378 170//378 162//378
f 280//379 281//379 102//379
f 186//380 7//380 216//380
f 126//381 186//381 176//381
f 158//382 95//382 450//382
f 166//383 158//383 163//383
f 209//384 255//384 38//384
f 211//385 104//385 207//385
f 121//386 211//386 223//386
f 331//387 211//387 207//387
f 148//388 502//388 403//388
f 223//389 211//389 331//389
f 489//390 287//390 245//390
f 223//391 331//391 216//391
f 195//392 274//392 282//392
f 216//393 29//393 223//393
f 416//394 422//394 314//394
f 225//395 27//395 220//395
f 216//396 331//396 184//396
f 202//397 357//397 356//397
f 71//398 134//398 49//398
f 468//399 310//399 296//399
f 72//400 170//400 221//400
f 206//401 72//401 28//401
f 209//402 38//402 195//402
f 193//403 192//403 199//403
f 195//404 38//404 206//404
f 221//405 170//405 199//405
f 322//406 48//406 33//406
f 349//407 218//407 356//407
f 242//408 193//408 344//408
f 6//409 234//409 230//409
f 252//410 222//410 242//410
f 218//411 2//411 202//411
f 206//412 240//412 72//412
f 2//413 225//413 202//413
f 215//414 240//414 206//414
f 240//415 275//415 72//415
f 2//416 147//416 55//416
f 135//417 82//417 147//417
f 218//418 147//418 2//418
f 219//419 126//419 176//419
f 322//420 49//420 48//420
f 117//421 126//421 219//421
f 147//422 218//422 108//422
f 292//423 195//423 282//423
f 206//424 11//424 215//424
f 292//425 209//425 195//425
f 21//426 254//426 247//426
f 202//427 362//427 357//427
f 38//428 11//428 206//428
f 208//429 176//429 355//429
f 208//430 219//430 176//430
f 117//431 219//431 79//431
f 28//432 221//432 222//432
f 218//433 202//433 356//433
f 81//434 219//434 208//434
f 79//435 219//435 81//435
f 213//436 248//436 51//436
f 240//437 215//437 217//437
f 180//438 108//438 177//438
f 33//439 114//439 334//439
f 58//440 215//440 11//440
f 143//441 11//441 19//441
f 210//442 178//442 327//442
f 317//443 312//443 412//443
f 177//444 108//444 218//444
f 352//445 307//445 119//445
f 204//446 79//446 81//446
f 204//447 22//447 79//447
f 38//448 19//448 11//448
f 191//449 187//449 472//449
f 359//450 208//450 339//450
f 81//451 208//451 359//451
f 362//452 202//452 66//452
f 77//453 213//453 194//453
f 77//454 259//454 213//454
f 177//455 218//455 349//455
f 118//456 80//456 22//456
f 114//457 98//457 334//457
f 506//458 503//458 499//458
f 81//459 359//459 63//459
f 63//460 204//460 81//460
f 505//461 508//461 506//461
f 308//462 310//462 468//462
f 242//463 192//463 193//463
f 318//464 324//464 308//464
f 258//465 248//465 259//465
f 229//466 228//466 493//466
f 252//467 203//467 222//467
f 406//468 395//468 402//468
f 102//469 21//469 247//469
f 506//470 508//470 503//470
f 263//471 250//471 12//471
f 243//472 265//472 37//472
f 223//473 29//473 121//473
f 71//474 49//474 293//474
f 248//475 50//475 243//475
f 56//476 394//476 44//476
f 77//477 194//477 214//477
f 243//478 50//478 265//478
f 34//479 294//479 274//479
f 21//480 102//480 9//480
f 233//481 232//481 228//481
f 6//482 244//482 234//482
f 6//483 250//483 244//483
f 43//484 16//484 434//484
f 253//485 394//485 56//485
f 17//486 250//486 263//486
f 256//487 16//487 262//487
f 16//488 251//488 434//488
f 34//489 274//489 28//489
f 60//490 253//490 56//490
f 267//491 484//491 231//491
f 289//492 498//492 175//492
f 315//493 413//493 303//493
f 16//494 191//494 251//494
f 168//495 167//495 384//495
f 314//496 405//496 383//496
f 239//497 273//497 235//497
f 409//498 393//498 386//498
f 474//499 482//499 459//499
f 244//500 88//500 234//500
f 154//501 326//501 261//501
f 86//502 464//502 97//502
f 287//503 286//503 245//503
f 226//504 257//504 420//504
f 258//505 50//505 248//505
f 213//506 259//506 248//506
f 256//507 19//507 249//507
f 9//508 31//508 21//508
f 16//509 43//509 40//509
f 231//510 484//510 232//510
f 234//511 88//511 494//511
f 263//512 265//512 238//512
f 21//513 466//513 254//513
f 494//514 230//514 234//514
f 238//515 17//515 263//515
f 490//516 486//516 88//516
f 255//517 209//517 319//517
f 253//518 326//518 246//518
f 261//519 326//519 253//519
f 239//520 235//520 465//520
f 347//521 323//521 453//521
f 299//522 311//522 427//522
f 385//523 341//523 87//523
f 50//524 238//524 265//524
f 88//525 244//525 9//525
f 236//526 239//526 465//526
f 241//527 239//527 236//527
f 244//528 250//528 9//528
f 60//529 261//529 253//529
f 300//530 249//530 319//530
f 260//531 261//531 60//531
f 300//532 191//532 16//532
f 300//533 256//533 249//533
f 19//534 255//534 249//534
f 256//535 300//535 16//535
f 510//536 162//536 485//536
f 245//537 286//537 241//537
f 501//538 344//538 193//538
f 339//539 358//539 227//539
f 268//540 242//540 344//540
f 339//541 361//541 358//541
f 289//542 175//542 268//542
f 268//543 344//543 289//543
f 83//544 242//544 268//544
f 252//545 242//545 83//545
f 175//546 510//546 507//546
f 175//547 507//547 268//547
f 319//548 249//548 255//548
f 297//549 83//549 268//549
f 293//550 49//550 322//550
f 203//551 34//551 222//551
f 252//552 83//552 297//552
f 268//553 507//553 290//553
f 203//554 252//554 297//554
f 297//555 268//555 290//555
f 350//556 358//556 361//556
f 338//557 337//557 329//557
f 290//558 507//558 476//558
f 304//559 314//559 383//559
f 317//560 416//560 314//560
f 294//561 203//561 297//561
f 280//562 231//562 233//562
f 354//563 333//563 87//563
f 333//564 416//564 87//564
f 416//565 317//565 87//565
f 279//566 276//566 277//566
f 284//567 383//567 378//567
f 305//568 304//568 383//568
f 317//569 314//569 312//569
f 406//570 285//570 395//570
f 305//571 383//571 284//571
f 312//572 314//572 304//572
f 326//573 318//573 246//573
f 185//574 290//574 476//574
f 318//575 468//575 246//575
f 312//576 304//576 305//576
f 360//577 331//577 207//577
f 320//578 290//578 185//578
f 297//579 290//579 320//579
f 198//580 288//580 173//580
f 271//581 200//581 288//581
f 449//582 444//582 433//582
f 209//583 271//583 319//583
f 280//584 247//584 489//584
f 279//585 277//585 269//585
f 408//586 312//586 305//586
f 185//587 274//587 294//587
f 269//588 284//588 279//588
f 294//589 297//589 320//589
f 302//590 33//590 334//590
f 412//591 312//591 409//591
f 271//592 288//592 198//592
f 309//593 185//593 476//593
f 298//594 329//594 103//594
f 245//595 236//595 280//595
f 231//596 232//596 233//596
f 343//597 332//597 119//597
f 198//598 173//598 187//598
f 305//599 284//599 380//599
f 277//600 447//600 269//600
f 278//601 241//601 286//601
f 33//602 302//602 322//602
f 393//603 408//603 305//603
f 185//604 294//604 320//604
f 315//605 419//605 413//605
f 154//606 111//606 212//606
f 316//607 322//607 302//607
f 350//608 345//608 358//608
f 420//609 419//609 315//609
f 233//610 228//610 281//610
f 319//611 271//611 300//611
f 427//612 270//612 257//612
f 311//613 185//613 309//613
f 476//614 507//614 510//614
f 299//615 185//615 311//615
f 300//616 271//616 198//616
f 482//617 458//617 459//617
f 324//618 420//618 315//618
f 226//619 420//619 324//619
f 237//620 346//620 345//620
f 491//621 92//621 94//621
f 283//622 285//622 376//622
f 257//623 226//623 205//623
f 266//624 333//624 354//624
f 322//625 316//625 293//625
f 310//626 315//626 303//626
f 25//627 425//627 301//627
f 299//628 274//628 185//628
f 291//629 342//629 338//629
f 376//630 278//630 283//630
f 324//631 315//631 310//631
f 337//632 339//632 355//632
f 306//633 303//633 402//633
f 310//634 303//634 306//634
f 395//635 285//635 283//635
f 306//636 402//636 473//636
f 308//637 324//637 310//637
f 299//638 313//638 152//638
f 279//639 365//639 276//639
f 212//640 226//640 324//640
f 111//641 226//641 212//641
f 205//642 226//642 321//642
f 274//643 299//643 282//643
f 169//644 313//644 210//644
f 282//645 299//645 152//645
f 390//646 367//646 354//646
f 278//647 272//647 239//647
f 321//648 226//648 111//648
f 327//649 178//649 205//649
f 239//650 272//650 273//650
f 395//651 283//651 286//651
f 343//652 119//652 362//652
f 345//653 346//653 330//653
f 272//654 278//654 347//654
f 428//655 363//655 430//655
f 181//656 172//656 389//656
f 341//657 352//657 332//657
f 337//658 350//658 361//658
f 174//659 351//659 371//659
f 361//660 339//660 337//660
f 266//661 425//661 333//661
f 503//662 179//662 165//662
f 151//663 189//663 298//663
f 378//664 279//664 284//664
f 166//665 164//665 351//665
f 367//666 390//666 332//666
f 336//667 72//667 275//667
f 416//668 333//668 425//668
f 426//669 293//669 316//669
f 23//670 72//670 336//670
f 338//671 350//671 337//671
f 345//672 340//672 358//672
f 313//673 178//673 210//673
f 336//674 275//674 426//674
f 330//675 332//675 340//675
f 500//676 509//676 336//676
f 103//677 337//677 355//677
f 378//678 365//678 279//678
f 367//679 332//679 330//679
f 237//680 266//680 354//680
f 342//681 266//681 237//681
f 351//682 174//682 184//682
f 343//683 362//683 66//683
f 410//684 291//684 298//684
f 390//685 341//685 332//685
f 181//686 171//686 172//686
f 332//687 352//687 119//687
f 295//688 397//688 325//688
f 340//689 343//689 66//689
f 103//690 329//690 337//690
f 328//691 325//691 397//691
f 301//692 266//692 342//692
f 301//693 425//693 266//693
f 356//694 500//694 502//694
f 3//695 189//695 151//695
f 356//696 328//696 500//696
f 360//697 351//697 331//697
f 339//698 227//698 359//698
f 291//699 329//699 298//699
f 357//700 328//700 356//700
f 357//701 325//701 328//701
f 293//702 426//702 275//702
f 356//703 502//703 349//703
f 307//704 325//704 357//704
f 358//705 340//705 227//705
f 340//706 332//706 343//706
f 335//707 353//707 365//707
f 281//708 280//708 233//708
f 325//709 307//709 385//709
f 323//710 347//710 278//710
f 323//711 278//711 376//711
f 240//712 71//712 293//712
f 385//713 307//713 352//713
f 34//714 203//714 294//714
f 227//715 340//715 66//715
f 188//716 184//716 174//716
f 331//717 351//717 184//717
f 307//718 357//718 119//718
f 410//719 418//719 291//719
f 357//720 362//720 119//720
f 500//721 311//721 509//721
f 420//722 392//722 5//722
f 237//723 338//723 342//723
f 371//724 164//724 379//724
f 371//725 351//725 164//725
f 368//726 379//726 446//726
f 85//727 264//727 5//727
f 368//728 371//728 379//728
f 384//729 174//729 371//729
f 311//730 500//730 397//730
f 477//731 435//731 444//731
f 313//732 427//732 178//732
f 397//733 295//733 270//733
f 5//734 264//734 424//734
f 178//735 427//735 205//735
f 5//736 392//736 85//736
f 257//737 392//737 420//737
f 299//738 427//738 313//738
f 412//739 423//739 264//739
f 128//740 33//740 48//740
f 168//741 384//741 371//741
f 409//742 312//742 408//742
f 5//743 424//743 419//743
f 157//744 371//744 368//744
f 410//745 189//745 348//745
f 298//746 189//746 410//746
f 403//747 500//747 336//747
f 402//748 395//748 473//748
f 386//749 269//749 285//749
f 168//750 371//750 157//750
f 396//751 410//751 181//751
f 396//752 181//752 389//752
f 412//753 409//753 406//753
f 409//754 386//754 285//754
f 413//755 402//755 303//755
f 420//756 5//756 419//756
f 427//757 397//757 270//757
f 159//758 377//758 161//758
f 417//759 410//759 396//759
f 499//760 403//760 426//760
f 67//761 85//761 385//761
f 427//762 311//762 397//762
f 417//763 418//763 410//763
f 325//764 385//764 85//764
f 501//765 190//765 498//765
f 270//766 295//766 392//766
f 411//767 406//767 402//767
f 370//768 377//768 159//768
f 370//769 172//769 377//769
f 398//770 396//770 389//770
f 417//771 396//771 414//771
f 329//772 291//772 338//772
f 370//773 156//773 155//773
f 370//774 159//774 156//774
f 414//775 396//775 398//775
f 381//776 172//776 370//776
f 389//777 172//777 381//777
f 67//778 317//778 412//778
f 398//779 389//779 387//779
f 423//780 411//780 413//780
f 427//781 257//781 205//781
f 369//782 370//782 155//782
f 415//783 417//783 414//783
f 415//784 418//784 417//784
f 369//785 155//785 364//785
f 387//786 389//786 381//786
f 409//787 285//787 406//787
f 87//788 317//788 67//788
f 291//789 418//789 301//789
f 455//790 446//790 450//790
f 381//791 370//791 369//791
f 301//792 418//792 415//792
f 426//793 316//793 404//793
f 387//794 369//794 373//794
f 387//795 381//795 369//795
f 404//796 499//796 426//796
f 285//797 269//797 376//797
f 388//798 398//798 387//798
f 399//799 414//799 398//799
f 237//800 345//800 338//800
f 350//801 338//801 345//801
f 363//802 364//802 429//802
f 399//803 398//803 388//803
f 415//804 414//804 421//804
f 25//805 301//805 415//805
f 366//806 373//806 369//806
f 423//807 412//807 406//807
f 152//808 313//808 169//808
f 382//809 387//809 373//809
f 25//810 415//810 421//810
f 376//811 269//811 323//811
f 366//812 369//812 364//812
f 421//813 414//813 399//813
f 413//814 411//814 402//814
f 426//815 403//815 336//815
f 341//816 385//816 352//816
f 366//817 364//817 363//817
f 372//818 373//818 366//818
f 401//819 421//819 399//819
f 500//820 328//820 397//820
f 382//821 388//821 387//821
f 367//822 346//822 237//822
f 375//823 382//823 372//823
f 372//824 382//824 373//824
f 273//825 347//825 453//825
f 501//826 289//826 344//826
f 391//827 388//827 382//827
f 399//828 388//828 391//828
f 25//829 421//829 401//829
f 272//830 347//830 273//830
f 305//831 380//831 393//831
f 67//832 412//832 264//832
f 407//833 25//833 401//833
f 270//834 392//834 257//834
f 323//835 447//835 442//835
f 391//836 401//836 399//836
f 425//837 25//837 407//837
f 353//838 276//838 365//838
f 374//839 372//839 366//839
f 391//840 382//840 375//840
f 407//841 401//841 391//841
f 295//842 325//842 392//842
f 474//843 460//843 479//843
f 504//844 400//844 334//844
f 428//845 366//845 363//845
f 504//846 506//846 400//846
f 405//847 391//847 375//847
f 264//848 423//848 413//848
f 424//849 413//849 419//849
f 365//850 366//850 428//850
f 374//851 366//851 365//851
f 425//852 407//852 422//852
f 424//853 264//853 413//853
f 267//854 236//854 465//854
f 334//855 400//855 302//855
f 375//856 372//856 374//856
f 231//857 236//857 267//857
f 380//858 269//858 386//858
f 335//859 365//859 428//859
f 407//860 391//860 405//860
f 422//861 407//861 405//861
f 416//862 425//862 422//862
f 392//863 325//863 85//863
f 375//864 374//864 378//864
f 405//865 375//865 383//865
f 438//866 431//866 441//866
f 453//867 323//867 442//867
f 378//868 374//868 365//868
f 383//869 375//869 378//869
f 85//870 67//870 264//870
f 422//871 405//871 314//871
f 67//872 385//872 87//872
f 462//873 456//873 475//873
f 494//874 486//874 487//874
f 491//875 487//875 480//875
f 480//876 471//876 84//876
f 491//877 480//877 84//877
f 276//878 447//878 277//878
f 106//879 464//879 95//879
f 438//880 449//880 431//880
f 444//881 435//881 433//881
f 467//882 444//882 462//882
f 441//883 439//883 445//883
f 460//884 452//884 477//884
f 487//885 491//885 91//885
f 196//886 187//886 182//886
f 19//887 38//887 255//887
f 463//888 445//888 455//888
f 461//889 445//889 463//889
f 492//890 187//890 196//890
f 479//891 460//891 483//891
f 471//892 463//892 84//892
f 471//893 461//893 463//893
f 472//894 187//894 492//894
f 456//895 444//895 449//895
f 449//896 433//896 431//896
f 470//897 475//897 471//897
f 431//898 429//898 155//898
f 191//899 472//899 251//899
f 441//900 153//900 439//900
f 230//901 487//901 91//901
f 467//902 477//902 444//902
f 483//903 477//903 467//903
f 306//904 496//904 310//904
f 439//905 368//905 446//905
f 487//906 486//906 478//906
f 475//907 456//907 471//907
f 435//908 448//908 430//908
f 430//909 363//909 429//909
f 260//910 472//910 492//910
f 230//911 494//911 487//911
f 261//912 260//912 492//912
f 251//913 472//913 260//913
f 448//914 435//914 477//914
f 454//915 449//915 438//915
f 496//916 306//916 473//916
f 493//917 228//917 232//917
f 162//918 509//918 485//918
f 251//919 260//919 495//919
f 434//920 251//920 495//920
f 84//921 463//921 86//921
f 394//922 246//922 468//922
f 481//923 496//923 473//923
f 43//924 434//924 495//924
f 394//925 468//925 296//925
f 497//926 496//926 481//926
f 478//927 470//927 480//927
f 253//928 246//928 394//928
f 106//929 97//929 464//929
f 471//930 454//930 461//930
f 432//931 428//931 430//931
f 496//932 497//932 296//932
f 445//933 439//933 455//933
f 497//934 394//934 296//934
f 260//935 90//935 495//935
f 451//936 273//936 453//936
f 451//937 235//937 273//937
f 136//938 43//938 495//938
f 136//939 495//939 90//939
f 481//940 473//940 395//940
f 430//941 429//941 431//941
f 453//942 442//942 451//942
f 462//943 444//943 456//943
f 136//944 90//944 137//944
f 286//945 481//945 395//945
f 94//946 89//946 491//946
f 467//947 462//947 475//947
f 497//948 481//948 286//948
f 330//949 346//949 367//949
f 487//950 478//950 480//950
f 488//951 394//951 497//951
f 254//952 488//952 489//952
f 442//953 447//953 457//953
f 451//954 442//954 457//954
f 235//955 451//955 465//955
f 466//956 21//956 30//956
f 489//957 497//957 286//957
f 45//958 394//958 488//958
f 275//959 240//959 293//959
f 456//960 454//960 471//960
f 465//961 451//961 457//961
f 44//962 394//962 45//962
f 455//963 439//963 446//963
f 488//964 497//964 489//964
f 464//965 86//965 463//965
f 465//966 457//966 469//966
f 484//967 267//967 465//967
f 447//968 276//968 440//968
f 484//969 465//969 469//969
f 139//970 82//970 135//970
f 276//971 353//971 437//971
f 466//972 45//972 488//972
f 480//973 470//973 471//973
f 232//974 484//974 469//974
f 440//975 276//975 437//975
f 232//976 469//976 493//976
f 466//977 488//977 254//977
f 432//978 353//978 335//978
f 457//979 447//979 440//979
f 437//980 353//980 432//980
f 440//981 437//981 443//981
f 30//982 45//982 466//982
f 433//983 435//983 430//983
f 443//984 437//984 436//984
f 437//985 432//985 436//985
f 431//986 155//986 153//986
f 457//987 440//987 458//987
f 441//988 431//988 153//988
f 296//989 310//989 496//989
f 443//990 436//990 452//990
f 463//991 455//991 464//991
f 432//992 335//992 428//992
f 452//993 436//993 448//993
f 493//994 469//994 490//994
f 448//995 436//995 432//995
f 483//996 460//996 477//996
f 456//997 449//997 454//997
f 490//998 469//998 482//998
f 430//999 448//999 432//999
f 464//1000 455//1000 95//1000
f 445//1001 461//1001 454//1001
f 454//1002 438//1002 445//1002
f 438//1003 441//1003 445//1003
f 457//1004 482//1004 469//1004
f 457//1005 458//1005 482//1005
f 443//1006 452//1006 440//1006
f 440//1007 452//1007 458//1007
f 459//1008 458//1008 452//1008
f 452//1009 460//1009 459//1009
f 475//1010 470//1010 467//1010
f 478//1011 467//1011 470//1011
f 467//1012 478//1012 483//1012
f 478//1013 486//1013 483//1013
f 483//1014 486//1014 479//1014
f 479//1015 486//1015 474//1015

Better test codes

Current:

obj.groups["default".to_string()]

Should be:

obj.groups.get("default")
// or other..

Load larger models

Apologies for opening another "issue", but when loading extremely large models using load_obj(), I keep getting the

'Unable to convert the index from usize'

error. The documentation isn't very clear on load_obj, so how can I load larger models?

Thank you.

Contain code that will be rejected by a future version of Rust

When I build my project which dependents on this crate, the compiler reports that:

warning: the following packages contain code that will be rejected by a future version of Rust: obj-rs v0.7.0
note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`

Some OBJ specifications are not implemented yet

For given input file:
in.zip

The following code

use std::io::Cursor;
fn main(){
    let filepath = "<input file>"
    let data = std::fs::read(filepath).unwrap();
    let cursor = Cursor::new(data);
    let _: Result<obj::Obj, obj::ObjError> = obj::load_obj(cursor);
}

reports

thread 'main' panicked at 'not implemented', ...
stack backtrace:
   0: <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt
   1: core::fmt::write
   2: std::io::Write::write_fmt
   3: std::panicking::default_hook::{{closure}}
   4: std::panicking::default_hook
   5: std::panicking::rust_panic_with_hook
   6: std::panicking::begin_panic
             at /.../code/rust-compiler/src/libstd/panicking.rs:456
   7: obj::raw::object::parse_obj::{{closure}}
             at /.../code/rust-compiler/src/libstd/macros.rs:13
   8: obj::raw::lexer::lex
             at /.../.cargo/registry/src/github.com-1ecc6299db9ec823/obj-rs-0.6.3/src/raw/lexer.rs:40
   9: obj::raw::object::parse_obj
             at /home/szx5097/.cargo/registry/src/github.com-1ecc6299db9ec823/obj-rs-0.6.3/src/raw/object.rs:102
  10: obj::load_obj
             at /home/szx5097/.cargo/registry/src/github.com-1ecc6299db9ec823/obj-rs-0.6.3/src/lib.rs:50
...

Texture Coordinates

Are texture coordinates loaded? I don't see them anywhere in the output structs.

Handle backslash (\)

obj codes below are all identical

bmat u  1       -3      3       -1      \
        0       3       -6      3       \
        0       0       3       -3      \
        0       0       0       1
bmat u  1       -3      3       -1      0       3       -6      3       \
        0       0       3       -3      0       0       0       1
bmat u  1       -3      3       -1      0       3       -6      3       0       0       3       -3      0       0       0       1

u32 indices

Please increase the indices to store u32, or make it generic across types. u16 is quite easy to run out of.

pub struct Obj<V = Vertex> {
    /// Object's name.
    pub name: Option<String>,
    /// Vertex buffer.
    pub vertices: Vec<V>,
    /// Index buffer.
    pub indices: Vec<u32>,
}

Perhaps mention in the readme that the corresponding OpenGL calls have to take GL_UNSIGNED_INT.

gl::BindBuffer(gl::ELEMENT_ARRAY_BUFFER, self.ebo);
gl::DrawElements(gl::TRIANGLES, indices.len() as i32, gl::UNSIGNED_INT, ptr::null());

Type structure

Goals

  • Ease of use
  • Beauty
  • SIMD aware

Low-level API

Low-level API provides one-to-one correspondent rust binding of obj format.

Obj
 name ← String
 required mtl files ← Vec

 vertices ← Vec
 texture coordinates ← Vec
 normals ← Vec
 parametric vertices ← Vec

 points ← Vec
 lines ← Vec
 polygons ← Vec

 groups ← HashMap<String, Group>
 meshes ← HashMap<String, Group>
 smoothing_groups ← VecMap
 merging_groups ← VecMap

Other types

Point ← index of vertex

Line ← [(index of vertex); 2]
Line ← [(index of vertex, index of texture coordinate); 2]

Polygon ← Vec
Polygon ← Vec<(index of vertex, index of texture coordinate)>
Polygon ← Vec<(index of vertex, index of normal)>
Polygon ← Vec<(index of vertex, index of texture coordinate, index of normal)>

Group
 points ← Vec
 lines ← Vec
 polygon ← Vec

Range
 start ← uint
 end ← uint

Current version of Rust doesn't support non-power-of-2 simd type

High-level API

High-level API wraps low-level API and makes it easy to interoperate with OpenGL. It triangulates polygons, normalizes indices, etc.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.