Note
Go to the end to download the full example code.
Shadow Cache#
[Taichi] Starting on arch=arm64
/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/util.py:370: UserWarning: Taichi matrices/vectors with 16x3 > 32 entries are not suggested. Matrices/vectors will be automatically unrolled at compile-time for performance. So the compilation time could be extremely long if the matrix size is too big. You may use a field to store a large matrix like this, e.g.:
x = ti.field(ti.f32, (16, 3)).
See https://docs.taichi-lang.org/docs/field#matrix-size for more details.
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/bin/sphinx-build", line 8, in <module>
sys.exit(main())
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/build.py", line 382, in main
return make_main(argv)
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/build.py", line 217, in make_main
return make_mode.run_make_mode(argv[1:])
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/make_mode.py", line 176, in run_make_mode
return make.run_generic_build(args[0])
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/make_mode.py", line 164, in run_generic_build
return build_main(args + opts)
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/build.py", line 332, in build_main
app = Sphinx(args.sourcedir, args.confdir, args.outputdir,
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/application.py", line 292, in __init__
self._init_builder()
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/application.py", line 366, in _init_builder
self.events.emit('builder-inited')
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/events.py", line 100, in emit
results.append(listener.handler(self.app, *args))
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_gallery.py", line 787, in generate_gallery_rst
) = generate_dir_rst(src_dir, target_dir, gallery_conf, seen_backrefs)
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 598, in generate_dir_rst
results = parallel(
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 599, in <genexpr>
p_fun(fname, target_dir, src_dir, gallery_conf) for fname in iterator
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1346, in generate_file_rst
output_blocks, time_elapsed = execute_script(
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1164, in execute_script
execute_code_block(
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1020, in execute_code_block
is_last_expr, mem_max = _exec_and_get_memory(
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 848, in _exec_and_get_memory
mem_body, _ = call_memory(
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1700, in _sg_call_memory_noop
return 0.0, func()
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 783, in __call__
exec(self.code, self.fake_main.__dict__)
File "/Users/liamrobinson/Documents/maintained-research/mirage/examples/13-attitude-2024/plot_cache.py", line 38, in <module>
ticlip.load_finfo(obj_path)
File "/Users/liamrobinson/Documents/maintained-wip/taichi-polyclip/ticlip/handler.py", line 40, in load_finfo
poly = PC3TYPE(0.0)
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/matrix.py", line 1436, in __call__
return self._instantiate(entries)
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/matrix.py", line 1530, in _instantiate
return self._instantiate_in_python_scope(entries)
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/matrix.py", line 1517, in _instantiate_in_python_scope
return Matrix(
warnings.warn(Fore.YELLOW + Style.BRIGHT + msg + Style.RESET_ALL, warning_type)
/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/util.py:370: UserWarning: Taichi matrices/vectors with 16x3 > 32 entries are not suggested. Matrices/vectors will be automatically unrolled at compile-time for performance. So the compilation time could be extremely long if the matrix size is too big. You may use a field to store a large matrix like this, e.g.:
x = ti.field(ti.f32, (16, 3)).
See https://docs.taichi-lang.org/docs/field#matrix-size for more details.
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/bin/sphinx-build", line 8, in <module>
sys.exit(main())
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/build.py", line 382, in main
return make_main(argv)
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/build.py", line 217, in make_main
return make_mode.run_make_mode(argv[1:])
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/make_mode.py", line 176, in run_make_mode
return make.run_generic_build(args[0])
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/make_mode.py", line 164, in run_generic_build
return build_main(args + opts)
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/build.py", line 332, in build_main
app = Sphinx(args.sourcedir, args.confdir, args.outputdir,
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/application.py", line 292, in __init__
self._init_builder()
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/application.py", line 366, in _init_builder
self.events.emit('builder-inited')
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/events.py", line 100, in emit
results.append(listener.handler(self.app, *args))
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_gallery.py", line 787, in generate_gallery_rst
) = generate_dir_rst(src_dir, target_dir, gallery_conf, seen_backrefs)
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 598, in generate_dir_rst
results = parallel(
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 599, in <genexpr>
p_fun(fname, target_dir, src_dir, gallery_conf) for fname in iterator
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1346, in generate_file_rst
output_blocks, time_elapsed = execute_script(
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1164, in execute_script
execute_code_block(
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1020, in execute_code_block
is_last_expr, mem_max = _exec_and_get_memory(
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 848, in _exec_and_get_memory
mem_body, _ = call_memory(
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1700, in _sg_call_memory_noop
return 0.0, func()
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 783, in __call__
exec(self.code, self.fake_main.__dict__)
File "/Users/liamrobinson/Documents/maintained-research/mirage/examples/13-attitude-2024/plot_cache.py", line 38, in <module>
ticlip.load_finfo(obj_path)
File "/Users/liamrobinson/Documents/maintained-wip/taichi-polyclip/ticlip/handler.py", line 42, in load_finfo
FINFOFIELD[i].vi = P3STRUCT(polygon=poly, k=num_verts)
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/struct.py", line 634, in __call__
data = dtype(data)
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/matrix.py", line 1451, in __call__
return self._instantiate(entries)
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/matrix.py", line 1530, in _instantiate
return self._instantiate_in_python_scope(entries)
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/matrix.py", line 1517, in _instantiate_in_python_scope
return Matrix(
warnings.warn(Fore.YELLOW + Style.BRIGHT + msg + Style.RESET_ALL, warning_type)
/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/util.py:370: UserWarning: Taichi matrices/vectors with 16x3 > 32 entries are not suggested. Matrices/vectors will be automatically unrolled at compile-time for performance. So the compilation time could be extremely long if the matrix size is too big. You may use a field to store a large matrix like this, e.g.:
x = ti.field(ti.f32, (16, 3)).
See https://docs.taichi-lang.org/docs/field#matrix-size for more details.
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/bin/sphinx-build", line 8, in <module>
sys.exit(main())
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/build.py", line 382, in main
return make_main(argv)
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/build.py", line 217, in make_main
return make_mode.run_make_mode(argv[1:])
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/make_mode.py", line 176, in run_make_mode
return make.run_generic_build(args[0])
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/make_mode.py", line 164, in run_generic_build
return build_main(args + opts)
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/build.py", line 332, in build_main
app = Sphinx(args.sourcedir, args.confdir, args.outputdir,
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/application.py", line 292, in __init__
self._init_builder()
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/application.py", line 366, in _init_builder
self.events.emit('builder-inited')
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/events.py", line 100, in emit
results.append(listener.handler(self.app, *args))
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_gallery.py", line 787, in generate_gallery_rst
) = generate_dir_rst(src_dir, target_dir, gallery_conf, seen_backrefs)
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 598, in generate_dir_rst
results = parallel(
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 599, in <genexpr>
p_fun(fname, target_dir, src_dir, gallery_conf) for fname in iterator
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1346, in generate_file_rst
output_blocks, time_elapsed = execute_script(
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1164, in execute_script
execute_code_block(
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1020, in execute_code_block
is_last_expr, mem_max = _exec_and_get_memory(
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 848, in _exec_and_get_memory
mem_body, _ = call_memory(
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1700, in _sg_call_memory_noop
return 0.0, func()
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 783, in __call__
exec(self.code, self.fake_main.__dict__)
File "/Users/liamrobinson/Documents/maintained-research/mirage/examples/13-attitude-2024/plot_cache.py", line 38, in <module>
ticlip.load_finfo(obj_path)
File "/Users/liamrobinson/Documents/maintained-wip/taichi-polyclip/ticlip/handler.py", line 42, in load_finfo
FINFOFIELD[i].vi = P3STRUCT(polygon=poly, k=num_verts)
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/struct.py", line 640, in __call__
struct = self.cast(entries)
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/struct.py", line 767, in cast
entries[k] = dtype(struct._Struct__entries[k])
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/matrix.py", line 1451, in __call__
return self._instantiate(entries)
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/matrix.py", line 1530, in _instantiate
return self._instantiate_in_python_scope(entries)
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/matrix.py", line 1517, in _instantiate_in_python_scope
return Matrix(
warnings.warn(Fore.YELLOW + Style.BRIGHT + msg + Style.RESET_ALL, warning_type)
/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/util.py:370: UserWarning: Taichi matrices/vectors with 16x3 > 32 entries are not suggested. Matrices/vectors will be automatically unrolled at compile-time for performance. So the compilation time could be extremely long if the matrix size is too big. You may use a field to store a large matrix like this, e.g.:
x = ti.field(ti.f32, (16, 3)).
See https://docs.taichi-lang.org/docs/field#matrix-size for more details.
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/bin/sphinx-build", line 8, in <module>
sys.exit(main())
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/build.py", line 382, in main
return make_main(argv)
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/build.py", line 217, in make_main
return make_mode.run_make_mode(argv[1:])
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/make_mode.py", line 176, in run_make_mode
return make.run_generic_build(args[0])
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/make_mode.py", line 164, in run_generic_build
return build_main(args + opts)
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/build.py", line 332, in build_main
app = Sphinx(args.sourcedir, args.confdir, args.outputdir,
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/application.py", line 292, in __init__
self._init_builder()
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/application.py", line 366, in _init_builder
self.events.emit('builder-inited')
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/events.py", line 100, in emit
results.append(listener.handler(self.app, *args))
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_gallery.py", line 787, in generate_gallery_rst
) = generate_dir_rst(src_dir, target_dir, gallery_conf, seen_backrefs)
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 598, in generate_dir_rst
results = parallel(
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 599, in <genexpr>
p_fun(fname, target_dir, src_dir, gallery_conf) for fname in iterator
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1346, in generate_file_rst
output_blocks, time_elapsed = execute_script(
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1164, in execute_script
execute_code_block(
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1020, in execute_code_block
is_last_expr, mem_max = _exec_and_get_memory(
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 848, in _exec_and_get_memory
mem_body, _ = call_memory(
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1700, in _sg_call_memory_noop
return 0.0, func()
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 783, in __call__
exec(self.code, self.fake_main.__dict__)
File "/Users/liamrobinson/Documents/maintained-research/mirage/examples/13-attitude-2024/plot_cache.py", line 38, in <module>
ticlip.load_finfo(obj_path)
File "/Users/liamrobinson/Documents/maintained-wip/taichi-polyclip/ticlip/handler.py", line 42, in load_finfo
FINFOFIELD[i].vi = P3STRUCT(polygon=poly, k=num_verts)
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/util.py", line 351, in wrapped
return func(*args, **kwargs)
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/struct.py", line 591, in __getitem__
entries = {
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/struct.py", line 592, in <dictcomp>
k: v._host_access(self._pad_key(indices))[0] if isinstance(v, ScalarField) else v[indices]
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/util.py", line 351, in wrapped
return func(*args, **kwargs)
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/struct.py", line 591, in __getitem__
entries = {
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/struct.py", line 592, in <dictcomp>
k: v._host_access(self._pad_key(indices))[0] if isinstance(v, ScalarField) else v[indices]
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/util.py", line 351, in wrapped
return func(*args, **kwargs)
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/matrix.py", line 1367, in __getitem__
return Matrix([[_host_access[i * self.m + j] for j in range(self.m)] for i in range(self.n)])
warnings.warn(Fore.YELLOW + Style.BRIGHT + msg + Style.RESET_ALL, warning_type)
/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/util.py:370: UserWarning: Taichi matrices/vectors with 16x3 > 32 entries are not suggested. Matrices/vectors will be automatically unrolled at compile-time for performance. So the compilation time could be extremely long if the matrix size is too big. You may use a field to store a large matrix like this, e.g.:
x = ti.field(ti.f32, (16, 3)).
See https://docs.taichi-lang.org/docs/field#matrix-size for more details.
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/bin/sphinx-build", line 8, in <module>
sys.exit(main())
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/build.py", line 382, in main
return make_main(argv)
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/build.py", line 217, in make_main
return make_mode.run_make_mode(argv[1:])
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/make_mode.py", line 176, in run_make_mode
return make.run_generic_build(args[0])
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/make_mode.py", line 164, in run_generic_build
return build_main(args + opts)
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/build.py", line 332, in build_main
app = Sphinx(args.sourcedir, args.confdir, args.outputdir,
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/application.py", line 292, in __init__
self._init_builder()
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/application.py", line 366, in _init_builder
self.events.emit('builder-inited')
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/events.py", line 100, in emit
results.append(listener.handler(self.app, *args))
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_gallery.py", line 787, in generate_gallery_rst
) = generate_dir_rst(src_dir, target_dir, gallery_conf, seen_backrefs)
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 598, in generate_dir_rst
results = parallel(
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 599, in <genexpr>
p_fun(fname, target_dir, src_dir, gallery_conf) for fname in iterator
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1346, in generate_file_rst
output_blocks, time_elapsed = execute_script(
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1164, in execute_script
execute_code_block(
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1020, in execute_code_block
is_last_expr, mem_max = _exec_and_get_memory(
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 848, in _exec_and_get_memory
mem_body, _ = call_memory(
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1700, in _sg_call_memory_noop
return 0.0, func()
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 783, in __call__
exec(self.code, self.fake_main.__dict__)
File "/Users/liamrobinson/Documents/maintained-research/mirage/examples/13-attitude-2024/plot_cache.py", line 38, in <module>
ticlip.load_finfo(obj_path)
File "/Users/liamrobinson/Documents/maintained-wip/taichi-polyclip/ticlip/handler.py", line 43, in load_finfo
FINFOFIELD[i].fn = POINT3TYPE(*fn.astype(np.float32))
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/util.py", line 351, in wrapped
return func(*args, **kwargs)
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/struct.py", line 591, in __getitem__
entries = {
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/struct.py", line 592, in <dictcomp>
k: v._host_access(self._pad_key(indices))[0] if isinstance(v, ScalarField) else v[indices]
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/util.py", line 351, in wrapped
return func(*args, **kwargs)
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/struct.py", line 591, in __getitem__
entries = {
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/struct.py", line 592, in <dictcomp>
k: v._host_access(self._pad_key(indices))[0] if isinstance(v, ScalarField) else v[indices]
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/util.py", line 351, in wrapped
return func(*args, **kwargs)
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/matrix.py", line 1367, in __getitem__
return Matrix([[_host_access[i * self.m + j] for j in range(self.m)] for i in range(self.n)])
warnings.warn(Fore.YELLOW + Style.BRIGHT + msg + Style.RESET_ALL, warning_type)
/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/util.py:370: UserWarning: Taichi matrices/vectors with 16x3 > 32 entries are not suggested. Matrices/vectors will be automatically unrolled at compile-time for performance. So the compilation time could be extremely long if the matrix size is too big. You may use a field to store a large matrix like this, e.g.:
x = ti.field(ti.f32, (16, 3)).
See https://docs.taichi-lang.org/docs/field#matrix-size for more details.
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/bin/sphinx-build", line 8, in <module>
sys.exit(main())
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/build.py", line 382, in main
return make_main(argv)
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/build.py", line 217, in make_main
return make_mode.run_make_mode(argv[1:])
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/make_mode.py", line 176, in run_make_mode
return make.run_generic_build(args[0])
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/make_mode.py", line 164, in run_generic_build
return build_main(args + opts)
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/build.py", line 332, in build_main
app = Sphinx(args.sourcedir, args.confdir, args.outputdir,
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/application.py", line 292, in __init__
self._init_builder()
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/application.py", line 366, in _init_builder
self.events.emit('builder-inited')
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/events.py", line 100, in emit
results.append(listener.handler(self.app, *args))
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_gallery.py", line 787, in generate_gallery_rst
) = generate_dir_rst(src_dir, target_dir, gallery_conf, seen_backrefs)
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 598, in generate_dir_rst
results = parallel(
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 599, in <genexpr>
p_fun(fname, target_dir, src_dir, gallery_conf) for fname in iterator
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1346, in generate_file_rst
output_blocks, time_elapsed = execute_script(
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1164, in execute_script
execute_code_block(
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1020, in execute_code_block
is_last_expr, mem_max = _exec_and_get_memory(
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 848, in _exec_and_get_memory
mem_body, _ = call_memory(
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1700, in _sg_call_memory_noop
return 0.0, func()
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 783, in __call__
exec(self.code, self.fake_main.__dict__)
File "/Users/liamrobinson/Documents/maintained-research/mirage/examples/13-attitude-2024/plot_cache.py", line 38, in <module>
ticlip.load_finfo(obj_path)
File "/Users/liamrobinson/Documents/maintained-wip/taichi-polyclip/ticlip/handler.py", line 44, in load_finfo
FINFOFIELD[i].fc = POINT3TYPE(*fc.astype(np.float32))
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/util.py", line 351, in wrapped
return func(*args, **kwargs)
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/struct.py", line 591, in __getitem__
entries = {
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/struct.py", line 592, in <dictcomp>
k: v._host_access(self._pad_key(indices))[0] if isinstance(v, ScalarField) else v[indices]
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/util.py", line 351, in wrapped
return func(*args, **kwargs)
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/struct.py", line 591, in __getitem__
entries = {
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/struct.py", line 592, in <dictcomp>
k: v._host_access(self._pad_key(indices))[0] if isinstance(v, ScalarField) else v[indices]
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/util.py", line 351, in wrapped
return func(*args, **kwargs)
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/matrix.py", line 1367, in __getitem__
return Matrix([[_host_access[i * self.m + j] for j in range(self.m)] for i in range(self.n)])
warnings.warn(Fore.YELLOW + Style.BRIGHT + msg + Style.RESET_ALL, warning_type)
/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/util.py:370: UserWarning: Taichi matrices/vectors with 16x3 > 32 entries are not suggested. Matrices/vectors will be automatically unrolled at compile-time for performance. So the compilation time could be extremely long if the matrix size is too big. You may use a field to store a large matrix like this, e.g.:
x = ti.field(ti.f32, (16, 3)).
See https://docs.taichi-lang.org/docs/field#matrix-size for more details.
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/bin/sphinx-build", line 8, in <module>
sys.exit(main())
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/build.py", line 382, in main
return make_main(argv)
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/build.py", line 217, in make_main
return make_mode.run_make_mode(argv[1:])
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/make_mode.py", line 176, in run_make_mode
return make.run_generic_build(args[0])
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/make_mode.py", line 164, in run_generic_build
return build_main(args + opts)
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/build.py", line 332, in build_main
app = Sphinx(args.sourcedir, args.confdir, args.outputdir,
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/application.py", line 292, in __init__
self._init_builder()
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/application.py", line 366, in _init_builder
self.events.emit('builder-inited')
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/events.py", line 100, in emit
results.append(listener.handler(self.app, *args))
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_gallery.py", line 787, in generate_gallery_rst
) = generate_dir_rst(src_dir, target_dir, gallery_conf, seen_backrefs)
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 598, in generate_dir_rst
results = parallel(
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 599, in <genexpr>
p_fun(fname, target_dir, src_dir, gallery_conf) for fname in iterator
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1346, in generate_file_rst
output_blocks, time_elapsed = execute_script(
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1164, in execute_script
execute_code_block(
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1020, in execute_code_block
is_last_expr, mem_max = _exec_and_get_memory(
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 848, in _exec_and_get_memory
mem_body, _ = call_memory(
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1700, in _sg_call_memory_noop
return 0.0, func()
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 783, in __call__
exec(self.code, self.fake_main.__dict__)
File "/Users/liamrobinson/Documents/maintained-research/mirage/examples/13-attitude-2024/plot_cache.py", line 38, in <module>
ticlip.load_finfo(obj_path)
File "/Users/liamrobinson/Documents/maintained-wip/taichi-polyclip/ticlip/handler.py", line 45, in load_finfo
FINFOFIELD[i].a = _poly_area_r3(vi)
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/util.py", line 351, in wrapped
return func(*args, **kwargs)
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/struct.py", line 591, in __getitem__
entries = {
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/struct.py", line 592, in <dictcomp>
k: v._host_access(self._pad_key(indices))[0] if isinstance(v, ScalarField) else v[indices]
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/util.py", line 351, in wrapped
return func(*args, **kwargs)
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/struct.py", line 591, in __getitem__
entries = {
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/struct.py", line 592, in <dictcomp>
k: v._host_access(self._pad_key(indices))[0] if isinstance(v, ScalarField) else v[indices]
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/util.py", line 351, in wrapped
return func(*args, **kwargs)
File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/matrix.py", line 1367, in __getitem__
return Matrix([[_host_access[i * self.m + j] for j in range(self.m)] for i in range(self.n)])
warnings.warn(Fore.YELLOW + Style.BRIGHT + msg + Style.RESET_ALL, warning_type)
[[ 0 0 0 35 192 0 702 0 0 0 0 120 0 115]
[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[ 0 34 0 0 221 0 0 0 735 0 0 124 0 118]
[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[ 0 20 0 21 0 0 0 0 0 0 0 228 0 228]
[ 0 342 0 343 0 0 0 0 0 0 0 0 63 63]
[ 0 0 0 223 0 0 0 0 0 0 163 163 163 163]
[ 0 375 0 393 0 0 0 0 0 0 228 0 228 0]
[ 0 222 0 0 0 0 0 0 0 0 161 161 161 161]
[ 0 329 0 337 0 0 0 0 0 0 63 63 0 0]
[ 0 116 0 118 0 355 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 355 0 0 0 0 0 0 0 0]
[ 0 113 0 114 0 0 0 0 0 355 0 0 0 0]
[ 0 0 0 0 0 0 0 0 0 355 0 0 0 0]]
9342
[[0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 1 0 0 1 0 0]
[0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 0 1 0 0]
[0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 1 0 0 0 0]]
import sys
sys.path.append('/Users/liamrobinson/Documents/maintained-wip/taichi-polyclip')
import matplotlib.pyplot as plt
import numpy as np
import taichi as ti
import ticlip
import mirage.vis as mrv
def azel_to_ij(naz: int, nel: int, az: float, el: float):
i = int(np.floor(az / (np.pi * 2) * (naz - 1)))
j = int(np.floor((el + np.pi / 2) / np.pi * (nel - 1)))
return i, j
def ij_to_az_el(naz: int, nel: int, i: int, j: int) -> np.ndarray:
az = i / naz * ti.math.pi * 2
el = j / nel * ti.math.pi - ti.math.pi / 2
return np.array((az, el))
ti.init(
arch=ti.cpu,
cfg_optimization=False,
opt_level=1,
fast_math=False,
advanced_optimization=False,
)
obj_path = '/Users/liamrobinson/Documents/maintained-research/mirage-models/accurate_sats/box_wing_antenna_quad.obj'
ticlip.load_finfo(obj_path)
naz, nel = 75, 50
cache = ticlip.gen_cache(naz, nel)
cache_np = cache.to_numpy(dtype=np.uint32)
assert np.allclose(
0.0, np.trace(cache_np, axis1=-1, axis2=-2).sum()
) # Make sure that no face is ever shadowing itself
print(cache_np.sum(axis=0).sum(axis=0))
cache_sum = cache_np.sum(axis=2).sum(axis=2)
print(cache_sum.sum())
deg_start = (215, -32)
az, el = np.deg2rad(deg_start)
i, j = azel_to_ij(naz, nel, az, el)
azel_start = np.rad2deg(ij_to_az_el(naz, nel, i, j))
# print(ij_to_az_el(naz, nel, i, j))
azmax = az + 2 * np.pi / naz
elmax = el + np.pi / nel
extent = np.rad2deg(([az, azmax, el, elmax]))
plt.figure(figsize=(6, 4))
im = ticlip.plot_cache(cache)
a1 = plt.gca()
a1.add_patch(
plt.Rectangle(
azel_start,
width=360 / naz,
height=180 / nel,
fill=False,
edgecolor='red',
linewidth=2,
)
)
plt.title('Shadow Cache Density')
plt.xlabel('Azimuth ($a$) [deg]')
plt.ylabel('Elevation ($h$) [deg]')
plt.colorbar(im, label='Number of Self-Shadowing Faces', cax=mrv.get_cbar_ax())
plt.tight_layout()
plt.figure(figsize=(4, 4))
plt.gca().set_aspect(1)
print(cache_np[i, j, :, :])
plt.imshow(
cache_np[i, j, :, :], cmap='gray_r', alpha=cache_np[i, j, :, :].astype(np.float32)
)
old_lims = (-0.5, cache_np.shape[3] - 0.5)
plt.vlines(np.arange(cache_np.shape[3] + 1) - 0.5, *old_lims, color='gray')
plt.hlines(np.arange(cache_np.shape[3] + 1) - 0.5, *old_lims, color='gray')
plt.xlim(old_lims)
plt.ylim(old_lims)
plt.scatter(np.nan, np.nan, c='k', label='Self-Shadowing')
plt.title(rf'Cache Entry at $a = {deg_start[0]}^\circ$, $h = {deg_start[1]}^\circ$')
plt.xlabel('Shadowed facet index')
plt.ylabel('Shadowing facet index')
plt.xticks(list(range(cache_np.shape[3])))
plt.yticks(list(range(cache_np.shape[3])))
plt.tight_layout()
plt.show()
Total running time of the script: (0 minutes 1.796 seconds)