1
0
mirror of https://github.com/JustinSDK/dotSCAD.git synced 2025-09-15 00:53:15 +02:00

861 Commits
v2.0 ... v2.2.1

Author SHA1 Message Date
Justin Lin
9c3bb9d5d5 refactor 2020-03-13 17:47:23 +08:00
Justin Lin
eab84a99a1 refactor 2020-03-13 13:21:13 +08:00
Justin Lin
f4592293b5 rename 2020-03-13 13:09:31 +08:00
Justin Lin
8c442ecc75 update 2020-03-13 12:59:00 +08:00
Justin Lin
8f13d81406 update 2020-03-13 12:58:41 +08:00
Justin Lin
711c9b902d refactor 2020-03-13 12:57:13 +08:00
Justin Lin
4b12e00759 refactor 2020-03-13 12:57:04 +08:00
Justin Lin
cd0a24e17f by vt, for example, sort by zyx for points 2020-03-13 12:53:13 +08:00
Justin Lin
5b0f5c0259 remove use 2020-03-13 12:40:05 +08:00
Justin Lin
96b686e7d8 v2.2.1 2020-03-13 09:58:00 +08:00
Justin Lin
711489a650 rename 2020-03-13 09:46:33 +08:00
Justin Lin
363f01c84f the src lt is sorted, so set sorted param to true 2020-03-13 09:44:03 +08:00
Justin Lin
8f7149a550 use binary search if lt is sorted by z, y, x 2020-03-13 09:43:15 +08:00
Justin Lin
e6c4ffc117 add bsearch 2020-03-13 09:42:36 +08:00
Justin Lin
f6b9b4b0c5 always sort before dedup 2020-03-13 09:19:39 +08:00
Justin Lin
2413e9160f dedup sorted lt fastly 2020-03-13 08:51:31 +08:00
Justin Lin
91f9df1e61 fix bug: z not sorted 2020-03-13 08:43:17 +08:00
Justin Lin
be96adb708 deleted 2020-03-12 20:47:22 +08:00
Justin Lin
b192a8ff48 dedup 2020-03-12 20:45:41 +08:00
Justin Lin
7f03bc7561 dedup 2020-03-12 20:38:29 +08:00
Justin Lin
4b50ee9f10 dedup 2020-03-12 20:37:41 +08:00
Justin Lin
66f958ddc3 dedup 2020-03-12 20:36:23 +08:00
Justin Lin
f7f0716670 move has/dedup to util 2020-03-12 20:26:16 +08:00
Justin Lin
9cdf6985c6 change polysections to sweep 2020-03-12 20:18:54 +08:00
Justin Lin
8c95e91e78 add todo.txt 2020-03-12 18:11:21 +08:00
Justin Lin
26f150e138 add px_polygon_demo 2020-03-12 10:45:25 +08:00
Justin Lin
69bf03d78e refactor 2020-03-12 08:21:01 +08:00
Justin Lin
67ec1b91aa add px_polygon 2020-03-12 08:18:10 +08:00
Justin Lin
a4db2b2072 fix offset sign 2020-03-11 14:14:39 +08:00
Justin Lin
a8bed95fb6 accept 2D offset 2020-03-11 10:13:32 +08:00
Justin Lin
4316b5dc61 refactor out ptf_circle 2020-03-11 09:48:34 +08:00
Justin Lin
5033c415db add circle_maze 2020-03-11 09:39:01 +08:00
Justin Lin
56c2da387d add comment 2020-03-10 16:51:46 +08:00
Justin Lin
6042779e5e refactor 2020-03-10 11:49:31 +08:00
Justin Lin
ebe1ddffe5 it doesn't require mirror now 2020-03-10 11:46:34 +08:00
Justin Lin
1cdb460901 fix wrong function call 2020-03-10 11:09:09 +08:00
Justin Lin
cb5bca7ee2 add px_surround_demo 2020-03-09 11:33:47 +08:00
Justin Lin
2d1bbe05f2 add px_surround 2020-03-09 11:33:16 +08:00
Justin Lin
56d169e677 noise as alpha 2020-03-09 08:58:30 +08:00
Justin Lin
ee125eafd6 seperate 3s and 3 2020-03-09 08:58:24 +08:00
Justin Lin
f41f33597f use new pnoise2 2020-03-09 08:43:55 +08:00
Justin Lin
bbc6123ede rename 2020-03-09 08:40:05 +08:00
Justin Lin
7298067343 accept x,, y directly 2020-03-09 08:38:48 +08:00
Justin Lin
a790409292 rename 2020-03-09 08:38:41 +08:00
Justin Lin
b99b57da9e accept x directly 2020-03-09 08:36:11 +08:00
Justin Lin
ce5179358d rename 2020-03-09 08:35:58 +08:00
Justin Lin
b12d8584b3 add perlin_noise_cylinder 2020-03-08 16:01:27 +08:00
Justin Lin
cd82a67fb3 add pnoise_counter_demo 2020-03-08 10:08:02 +08:00
Justin Lin
61d2706fd3 add noise param 2020-03-08 09:10:43 +08:00
Justin Lin
090cbbf4e6 rename 2020-03-08 08:48:07 +08:00
Justin Lin
7bfe89ef64 add pnoise_contour 2020-03-07 21:52:04 +08:00
Justin Lin
49ef2ab03b update demo 2020-03-07 11:10:44 +08:00
Justin Lin
78ed61b1a9 update demo 2020-03-06 19:50:13 +08:00
Justin Lin
eaab50c362 add pnoise3_demo 2020-03-06 19:40:18 +08:00
Justin Lin
ed0e30a2af add pnoise3 2020-03-06 19:38:41 +08:00
Justin Lin
53e14229c4 update demo 2020-03-06 19:35:40 +08:00
Justin Lin
6a5b580562 rename 2020-03-06 15:26:17 +08:00
Justin Lin
4c2fe1e3d5 move 2020-03-06 15:24:48 +08:00
Justin Lin
02a6c469e8 add pnoise2_demo 2020-03-06 14:54:10 +08:00
Justin Lin
5794e1678b add pnoise2 2020-03-06 14:51:37 +08:00
Justin Lin
83bd7aa9d2 seed 0 ~ 255 2020-03-06 11:21:23 +08:00
Justin Lin
2e0e06f12d refactor 2020-03-06 10:12:19 +08:00
Justin Lin
5d8bf26cd8 format 2020-03-06 10:11:36 +08:00
Justin Lin
2eb1faf550 clean unnecessary code 2020-03-06 10:10:25 +08:00
Justin Lin
1976798c64 remove default value 2020-03-06 10:08:15 +08:00
Justin Lin
e6818fe1ce refactor pnoise comm 2020-03-06 10:00:54 +08:00
Justin Lin
ac7fc33204 rename 2020-03-06 09:57:35 +08:00
Justin Lin
39bf9ae7cc rename 2020-03-06 09:57:05 +08:00
Justin Lin
d18a613609 rename 2020-03-06 09:56:51 +08:00
Justin Lin
fbf47fa042 using seed is simple 2020-03-06 09:54:30 +08:00
Justin Lin
e3e9331a70 refactor table 2020-03-06 09:19:24 +08:00
Justin Lin
e99d71d3b9 module private tables 2020-03-06 09:14:42 +08:00
Justin Lin
e9c61e1550 refactor out pnoise fade function 2020-03-06 09:06:49 +08:00
Justin Lin
55d5f6162e add demo 2020-03-05 20:32:33 +08:00
Justin Lin
bf9088bfe2 add zip3 2020-03-05 20:30:29 +08:00
Justin Lin
989353d453 rename 2020-03-05 20:29:52 +08:00
Justin Lin
ee44936f1e add zip 2020-03-05 20:25:53 +08:00
Justin Lin
ae32838d1a user can define his own xs 2020-03-05 20:23:17 +08:00
Justin Lin
f1d864e44a add pnoise1 2020-03-05 17:59:02 +08:00
Justin Lin
ec9fbc6162 add pnoise1 2020-03-05 17:58:54 +08:00
Justin Lin
51acd1cb8b re-arrange params 2020-03-05 09:24:04 +08:00
Justin Lin
3847a0b6d4 refactor 2020-03-05 08:45:39 +08:00
Justin Lin
e52d9fb0f5 refactor 2020-03-05 08:44:35 +08:00
Justin Lin
bdab6e256f add mz_hamiltonian 2020-03-05 08:43:58 +08:00
Justin Lin
f80d9a9f70 refactor 2020-03-05 08:18:19 +08:00
Justin Lin
b02e2b0415 rename 2020-03-04 11:10:45 +08:00
Justin Lin
ca644cf181 add random_scala 2020-03-04 10:16:27 +08:00
Justin Lin
aaddea18a7 add dedup 2020-03-04 10:07:01 +08:00
Justin Lin
a489367eb6 add has 2020-03-04 08:21:13 +08:00
Justin Lin
d440add9ca typo 2020-03-03 09:34:45 +08:00
Justin Lin
9a91734859 reduce style check 2020-03-03 09:29:13 +08:00
Justin Lin
c4e3ebb65a refactor 2020-03-03 09:16:26 +08:00
Justin Lin
9783d2cde0 reduce slicing check 2020-03-03 09:08:19 +08:00
Justin Lin
42650a7a19 refactor 2020-03-03 09:01:19 +08:00
Justin Lin
5f38d3fc1f performance improved when LINES 2020-03-03 08:50:19 +08:00
Justin Lin
383b249868 update demo 2020-03-02 16:15:40 +08:00
Justin Lin
6cdd6a0049 wrong commit 2020-03-02 16:12:29 +08:00
Justin Lin
0dab066caa Merge branch 'master' of https://github.com/JustinSDK/dotSCAD 2020-03-02 16:10:55 +08:00
Justin Lin
c57ae76941 update demo 2020-03-02 16:10:37 +08:00
Justin Lin
c1c4ef40d0 update demo 2020-03-02 16:08:44 +08:00
Justin Lin
0a629cefb4 add voronoi_demo 2020-03-02 15:56:32 +08:00
Justin Lin
d6213ffddb refactor 2020-03-02 15:51:51 +08:00
Justin Lin
ecf2e96a42 add voronoi_lines 2020-03-02 15:49:56 +08:00
Justin Lin
f668445d0e remove bend_extrude 2020-03-02 14:12:39 +08:00
Justin Lin
5e8514ba43 add hollow_out_cylinder 2020-03-02 11:01:33 +08:00
Justin Lin
b92eafd9ea extract gcd lcm 2020-03-01 18:28:08 +08:00
Justin Lin
7c03032564 refactor 2020-03-01 18:26:32 +08:00
Justin Lin
a569a9bbfb update demo 2020-03-01 17:07:36 +08:00
Justin Lin
22664ba0f8 add slices param 2020-03-01 16:48:04 +08:00
Justin Lin
bcee3a899d add loft_demo 2020-02-29 18:05:09 +08:00
Justin Lin
c4e42b63a9 add loft 2020-02-29 18:04:25 +08:00
Justin Lin
c7a48d26bd format 2020-02-29 11:42:26 +08:00
Justin Lin
a0332ccadf add hollow_out_vase 2020-02-29 11:42:05 +08:00
Justin Lin
5177a5f4d9 add sweep 2020-02-29 09:17:40 +08:00
Justin Lin
3efaf6e14e add voronoi_penholder 2020-02-28 20:30:59 +08:00
Justin Lin
ea019663c7 change dir 2020-02-28 20:14:06 +08:00
Justin Lin
be8a88608b modify stop condition 2020-02-28 17:53:49 +08:00
Justin Lin
a7d65e55bd stop if [] 2020-02-28 16:22:16 +08:00
Justin Lin
fbbc0f0796 add closed param 2020-02-28 15:17:59 +08:00
Justin Lin
0ce3688981 refactor 2020-02-28 15:12:19 +08:00
Justin Lin
67c10c3fbb add hollow_out_torus_knot 2020-02-28 09:21:24 +08:00
Justin Lin
f6bc560ff5 fix orientation 2020-02-27 08:33:05 +08:00
Justin Lin
32ea18b40e add hollow_out_torus 2020-02-26 16:20:34 +08:00
Justin Lin
cf1c8c71ab refactor 2020-02-26 16:20:20 +08:00
Justin Lin
2448fe26d9 should sort by xy 2020-02-26 13:43:39 +08:00
Justin Lin
0b920df2cb refactor 2020-02-26 12:37:57 +08:00
Justin Lin
5c93a7d6c9 refactor 2020-02-26 12:32:33 +08:00
Justin Lin
2598fb2be2 add sum.scad 2020-02-26 12:32:26 +08:00
Justin Lin
2ec87b2287 add m_determinant 2020-02-26 09:36:55 +08:00
Justin Lin
67982f450d update readme 2020-02-25 16:34:19 +08:00
Justin Lin
08135fb8b6 add tri_ear_clipping 2020-02-25 16:02:59 +08:00
Justin Lin
1521152c50 add tri_delaunay demo 2020-02-25 15:57:35 +08:00
Justin Lin
906de42f7f add tri_delaunay 2020-02-25 15:41:06 +08:00
Justin Lin
364345ad7f don't return undef 2020-02-25 15:35:07 +08:00
Justin Lin
0eb2e4f974 add tri_circumcircle 2020-02-25 10:30:12 +08:00
Justin Lin
9a7b5948a0 update doc 2020-02-25 10:17:57 +08:00
Justin Lin
31a150da2b use cross to refactor 2020-02-25 10:07:16 +08:00
Justin Lin
afffa07f3f update doc 2020-02-25 09:57:23 +08:00
Justin Lin
06c7490f3a avoid name collision 2020-02-25 08:13:01 +08:00
Justin Lin
25ace9564a add dep 2020-02-25 08:10:31 +08:00
Justin Lin
76cdc85635 avoid name collision 2020-02-25 08:07:26 +08:00
Justin Lin
2a8ed85596 add convext_hull 2020-02-25 08:06:15 +08:00
Justin Lin
78613f76cd move into dir 2020-02-25 07:31:14 +08:00
Justin Lin
7513ae304e format 2020-02-24 17:46:01 +08:00
Justin Lin
c843c99b11 refactor 2020-02-24 17:23:09 +08:00
Justin Lin
330d523736 rename 2020-02-24 10:10:51 +08:00
Justin Lin
3b14f473c8 add hollow_out_starburst 2020-02-24 09:22:28 +08:00
Justin Lin
1329b45c74 add hollow_out_holder 2020-02-23 20:19:12 +08:00
Justin Lin
2bc5bb863a add triangulate_tri_bisectors_demo 2020-02-23 15:51:36 +08:00
Justin Lin
94bb5ee229 add convex_hull 2020-02-23 15:45:32 +08:00
Justin Lin
ca9f4c7af3 add tri_bisectors 2020-02-23 15:45:26 +08:00
Justin Lin
4a2083d15b support 3d 2020-02-23 09:54:06 +08:00
Justin Lin
aee7794fd2 rename 2020-02-22 20:44:40 +08:00
Justin Lin
53c79bf7a4 update demo 2020-02-22 16:02:03 +08:00
Justin Lin
7868b07b02 add demo 2020-02-22 15:47:44 +08:00
Justin Lin
8fbb00c7db add voronoi_cells 2020-02-22 15:45:18 +08:00
Justin Lin
f0d77c242f add convex_intersection_for 2020-02-22 12:08:31 +08:00
Justin Lin
f206de4a1a add convex_intersection 2020-02-22 09:59:31 +08:00
Justin Lin
d2e2c7867a add impl 2020-02-22 09:59:23 +08:00
Justin Lin
fb7eab6a31 add convex_ct_clk_order 2020-02-22 09:58:59 +08:00
Justin Lin
78fc088438 add convex_center_p 2020-02-22 09:58:41 +08:00
Justin Lin
4026a206b6 add intersection_p 2020-02-22 09:58:19 +08:00
Justin Lin
b4a7ae46ad use each to refactor 2020-02-22 09:57:40 +08:00
Justin Lin
0a61fd4095 support depth 2020-02-20 10:26:07 +08:00
Justin Lin
e56c12f7a6 support depth 2020-02-20 10:22:24 +08:00
Justin Lin
1e1f4c7d65 support depth 2020-02-20 10:19:33 +08:00
Justin Lin
74e087e4dd default to half of thickness 2020-02-20 10:18:10 +08:00
Justin Lin
1d68bad5d7 update comment 2020-02-20 10:15:15 +08:00
Justin Lin
2e2b4de1eb support depth 2020-02-20 08:47:17 +08:00
Justin Lin
3640a84769 support depth 2020-02-20 08:47:01 +08:00
Justin Lin
d9b4917c43 refactor 2020-02-20 08:39:50 +08:00
Justin Lin
fa71d252bf support depth 2020-02-20 08:39:45 +08:00
Justin Lin
0dc533e681 minimum level is 1 2020-02-19 22:06:41 +08:00
Justin Lin
0b7c8467cc fix dir 2020-02-19 21:32:30 +08:00
Justin Lin
1492189de6 typo 2020-02-19 21:19:04 +08:00
Justin Lin
be515c4162 fix dir 2020-02-19 21:18:22 +08:00
Justin Lin
db1b762a39 fix dir 2020-02-19 21:14:41 +08:00
Justin Lin
c3e46716e3 update comment 2020-02-19 17:58:55 +08:00
Justin Lin
9f55817a59 refactor 2020-02-19 17:38:10 +08:00
Justin Lin
0a395fe097 refactor 2020-02-19 17:37:16 +08:00
Justin Lin
4559145519 add sf_torus 2020-02-19 17:36:27 +08:00
Justin Lin
4c3c027995 support 3d point 2020-02-19 17:33:54 +08:00
Justin Lin
94d2585d41 support twist 2020-02-19 16:25:17 +08:00
Justin Lin
fd431a751b add simple doc 2020-02-19 14:46:14 +08:00
Justin Lin
1913013326 update comment 2020-02-19 14:46:09 +08:00
Justin Lin
8a609c2f57 add sf_ring 2020-02-19 14:43:12 +08:00
Justin Lin
7a52bf3b00 format 2020-02-19 14:04:48 +08:00
Justin Lin
5d2fc04705 support 3d point 2020-02-19 14:01:06 +08:00
Justin Lin
63bc668d51 support 3d point 2020-02-19 14:00:38 +08:00
Justin Lin
e046155b36 refactor 2020-02-19 13:54:35 +08:00
Justin Lin
48603db468 refactor 2020-02-19 13:53:18 +08:00
Justin Lin
0e37195ede refactor 2020-02-19 13:46:07 +08:00
Justin Lin
1a63f93a7b format 2020-02-19 13:41:33 +08:00
Justin Lin
f5e9e17af3 rename 2020-02-19 13:40:01 +08:00
Justin Lin
7ecf84d054 rename 2020-02-19 13:39:14 +08:00
Justin Lin
ee0086343c refactor 2020-02-19 13:01:11 +08:00
Justin Lin
fe98244c30 change dir 2020-02-19 13:01:04 +08:00
Justin Lin
254c6d2d69 change dir 2020-02-19 12:55:36 +08:00
Justin Lin
d27b48bfb7 format 2020-02-19 12:54:44 +08:00
Justin Lin
5849718ed5 change dir 2020-02-19 12:49:50 +08:00
Justin Lin
ce1ef24d64 add sf_bend 2020-02-19 12:20:12 +08:00
Justin Lin
3cd0d138af support 3D point 2020-02-19 12:19:31 +08:00
Justin Lin
df1bad4887 add invert 2020-02-19 12:19:07 +08:00
Justin Lin
fa9b23a117 fix thicnkess 2020-02-19 12:18:20 +08:00
Justin Lin
b08c2d482a refactor 2020-02-19 12:12:09 +08:00
Justin Lin
2ffe6b8e94 refactor 2020-02-18 20:43:59 +08:00
Justin Lin
96ab55b0ca refactor 2020-02-18 20:43:06 +08:00
Justin Lin
ed6fafd0fc refactor 2020-02-18 20:41:59 +08:00
Justin Lin
771edcf831 add mz_get 2020-02-18 20:41:54 +08:00
Justin Lin
e924e8b25a remove unnecessary function 2020-02-18 17:18:31 +08:00
Justin Lin
c89c440bda add sf_square 2020-02-18 17:18:11 +08:00
Justin Lin
a9fd1444d8 rename 2020-02-18 17:01:02 +08:00
Justin Lin
dea79663c1 rename 2020-02-18 17:00:57 +08:00
Justin Lin
8ad280c731 rename 2020-02-18 16:56:28 +08:00
Justin Lin
60b49cbeae add dot_photo_sphere 2020-02-18 15:59:56 +08:00
Justin Lin
cd2b59ceee refactor 2020-02-18 15:59:49 +08:00
Justin Lin
9f47301aa7 add simple doc 2020-02-18 15:53:34 +08:00
Justin Lin
be8e713784 real photo_sphere 2020-02-18 15:51:35 +08:00
Justin Lin
2f7993b70a add sphere_surface 2020-02-18 15:51:27 +08:00
Justin Lin
68234d6079 accept 3D point 2020-02-18 15:03:11 +08:00
Justin Lin
02fac4ea5c refactor 2020-02-18 15:03:01 +08:00
Justin Lin
018b2e8be2 add surface_grapher 2020-02-18 11:13:11 +08:00
Justin Lin
7e0400ea91 add flat 2020-02-18 11:09:36 +08:00
Justin Lin
cd46a948df add tf_bend 2020-02-17 14:30:46 +08:00
Justin Lin
afd337e84f refactor 2020-02-16 16:58:42 +08:00
Justin Lin
a26895f101 refactor 2020-02-16 16:56:10 +08:00
Justin Lin
5d0a3e7710 refactor 2020-02-16 16:54:43 +08:00
Justin Lin
3f21202fac refactor 2020-02-16 16:52:45 +08:00
Justin Lin
016b88b2a4 just square_maze 2020-02-16 16:50:49 +08:00
Justin Lin
603611ab16 refactor 2020-02-16 16:47:11 +08:00
Justin Lin
0bb4fa6485 refactor 2020-02-16 16:40:43 +08:00
Justin Lin
f549a07981 refactor 2020-02-16 16:37:48 +08:00
Justin Lin
2b336e881a refactor 2020-02-16 16:34:30 +08:00
Justin Lin
246a3a3d84 refactor 2020-02-16 16:31:02 +08:00
Justin Lin
ec5bc38c18 refactor 2020-02-16 16:28:31 +08:00
Justin Lin
a8c7fc57b2 remove unnecessary function 2020-02-16 16:27:01 +08:00
Justin Lin
be7f736f95 refactor 2020-02-16 16:25:31 +08:00
Justin Lin
1fd45af2fa refactor 2020-02-16 16:20:55 +08:00
Justin Lin
4eaf763a85 refactor 2020-02-16 15:59:45 +08:00
Justin Lin
77df23ae83 refactor 2020-02-16 14:10:33 +08:00
Justin Lin
5f0e83cfc6 refactor 2020-02-16 14:08:56 +08:00
Justin Lin
feb29e2f5d remove unnecessary modules 2020-02-16 14:07:26 +08:00
Justin Lin
e99c0b3172 refactor 2020-02-16 14:07:07 +08:00
Justin Lin
1e8167d823 rename 2020-02-16 14:05:37 +08:00
Justin Lin
41f7f5a08c refactor 2020-02-16 12:12:35 +08:00
Justin Lin
b9e357069b add maze_walls 2020-02-16 12:12:29 +08:00
Justin Lin
d09dccd7d5 add maze_blocks 2020-02-16 12:12:18 +08:00
Justin Lin
f4bf9d83fc add tiled_line_torus 2020-02-15 21:11:09 +08:00
Justin Lin
4a7abcf263 refactor 2020-02-15 21:09:26 +08:00
Justin Lin
9a10484fee add torus_maze 2020-02-15 21:07:31 +08:00
Justin Lin
654ec5000c add simple doc 2020-02-15 19:51:27 +08:00
Justin Lin
9fea6538ac refactor 2020-02-15 19:48:21 +08:00
Justin Lin
75715369b5 add tf_torus 2020-02-15 18:25:50 +08:00
Justin Lin
37ee1d28c5 refactor 2020-02-15 18:06:04 +08:00
Justin Lin
34a9e38e12 add default value 2020-02-15 18:05:54 +08:00
Justin Lin
542cd41284 better printable setting 2020-02-14 14:20:12 +08:00
Justin Lin
18dd9276f1 printable setting 2020-02-14 09:33:13 +08:00
Justin Lin
4babdca442 fn6 2020-02-14 08:52:19 +08:00
Justin Lin
40589cf204 printable setting 2020-02-13 20:56:00 +08:00
Justin Lin
a4ff4a7746 rename 2020-02-13 17:40:44 +08:00
Justin Lin
3bbed7e8c0 add arc_tiled_lines 2020-02-13 17:19:46 +08:00
Justin Lin
d7f8885135 re-order 2020-02-13 17:02:20 +08:00
Justin Lin
ddf0f36a51 refactor 2020-02-13 17:01:28 +08:00
Justin Lin
f7a50a4580 update doc 2020-02-13 14:18:53 +08:00
Justin Lin
b9ca3bb246 add simple doc 2020-02-13 14:18:30 +08:00
Justin Lin
044b359bf4 refactor 2020-02-13 14:14:47 +08:00
Justin Lin
ef38ee2186 rename 2020-02-13 14:13:11 +08:00
Justin Lin
32ff45758c refactor 2020-02-13 14:11:43 +08:00
Justin Lin
92d57a0312 add tf_ring 2020-02-13 14:11:39 +08:00
Justin Lin
57e3facaa9 rename 2020-02-13 10:47:03 +08:00
Justin Lin
1900801cad add tf_x_twist 2020-02-13 08:04:45 +08:00
Justin Lin
6a9e1e7b06 add simple doc 2020-02-12 20:30:51 +08:00
Justin Lin
88e0876d2f refactor 2020-02-12 20:29:24 +08:00
Justin Lin
02b1d1e132 add tf_y_twist 2020-02-12 20:29:18 +08:00
Justin Lin
b1b5efe022 rename 2020-02-12 20:01:22 +08:00
Justin Lin
0486b85f2a rename 2020-02-12 19:58:08 +08:00
Justin Lin
00c7c10b22 rename 2020-02-12 17:55:23 +08:00
Justin Lin
5567476120 refactor 2020-02-10 14:25:32 +08:00
Justin Lin
0a64658378 add photo_sphere 2020-02-10 13:33:12 +08:00
Justin Lin
1f326b83e7 update doc 2020-02-10 13:14:14 +08:00
Justin Lin
cc47f81dc1 add simple doc 2020-02-09 17:55:19 +08:00
Justin Lin
4d7acb3734 fix offset 2020-02-09 17:54:32 +08:00
Justin Lin
2b121d386b add sphere_maze 2020-02-09 17:11:38 +08:00
Justin Lin
195bf91850 add experimental/pt_to_sphere 2020-02-09 17:11:31 +08:00
Justin Lin
af779562ba use rand 2020-02-08 16:00:04 +08:00
Justin Lin
6d3a4fba03 update readme 2020-02-06 17:56:30 +08:00
Justin Lin
c06388fcdb update examples 2020-01-29 08:42:08 +08:00
Justin Lin
4e46dcb8fb not necessary 2020-01-29 08:36:42 +08:00
Justin Lin
aca1a3ab96 update README 2020-01-28 20:51:04 +08:00
Justin Lin
f8e7c45b03 update comments 2020-01-28 20:49:08 +08:00
Justin Lin
bd1e6166fc update README 2020-01-28 17:58:03 +08:00
Justin Lin
7baaef8421 update RELEASE 2020-01-28 17:57:02 +08:00
Justin Lin
7d4023445b not necessary since 2.2 2020-01-28 17:53:01 +08:00
Justin Lin
27da9ffdae update README 2020-01-28 17:52:30 +08:00
Justin Lin
9dd793541f update all docs 2020-01-28 17:51:20 +08:00
Justin Lin
232225bf83 add deps 2020-01-28 14:43:24 +08:00
Justin Lin
00118ed183 refactor deps 2020-01-28 10:08:01 +08:00
Justin Lin
72c5ddafec refactor deps 2020-01-28 09:52:16 +08:00
Justin Lin
948d4aafae use scad 2020-01-28 09:47:39 +08:00
Justin Lin
8d796a001f use scad 2020-01-28 09:46:29 +08:00
Justin Lin
0390817c03 include scad 2020-01-28 09:44:36 +08:00
Justin Lin
eb70c87117 refactor deps 2020-01-28 09:18:38 +08:00
Justin Lin
9b80531d47 use scad 2020-01-28 09:13:15 +08:00
Justin Lin
e87e219671 use scad 2020-01-28 09:12:45 +08:00
Justin Lin
0829106ed3 use scad 2020-01-28 09:12:11 +08:00
Justin Lin
d3f2fedfac refactor deps 2020-01-28 09:11:36 +08:00
Justin Lin
8fcb52550b use scad 2020-01-28 09:10:51 +08:00
Justin Lin
170a3aa33d use scad 2020-01-28 09:10:19 +08:00
Justin Lin
97a3e2acfd refactor deps 2020-01-28 09:09:45 +08:00
Justin Lin
ce46dd1b12 use scad 2020-01-28 09:08:48 +08:00
Justin Lin
19d20c40a7 refactor deps 2020-01-28 09:08:21 +08:00
Justin Lin
01b45bf25f refactor deps 2020-01-28 09:07:39 +08:00
Justin Lin
4f74a6302e refactor 2020-01-28 09:06:08 +08:00
Justin Lin
bb70134be9 use scad 2020-01-27 21:45:06 +08:00
Justin Lin
ba7f7422a9 refactor 2020-01-27 21:44:29 +08:00
Justin Lin
7bb8acaed0 use scad 2020-01-27 21:42:25 +08:00
Justin Lin
6fe1021d50 use scad 2020-01-27 21:41:31 +08:00
Justin Lin
6dae9ec2ad use scad 2020-01-27 21:40:58 +08:00
Justin Lin
9c2ede680b use scad 2020-01-27 21:40:31 +08:00
Justin Lin
47fbf6437c use scad 2020-01-27 21:40:06 +08:00
Justin Lin
b478067f9c use scad 2020-01-27 21:39:31 +08:00
Justin Lin
1276c471e7 refactor deps 2020-01-27 21:38:39 +08:00
Justin Lin
c958138e8f use scad 2020-01-27 21:37:17 +08:00
Justin Lin
e8c87b1632 use scad 2020-01-27 21:36:37 +08:00
Justin Lin
31141aa1db use scad 2020-01-27 21:35:29 +08:00
Justin Lin
55926726e4 use scad 2020-01-27 21:34:57 +08:00
Justin Lin
22eac8bfb3 refactor deps 2020-01-27 21:34:35 +08:00
Justin Lin
237045ccd5 use scad 2020-01-27 21:33:30 +08:00
Justin Lin
744206b554 use scad 2020-01-27 21:32:44 +08:00
Justin Lin
8b1175ba2b use scad 2020-01-27 21:32:18 +08:00
Justin Lin
65fcfdfbc7 reduce deps 2020-01-27 16:53:22 +08:00
Justin Lin
7dd8ffdd10 use scad 2020-01-27 16:52:47 +08:00
Justin Lin
8fc1c225eb reduce deps 2020-01-27 16:52:07 +08:00
Justin Lin
93cc69f661 reduce deps 2020-01-27 16:50:29 +08:00
Justin Lin
47a2f00573 reduce deps 2020-01-27 16:49:45 +08:00
Justin Lin
4831d47a7a use scad 2020-01-27 16:48:38 +08:00
Justin Lin
e9ed9602fd use scad 2020-01-27 16:48:04 +08:00
Justin Lin
1cf53c0c6d use scad 2020-01-27 16:47:18 +08:00
Justin Lin
606aba22a9 reduce deps 2020-01-27 16:45:11 +08:00
Justin Lin
32fd8a3e21 reduce deps 2020-01-27 16:44:19 +08:00
Justin Lin
18e69d7c9a reduce deps 2020-01-27 16:42:42 +08:00
Justin Lin
7aada2d208 reduce deps 2020-01-27 16:41:52 +08:00
Justin Lin
b479725b59 refactor deps 2020-01-27 16:38:45 +08:00
Justin Lin
a6a673173f refactor testcase 2020-01-27 16:37:38 +08:00
Justin Lin
b12e5c7446 use scad 2020-01-27 16:37:16 +08:00
Justin Lin
d4caf1f7e8 use scad 2020-01-27 16:35:29 +08:00
Justin Lin
a212700dfe refactor deps 2020-01-27 16:34:09 +08:00
Justin Lin
d88fd6ac55 refactor deps 2020-01-27 16:31:13 +08:00
Justin Lin
9c23eb1a46 use scad 2020-01-27 16:28:12 +08:00
Justin Lin
46c485db16 refactor testcase 2020-01-27 16:27:51 +08:00
Justin Lin
e76c35e9a1 refactor deps 2020-01-27 16:26:40 +08:00
Justin Lin
eab6aadc05 refactor deps 2020-01-27 16:23:39 +08:00
Justin Lin
a646846b9a use scad 2020-01-27 16:22:14 +08:00
Justin Lin
e6b10ab416 refactor deps 2020-01-27 16:21:51 +08:00
Justin Lin
e98fd39278 refactor deps 2020-01-27 16:20:33 +08:00
Justin Lin
e6274d6202 refactor deps 2020-01-27 16:18:00 +08:00
Justin Lin
4779343a85 refactor deps 2020-01-27 16:16:02 +08:00
Justin Lin
b7966c80a5 refactor deps 2020-01-27 16:14:00 +08:00
Justin Lin
fa18ee0b91 use scad 2020-01-27 16:09:29 +08:00
Justin Lin
ce0bbc5b6e refactor deps 2020-01-27 16:09:05 +08:00
Justin Lin
ee709a6620 refactor deps 2020-01-27 16:05:09 +08:00
Justin Lin
9797e9ba71 refactor deps 2020-01-27 16:04:27 +08:00
Justin Lin
c8dbc4bce0 refactor deps 2020-01-27 16:03:11 +08:00
Justin Lin
803de57be9 refactor deps 2020-01-27 15:59:07 +08:00
Justin Lin
6ed6b39777 refactor deps 2020-01-27 15:57:28 +08:00
Justin Lin
ceac65bc5b refactor deps 2020-01-27 15:53:24 +08:00
Justin Lin
640b54f948 refactor deps 2020-01-27 15:51:14 +08:00
Justin Lin
da36511c99 refactor deps 2020-01-27 15:40:56 +08:00
Justin Lin
38b1774390 refactor deps 2020-01-27 15:35:35 +08:00
Justin Lin
0241c83ec2 refactor deps 2020-01-27 15:30:14 +08:00
Justin Lin
440e5ec6a7 refactor deps 2020-01-27 15:28:39 +08:00
Justin Lin
4a125077a6 use scad 2020-01-27 15:26:01 +08:00
Justin Lin
4aca215d23 fix deps 2020-01-27 15:23:19 +08:00
Justin Lin
d2c222ec02 use scad 2020-01-27 15:17:42 +08:00
Justin Lin
61922a3f64 refactor deps 2020-01-27 15:16:38 +08:00
Justin Lin
9a3767ccbd remove code 2020-01-27 15:16:19 +08:00
Justin Lin
4b0974807c use scad 2020-01-27 15:13:08 +08:00
Justin Lin
3ae3029b57 use scad 2020-01-27 15:11:40 +08:00
Justin Lin
3ad03be311 refactor testcase 2020-01-27 15:10:29 +08:00
Justin Lin
62e8d2af84 refactor deps 2020-01-27 15:06:30 +08:00
Justin Lin
15c549c0c0 format 2020-01-27 14:59:43 +08:00
Justin Lin
207cc23f7b refactor testcase 2020-01-27 14:59:20 +08:00
Justin Lin
9fc93a0448 use scad 2020-01-27 14:59:15 +08:00
Justin Lin
1e97f09092 refactor testcase 2020-01-27 14:57:04 +08:00
Justin Lin
b125336ae4 refactor deps 2020-01-27 14:53:26 +08:00
Justin Lin
aded6760ab use scad 2020-01-27 14:50:08 +08:00
Justin Lin
d4d3d5f4d5 refactor deps 2020-01-27 14:49:33 +08:00
Justin Lin
38a91fe2bd use scad 2020-01-27 14:45:22 +08:00
Justin Lin
05d564af41 refactor deps 2020-01-27 13:45:04 +08:00
Justin Lin
cef421c6b0 refactor deps 2020-01-27 13:34:29 +08:00
Justin Lin
a42fa85fae fix "search term not found" 2020-01-27 12:11:03 +08:00
Justin Lin
69e8910c1b refactor deps 2020-01-27 12:06:04 +08:00
Justin Lin
6a0694b81f refactor deps 2020-01-27 12:05:59 +08:00
Justin Lin
77d3a71c40 use scad 2020-01-27 11:53:11 +08:00
Justin Lin
61d841ca4b refactor deps 2020-01-27 11:51:05 +08:00
Justin Lin
2c0c83c669 refactor deps 2020-01-27 11:49:56 +08:00
Justin Lin
53106fe963 refactor deps 2020-01-27 11:46:01 +08:00
Justin Lin
275ec843d3 refactor deps 2020-01-27 10:38:23 +08:00
Justin Lin
4a25e489cd refactor deps 2020-01-27 10:37:00 +08:00
Justin Lin
9e563e92e3 refactor deps 2020-01-27 10:32:40 +08:00
Justin Lin
3683beaae6 use scad 2020-01-27 10:24:24 +08:00
Justin Lin
9be7582777 refactor deps 2020-01-27 10:18:36 +08:00
Justin Lin
a2deee0784 refactor testcase 2020-01-27 10:11:15 +08:00
Justin Lin
7ef226c549 refactor deps 2020-01-27 10:03:31 +08:00
Justin Lin
16da72c02b refactor deps 2020-01-27 09:53:06 +08:00
Justin Lin
b9590c4a10 refactor 2020-01-27 09:41:16 +08:00
Justin Lin
d8c4d8f51f reduce deps 2020-01-27 09:24:53 +08:00
Justin Lin
a1626d88f3 use scad 2020-01-27 09:16:48 +08:00
Justin Lin
cd11de64c3 fix name 2020-01-27 09:13:14 +08:00
Justin Lin
bb4d83fa01 reduce deps 2020-01-27 09:11:38 +08:00
Justin Lin
e1ec2ac66a reduce deps 2020-01-27 09:05:20 +08:00
Justin Lin
76e3a01326 fix wrong name 2020-01-27 08:57:47 +08:00
Justin Lin
31d8782cec reduce deps 2020-01-27 08:55:23 +08:00
Justin Lin
c7b1c74292 refactor 2020-01-27 08:54:17 +08:00
Justin Lin
6529e56820 refactor 2020-01-27 08:52:04 +08:00
Justin Lin
00b3d95c32 use scad 2020-01-27 08:30:24 +08:00
Justin Lin
66a97cf5d9 use scad 2020-01-27 08:27:50 +08:00
Justin Lin
267dcd498f use scad 2020-01-27 08:25:40 +08:00
Justin Lin
6e136008bf use scad 2020-01-27 08:25:18 +08:00
Justin Lin
f92bb8788e use scad 2020-01-27 08:24:44 +08:00
Justin Lin
8fcabc6d4d use scad 2020-01-27 07:46:55 +08:00
Justin Lin
acf64ed84f use scad 2020-01-27 07:45:05 +08:00
Justin Lin
0b6739a143 use scad 2020-01-27 07:43:28 +08:00
Justin Lin
b719e95ce5 use scad 2020-01-27 07:41:43 +08:00
Justin Lin
dd7ed32f4c use scad 2020-01-26 20:45:02 +08:00
Justin Lin
f749e4808a use scad 2020-01-26 20:44:55 +08:00
Justin Lin
8eabde6be9 use scad 2020-01-26 20:37:33 +08:00
Justin Lin
07d96b2e10 use scad 2020-01-26 20:34:26 +08:00
Justin Lin
be08328c32 use scad 2020-01-26 20:31:20 +08:00
Justin Lin
a49b27ecb1 use scad 2020-01-26 20:28:44 +08:00
Justin Lin
65f297070f use scad 2020-01-26 18:08:43 +08:00
Justin Lin
10a6727215 use scad 2020-01-26 18:05:27 +08:00
Justin Lin
e2e6b9437c use scad 2020-01-26 18:01:08 +08:00
Justin Lin
724046397d use full path 2020-01-26 17:47:41 +08:00
Justin Lin
73d40a312e add testcase 2020-01-26 17:34:55 +08:00
Justin Lin
60d9cba21a use scad 2020-01-26 17:19:50 +08:00
Justin Lin
67a5465e09 use scad to reduce deps 2020-01-26 17:05:05 +08:00
Justin Lin
a5772f7ee6 use scad 2020-01-26 16:59:02 +08:00
Justin Lin
cd4b87287f add testcase 2020-01-26 16:58:58 +08:00
Justin Lin
8b429529c5 use scad 2020-01-26 16:55:08 +08:00
Justin Lin
8c4fb236bf use scad to reduce deps 2020-01-26 16:54:09 +08:00
Justin Lin
c16d43669e use scad to reduce dependencies 2020-01-26 16:50:52 +08:00
Justin Lin
e82545fe37 modify comment 2020-01-26 16:45:02 +08:00
Justin Lin
a7121c6a33 use scad 2020-01-26 16:32:02 +08:00
Justin Lin
ead4450b1c refactor 2020-01-26 16:31:15 +08:00
Justin Lin
020bf01023 refactor 2020-01-26 16:30:27 +08:00
Justin Lin
b7ad7ea46e refactor unittest 2020-01-26 16:26:19 +08:00
Justin Lin
e1774765de rename 2020-01-24 14:41:15 +08:00
Justin Lin
96ed654236 rename 2020-01-24 14:39:45 +08:00
Justin Lin
241d6dcb21 rename 2020-01-24 14:38:21 +08:00
Justin Lin
2dfc5f4174 rename 2020-01-24 14:36:42 +08:00
Justin Lin
b7fb2632b8 add trefoil_klein_bottle 2020-01-23 11:19:01 +08:00
Justin Lin
de9515e1ac format 2020-01-23 10:32:11 +08:00
Justin Lin
f18d5b69e1 smooth path 2020-01-23 10:31:37 +08:00
Justin Lin
5cfa5108d4 refactor 2020-01-11 14:12:08 +08:00
Justin Lin
6873f12403 format 2020-01-11 14:10:55 +08:00
Justin Lin
d3618e968f refactor 2020-01-11 14:08:58 +08:00
Justin Lin
943498700c refactor 2020-01-11 14:07:56 +08:00
Justin Lin
64f39ff904 refactor 2020-01-11 14:05:53 +08:00
Justin Lin
b80cb1a3b6 format 2020-01-11 11:41:23 +08:00
Justin Lin
0416c449f5 refactor 2020-01-11 11:39:54 +08:00
Justin Lin
6bdfeb8d6b added chair score 2019-12-27 08:26:07 +08:00
Justin Lin
a63a08fd5c update README 2019-12-14 21:25:40 +08:00
Justin Lin
f65d20b68b added SD_Card_Taiwan 2019-12-11 15:12:19 +08:00
Justin Lin
022717206e change default value 2019-12-09 13:44:30 +08:00
Justin Lin
48d50d5f61 add comment 2019-12-08 07:37:41 +08:00
Justin Lin
082689db2a add style param 2019-12-08 07:36:02 +08:00
Justin Lin
9b85b09878 add soccer_jogsaw 2019-12-07 20:41:46 +08:00
Justin Lin
f3eca190f1 move file 2019-12-07 20:41:27 +08:00
Justin Lin
f9d4203a27 add part param 2019-12-07 20:10:51 +08:00
Justin Lin
e69ab760de pre_calculate 2019-12-07 19:46:32 +08:00
Justin Lin
74c425bb84 adjust space and h 2019-12-07 19:42:38 +08:00
Justin Lin
0458eea63d format 2019-12-07 17:50:39 +08:00
Justin Lin
f370b1105f half space 2019-12-07 17:35:03 +08:00
Justin Lin
25d26216e9 offset to make space 2019-12-07 17:14:27 +08:00
Justin Lin
61d4d38feb change param 2019-12-06 11:28:51 +08:00
Justin Lin
6255c9ef87 rename 2019-11-22 20:06:53 +08:00
Justin Lin
56e7992ad9 add tai chi 2019-11-22 17:04:54 +08:00
Justin Lin
a5e7d1b4c9 change scale 2019-11-01 06:52:08 +08:00
Justin Lin
7f12425364 scale x, y 2019-10-31 21:46:07 +08:00
Justin Lin
16f6fcfbb6 scale x, y 2019-10-31 21:44:49 +08:00
Justin Lin
4e463a51f3 add rose 2019-10-31 15:46:51 +08:00
Justin Lin
4f75ba64ef remove code not necessary 2019-10-28 17:01:38 +08:00
Justin Lin
94cae52f9d add nautilus_shell 2019-10-28 15:29:41 +08:00
Justin Lin
367c9e4b9d add fn 2019-10-25 18:24:29 +08:00
Justin Lin
db239d34cb add simple_seashell 2019-10-25 16:10:56 +08:00
Justin Lin
40579752ab update RELEASE 2019-10-18 18:09:00 +08:00
Justin Lin
2ef63ddd38 update RELEASE 2019-10-18 18:06:35 +08:00
Justin Lin
a2cd79cfa7 update README 2019-10-18 09:18:33 +08:00
Justin Lin
24cbc8924c update all 2019-10-18 08:36:12 +08:00
Justin Lin
98f62e9b29 update RELEASE 2019-10-18 08:35:02 +08:00
Justin Lin
0c15ed2954 update README 2019-10-18 08:29:24 +08:00
Justin Lin
4b663aa563 color it 2019-10-13 06:59:09 +08:00
Justin Lin
8caa2f02d6 add soccer_polyhedron 2019-10-12 21:51:20 +08:00
Justin Lin
107837bbdd a uniform knot vector is enough 2019-10-12 07:45:24 +08:00
Justin Lin
3ccb725645 update doc 2019-10-11 20:47:21 +08:00
Justin Lin
426f2623f7 tube use bspline_curve 2019-10-11 20:44:36 +08:00
Justin Lin
16637b098c format 2019-10-11 18:15:29 +08:00
Justin Lin
e42d70c11e update image 2019-10-11 13:57:00 +08:00
Justin Lin
385258bbc9 add triangle_splice 2019-10-07 20:41:55 +08:00
Justin Lin
7db613cef2 add gyro maze 2019-10-06 15:54:46 +08:00
Justin Lin
6cacd821e8 remove offset 2019-10-06 11:55:59 +08:00
Justin Lin
702a2c9577 add name 2019-10-06 10:43:34 +08:00
Justin Lin
132bdba10f add heart2heart_maze 2019-10-06 10:41:36 +08:00
Justin Lin
3d29408155 remove offset 2019-10-06 10:06:06 +08:00
Justin Lin
9fb90341af remove star 2019-10-06 09:55:52 +08:00
Justin Lin
3cd041d2bf change wall width 2019-10-06 09:55:21 +08:00
Justin Lin
b0c299e0a4 change road width 2019-10-06 09:53:18 +08:00
Justin Lin
9210fee4fc externalize maze 2019-10-06 09:29:22 +08:00
Justin Lin
f3c39702ac change shell 2019-10-06 09:28:06 +08:00
Justin Lin
fabdfb6bed adjust params 2019-10-05 17:27:53 +08:00
Justin Lin
b8901a9d3c use ellipse_extrude 2019-10-05 17:08:14 +08:00
Justin Lin
fb383f787b add heart_maze 2019-10-05 16:18:32 +08:00
Justin Lin
f64c0b6612 render 2d first 2019-10-05 15:12:36 +08:00
Justin Lin
e5e734c440 UPDATE ALL 2019-10-04 13:47:09 +08:00
Justin Lin
7b5996c756 update doc 2019-10-04 13:30:59 +08:00
Justin Lin
2e271bab3c add doc 2019-10-04 13:29:50 +08:00
Justin Lin
92324ba78f update all 2019-10-04 13:27:30 +08:00
Justin Lin
cb2a580de0 add comment 2019-10-04 13:27:03 +08:00
Justin Lin
4b37babadb update testcase 2019-10-04 13:21:53 +08:00
Justin Lin
982cbefec5 refactor 2019-10-04 09:52:15 +08:00
Justin Lin
0badb22b54 refactor 2019-10-04 09:50:33 +08:00
Justin Lin
6c15fc2fe0 refactor 2019-10-04 09:44:28 +08:00
Justin Lin
7ba82e0279 update doc 2019-10-04 09:26:28 +08:00
Justin Lin
44857c2875 update doc 2019-10-04 09:19:59 +08:00
Justin Lin
ce549c54cf refactor 2019-10-04 09:19:01 +08:00
Justin Lin
5a7fc3130b reduce dependencies 2019-10-04 09:18:56 +08:00
Justin Lin
12c490481a add cat_protector 2019-10-04 09:10:59 +08:00
Justin Lin
aa82cd4af4 add thickness 2019-10-04 09:05:14 +08:00
Justin Lin
8c6f3aad2d add tableware_organizer 2019-10-03 19:57:20 +08:00
Justin Lin
0aa52ae97f rename 2019-10-03 17:55:29 +08:00
Justin Lin
3577813f62 add lotus_like_flower 2019-10-03 15:10:27 +08:00
Justin Lin
3f356e0e7c update all 2019-10-03 15:09:50 +08:00
Justin Lin
602c7e6541 add all 2019-10-03 15:09:07 +08:00
Justin Lin
a9270db161 rename 2019-10-03 15:09:01 +08:00
Justin Lin
7ef6e6fbf7 add fib_seq 2019-10-03 15:07:05 +08:00
Justin Lin
7e71667694 extract fast fib 2019-10-03 15:06:55 +08:00
Justin Lin
9556f60050 fix point order 2019-10-03 08:16:33 +08:00
Justin Lin
69cbd7e88a update all 2019-10-02 09:57:22 +08:00
Justin Lin
9d751ada18 fix offset 2019-10-02 09:56:46 +08:00
Justin Lin
5d67b717e0 update doc 2019-10-02 09:12:27 +08:00
Justin Lin
07b95f0240 scale bottom 2019-10-02 09:12:03 +08:00
Justin Lin
e7e0494aa1 update doc 2019-10-02 09:07:19 +08:00
Justin Lin
5fcd2c473e use box_extrude to refactor 2019-10-02 09:04:08 +08:00
Justin Lin
19185c677a add params 2019-10-02 09:03:34 +08:00
Justin Lin
64ada004ba since 2.1 2019-10-02 08:08:40 +08:00
Justin Lin
1fc7cad25e update readme 2019-10-01 13:40:49 +08:00
Justin Lin
4e7c46d495 add image 2019-10-01 13:40:11 +08:00
Justin Lin
98f6a46c9b add readme 2019-10-01 13:37:02 +08:00
Justin Lin
1d969a2cd4 99 segs 2019-10-01 11:09:51 +08:00
Justin Lin
48ec27ff2c add moving fish 2019-10-01 11:09:22 +08:00
Justin Lin
533a5b2833 format 2019-09-29 16:41:47 +08:00
Justin Lin
e3ff941430 add fern_leaf_stencil 2019-09-29 16:39:23 +08:00
Justin Lin
e933aee5a8 update doc 2019-09-29 15:03:41 +08:00
Justin Lin
f31cfde720 update doc 2019-09-29 15:02:07 +08:00
Justin Lin
1aeae78e5d update all 2019-09-29 14:53:04 +08:00
Justin Lin
7f92f417c5 update doc 2019-09-29 14:49:25 +08:00
Justin Lin
373e3c3064 update doc 2019-09-29 14:47:30 +08:00
Justin Lin
8404b3332e add functions 2019-09-29 14:46:17 +08:00
Justin Lin
bc9818b59b add doc 2019-09-29 14:45:31 +08:00
Justin Lin
f03296c672 update init data 2019-09-29 14:17:06 +08:00
Justin Lin
df52a9e52e update doc 2019-09-29 14:15:44 +08:00
Justin Lin
c335111b44 add doc 2019-09-29 14:09:17 +08:00
Justin Lin
5212f6ffc4 add comment 2019-09-29 12:12:23 +08:00
Justin Lin
36b4cdf0d2 add doc 2019-09-29 12:11:46 +08:00
Justin Lin
aba9f192b9 format 2019-09-29 10:21:18 +08:00
Justin Lin
b7026a1b92 format 2019-09-29 10:20:49 +08:00
Justin Lin
cf70c376ac use t3d to refactor 2019-09-29 10:20:40 +08:00
Justin Lin
f8bfe807a0 add t3d 2019-09-29 10:20:30 +08:00
Justin Lin
2f6e3e9252 format 2019-09-29 10:16:52 +08:00
Justin Lin
38fe5aded2 change param 2019-09-29 09:56:32 +08:00
Justin Lin
693d5465ba refactor 2019-09-29 09:45:31 +08:00
Justin Lin
2da3c97212 update comment 2019-09-28 20:36:56 +08:00
Justin Lin
aa6afab346 rename 2019-09-28 20:36:17 +08:00
Justin Lin
3b13717d3d refactor 2019-09-28 20:34:50 +08:00
Justin Lin
0210035a50 format 2019-09-28 20:30:24 +08:00
Justin Lin
c7dacfddd8 refactor 2019-09-28 20:29:53 +08:00
Justin Lin
92c32b70a1 use t2d to refactor 2019-09-28 20:28:25 +08:00
Justin Lin
6a6b9289af refactor 2019-09-28 20:02:45 +08:00
Justin Lin
ebf6dc5bca reduce param 2019-09-28 19:54:20 +08:00
Justin Lin
ca40a5c120 rename 2019-09-28 18:14:59 +08:00
Justin Lin
5f8e4fed0f simplify param 2019-09-28 18:11:15 +08:00
Justin Lin
4fad8da2fa experimental t2d 2019-09-28 18:05:06 +08:00
Justin Lin
7488f62df7 rename 2019-09-28 17:33:04 +08:00
Justin Lin
33276552e9 rename 2019-09-28 17:29:51 +08:00
Justin Lin
58d03af46b remove extra tri 2019-09-28 11:36:57 +08:00
Justin Lin
df97574a66 refactor 2019-09-28 09:58:34 +08:00
Justin Lin
ea401ce009 refactor 2019-09-28 09:58:30 +08:00
Justin Lin
3d3ad1151a move 2019-09-27 21:40:29 +08:00
Justin Lin
918fde08a1 add sierpinski_pyramid 2019-09-27 11:13:54 +08:00
Justin Lin
fe27685932 format 2019-09-27 08:52:54 +08:00
Justin Lin
a6131f8da3 rename 2019-09-27 08:52:06 +08:00
Justin Lin
103f848a80 format 2019-09-27 08:51:28 +08:00
Justin Lin
e3ef5a3de9 format 2019-09-27 08:42:43 +08:00
Justin Lin
5e0bdc068b format 2019-09-27 08:42:12 +08:00
Justin Lin
939161bdba rename 2019-09-27 07:37:02 +08:00
Justin Lin
0309699822 add stereographic_projection_chars 2019-09-27 07:34:48 +08:00
Justin Lin
08c51370dd add dragon 2019-09-26 17:44:26 +08:00
Justin Lin
dfec4ba772 rename 2019-09-26 12:08:51 +08:00
Justin Lin
8bb38eceb2 add dancing_cubes 2019-09-26 11:36:27 +08:00
Justin Lin
00521289f3 diff directly 2019-09-26 11:35:39 +08:00
Justin Lin
4c8c578fbf refactor 2019-09-26 09:13:42 +08:00
Justin Lin
78b45beaa2 refactor 2019-09-26 09:12:14 +08:00
Justin Lin
e4ac6dcb98 format 2019-09-26 08:53:47 +08:00
Justin Lin
ea0fee1148 format 2019-09-26 08:24:48 +08:00
Justin Lin
2cd6e31a65 format 2019-09-26 08:22:41 +08:00
Justin Lin
ddbed585b0 format 2019-09-26 08:21:55 +08:00
Justin Lin
81cb948a53 format 2019-09-26 08:21:39 +08:00
Justin Lin
7333d474e1 format 2019-09-26 08:21:15 +08:00
Justin Lin
aa6a1a9453 format 2019-09-26 08:20:54 +08:00
Justin Lin
8a2667b8f1 format 2019-09-26 08:19:42 +08:00
Justin Lin
566acf7a99 format 2019-09-26 08:19:19 +08:00
Justin Lin
954948480b format 2019-09-26 08:18:58 +08:00
Justin Lin
b56c516fe7 format 2019-09-26 08:17:54 +08:00
Justin Lin
78f7b0b4aa format 2019-09-26 08:17:30 +08:00
Justin Lin
0fc52bd023 format 2019-09-26 08:17:10 +08:00
Justin Lin
f9f22d9fc2 format 2019-09-26 08:15:50 +08:00
Justin Lin
348f04b10f format 2019-09-26 08:14:36 +08:00
Justin Lin
19e57f965e format 2019-09-26 08:14:09 +08:00
Justin Lin
86fb7c1279 format 2019-09-26 08:12:43 +08:00
Justin Lin
55400c9d2c add center param 2019-09-26 08:10:38 +08:00
Justin Lin
1be93b3bb1 unnecessary module 2019-09-26 07:26:41 +08:00
Justin Lin
a6c3e1ee8a use square directly 2019-09-26 07:26:07 +08:00
Justin Lin
bb686e7077 add joint_T 2019-09-25 21:00:56 +08:00
Justin Lin
4123be7a66 use joint_T to refactor 2019-09-25 20:59:57 +08:00
Justin Lin
f924000a4a add joint_T 2019-09-25 20:59:47 +08:00
Justin Lin
8456295e0a change value 2019-09-25 15:39:33 +08:00
Justin Lin
d3611493fb add wall_radius 2019-09-25 15:34:43 +08:00
Justin Lin
91b127210b modify unit 2019-09-25 15:22:42 +08:00
Justin Lin
f599107da2 modify leng2 2019-09-25 13:39:02 +08:00
Justin Lin
78a28239dd modify bottom walkway 2019-09-25 13:19:56 +08:00
Justin Lin
114cece327 change height 2019-09-25 10:25:40 +08:00
Justin Lin
ef9035120d modify comment 2019-09-25 10:22:41 +08:00
Justin Lin
33a09d4332 add walk_torus83_fort 2019-09-25 10:21:46 +08:00
Justin Lin
f29e410654 add box 2019-09-24 13:44:02 +08:00
Justin Lin
34dc0d2f3a extract triangle2square 2019-09-24 13:43:57 +08:00
Justin Lin
3704abf382 rename 2019-09-24 13:41:32 +08:00
Justin Lin
d258a062ea diff not necessary 2019-09-24 13:10:17 +08:00
Justin Lin
3330ac3f7d to ratio of leng 2019-09-24 09:23:07 +08:00
Justin Lin
ad5dbbc143 add triangle2square 2019-09-24 09:02:08 +08:00
Justin Lin
e2eb36bb57 add stick_tower 2019-09-23 08:26:54 +08:00
Justin Lin
2fc63d1904 add text_box 2019-09-23 08:15:37 +08:00
Justin Lin
1f9ee747ae refactor 2019-09-22 20:19:52 +08:00
Justin Lin
374000df9c don't rotate when 0 2019-09-22 19:37:17 +08:00
Justin Lin
c5bfc89c4a add golden_taiwan 2019-09-22 13:39:08 +08:00
Justin Lin
ad07fbe1b5 update README 2019-09-21 19:25:40 +08:00
Justin Lin
68afaab061 update all 2019-09-21 19:23:22 +08:00
Justin Lin
8b239c22a3 update doc 2019-09-21 19:21:48 +08:00
Justin Lin
828e3ae5ff change featured img 2019-09-21 19:20:04 +08:00
Justin Lin
275a01396a add comment 2019-09-21 19:14:38 +08:00
Justin Lin
75284851e9 add cone doc 2019-09-21 13:27:14 +08:00
Justin Lin
bf1f3ce23e update img 2019-09-21 13:20:01 +08:00
Justin Lin
08a414909e update img 2019-09-21 13:19:52 +08:00
Justin Lin
9e0dc10ed4 update doc 2019-09-21 13:08:51 +08:00
Justin Lin
2f16883109 rename param 2019-09-21 10:18:22 +08:00
Justin Lin
45ccf8aed3 rename param 2019-09-21 10:17:31 +08:00
Justin Lin
927d551620 add doc 2019-09-21 10:16:45 +08:00
Justin Lin
2129c09fb9 rename param 2019-09-21 10:13:46 +08:00
Justin Lin
76306a2a80 modified because of connector_peg param changed 2019-09-21 09:58:35 +08:00
Justin Lin
6451029b9f fixed head height 2019-09-21 09:57:57 +08:00
Justin Lin
cbea572747 add height param 2019-09-21 09:19:37 +08:00
Justin Lin
386e8b934e refactor 2019-09-21 08:25:26 +08:00
Justin Lin
6b906292aa refactor 2019-09-21 08:24:01 +08:00
Justin Lin
03bca85e34 refactor 2019-09-21 08:22:22 +08:00
Justin Lin
237232dc07 refactor 2019-09-21 08:19:29 +08:00
Justin Lin
a3a0767ea3 update doc 2019-09-20 18:15:48 +08:00
Justin Lin
719217ad6c refactor 2019-09-20 17:51:11 +08:00
Justin Lin
3c3e2b7356 refactor 2019-09-20 15:47:06 +08:00
Justin Lin
50903803c3 refactor 2019-09-20 15:45:38 +08:00
Justin Lin
e6aec7f07e format 2019-09-20 14:52:35 +08:00
Justin Lin
3cb8f8fb7d rename 2019-09-20 11:57:50 +08:00
Justin Lin
7a588bb95b format 2019-09-20 11:48:06 +08:00
Justin Lin
8e8a09b030 format 2019-09-20 11:48:01 +08:00
Justin Lin
a1185cc9c7 rename 2019-09-20 11:08:57 +08:00
Justin Lin
7dcf44cd67 refactor 2019-09-19 17:53:11 +08:00
Justin Lin
5e86912b2e refactor 2019-09-19 17:48:22 +08:00
Justin Lin
6d95a8bf9f refactor 2019-09-19 17:44:15 +08:00
Justin Lin
d4bec58375 refactor 2019-09-19 17:41:24 +08:00
Justin Lin
d8dafe7224 format 2019-09-19 15:49:36 +08:00
Justin Lin
4d5cf0e59b format 2019-09-19 15:47:19 +08:00
Justin Lin
eb9b13841f refactor 2019-09-19 15:41:16 +08:00
Justin Lin
afa3dbcd62 refactor 2019-09-19 15:39:38 +08:00
Justin Lin
7634a0dd72 add cone 2019-09-19 10:12:27 +08:00
Justin Lin
4c7ef79c17 add string_tetrahedron 2019-09-19 10:10:32 +08:00
Justin Lin
4914dda1ac add corn 2019-09-19 09:58:58 +08:00
Justin Lin
1229716878 remove default value 2019-09-19 09:08:48 +08:00
Justin Lin
e87321fc32 rename 2019-09-19 08:48:53 +08:00
Justin Lin
d0712918a2 add connector_peg 2019-09-18 21:03:44 +08:00
Justin Lin
373f10a52b rotate_extrude 2D 2019-09-18 20:04:18 +08:00
Justin Lin
0edf8c2946 use connector_peg to refactor 2019-09-18 18:07:34 +08:00
Justin Lin
3252461b32 use peg to refactor 2019-09-18 17:36:59 +08:00
Justin Lin
e572b6bf1f add peg 2019-09-18 17:36:52 +08:00
Justin Lin
25366f54e6 mirror it 2019-09-18 14:48:33 +08:00
Justin Lin
cf1d60045f format 2019-09-18 14:39:45 +08:00
Justin Lin
e145a137f0 add qr_coder 2019-09-18 14:38:10 +08:00
Justin Lin
0623296ad9 add multiplication_puzzle. 2019-09-15 20:43:26 +08:00
Justin Lin
538ed7b38e remove option 2019-09-15 08:45:58 +08:00
Justin Lin
bc8bf7f67b fix base orientation 2019-09-15 08:26:02 +08:00
Justin Lin
f5f0c7d5f8 rotate, not mirror 2019-09-15 08:06:45 +08:00
Justin Lin
842bb858c0 add spiral_cube 2019-09-14 20:59:50 +08:00
Justin Lin
0205686b9f add cargo 2019-09-13 15:00:16 +08:00
Justin Lin
e6eca1f526 move 2019-09-13 14:59:59 +08:00
Justin Lin
1c43b879f9 refactor 2019-09-11 14:57:01 +08:00
Justin Lin
89d1233c9f format 2019-09-11 14:55:11 +08:00
Justin Lin
ae217d6426 support different sides 2019-09-11 14:55:03 +08:00
Justin Lin
2760ba2b65 rename 2019-09-11 14:49:55 +08:00
Justin Lin
47228742ed rename 2019-09-11 14:47:38 +08:00
Justin Lin
e327df46f3 refactor 2019-09-11 14:46:58 +08:00
Justin Lin
ba71c3099f refactor 2019-09-11 14:30:51 +08:00
Justin Lin
553e47a010 rename 2019-09-11 14:16:49 +08:00
Justin Lin
d2d9a0b48f refactor 2019-09-11 14:16:08 +08:00
Justin Lin
3ae965216b remove param 2019-09-11 09:55:44 +08:00
Justin Lin
e83ac7489a delete 2019-09-11 09:49:33 +08:00
Justin Lin
a308bc7422 add floor_stand_text 2019-09-11 09:48:05 +08:00
Justin Lin
368c6db77e format 2019-09-11 09:44:02 +08:00
Justin Lin
4c6130f851 add floor_stand_symbol 2019-09-11 09:40:26 +08:00
Justin Lin
1a15d307a6 add floor_stand 2019-09-10 14:01:58 +08:00
Justin Lin
b8295ab5f1 refactor 2019-09-10 13:30:48 +08:00
Justin Lin
256971467c add pyramid_maze 2019-09-10 13:24:10 +08:00
Justin Lin
34303057a2 rename 2019-09-10 09:00:00 +08:00
Justin Lin
9fe1994049 refactor 2019-09-09 09:30:25 +08:00
Justin Lin
bfcd168e4b refactor 2019-09-09 09:23:20 +08:00
Justin Lin
c8a5993787 refactor 2019-09-09 09:18:13 +08:00
Justin Lin
f439c17c1f refactor 2019-09-09 09:16:31 +08:00
Justin Lin
d7d34fa322 refactor 2019-09-09 09:08:27 +08:00
Justin Lin
32361d57c5 refactor 2019-09-09 09:03:46 +08:00
Justin Lin
247574c2e4 refactor 2019-09-09 09:03:29 +08:00
Justin Lin
bd0325979f add vampire_holder 2019-09-09 08:45:17 +08:00
Justin Lin
dace753dde add melted_clock 2019-09-08 20:41:42 +08:00
Justin Lin
1ba1ceddc7 rename 2019-09-08 19:45:47 +08:00
Justin Lin
bfba37c99f rename 2019-09-08 19:45:36 +08:00
Justin Lin
ccd0be5551 add regular_polygon_maze 2019-09-08 17:18:01 +08:00
Justin Lin
ff2cf213da move files 2019-09-08 14:56:09 +08:00
Justin Lin
10744c9337 add spring_dog 2019-09-08 14:55:32 +08:00
Justin Lin
b022b859cc replace parentheses 2019-09-07 16:43:51 +08:00
Justin Lin
0a0f18b323 modify angle 2019-09-07 16:18:36 +08:00
Justin Lin
f266d18efa fix a_step 2019-09-07 16:18:27 +08:00
Justin Lin
d86be387f1 add mobius_maze 2019-09-07 15:59:59 +08:00
Justin Lin
4174cde9d8 refactor 2019-09-07 15:59:47 +08:00
Justin Lin
dc31063b4c y twisted 2019-09-07 15:23:52 +08:00
Justin Lin
1b07f29fa8 add twisted_maze 2019-09-07 10:35:15 +08:00
Justin Lin
a19da610fb add bearing_captured_in_mobius_cut 2019-09-06 18:03:15 +08:00
Justin Lin
c4d1207cf8 refactor 2019-09-05 20:04:12 +08:00
Justin Lin
9e026d98ee add cube_maze 2019-09-05 20:01:57 +08:00
Justin Lin
5f816e4d5b rename 2019-09-04 08:29:38 +08:00
Justin Lin
25a8c24c4e add params 2019-09-04 08:26:58 +08:00
Justin Lin
113a7f876c rename 2019-09-04 08:25:05 +08:00
Justin Lin
921e67f511 refactor 2019-09-04 08:23:25 +08:00
Justin Lin
ed2845a4e8 refactor 2019-09-04 07:35:20 +08:00
Justin Lin
df4ebba3c3 refactor 2019-09-03 21:00:50 +08:00
Justin Lin
e6fe09c649 modify condition 2019-09-03 20:37:00 +08:00
Justin Lin
93c53d213d rename 2019-09-03 17:37:52 +08:00
Justin Lin
8f770f713b rename 2019-09-03 17:30:09 +08:00
Justin Lin
0dacbb8bee rename 2019-09-03 17:28:28 +08:00
Justin Lin
83a8382aea refactor 2019-09-03 17:24:04 +08:00
Justin Lin
8fc3939cae fix wrong param 2019-09-03 07:28:51 +08:00
Justin Lin
ba29e95bf5 refactor 2019-09-02 15:08:37 +08:00
Justin Lin
55a8675550 add cylinder_maze 2019-09-02 15:05:51 +08:00
Justin Lin
dce3d0018b circularable 2019-09-02 15:05:44 +08:00
Justin Lin
9f1276d232 refoactor 2019-09-02 09:01:33 +08:00
Justin Lin
1d46034298 refactor 2019-09-02 08:43:44 +08:00
Justin Lin
76c703dfc2 rename 2019-09-02 08:43:10 +08:00
Justin Lin
8957fb0e1d add comment 2019-09-02 08:40:41 +08:00
Justin Lin
4b539c3b3e refactor 2019-09-02 08:38:43 +08:00
Justin Lin
1f1744a58e format 2019-09-02 08:28:49 +08:00
Justin Lin
7c14a6339e all UPPER_RIGHT_WALL 2019-09-02 08:25:26 +08:00
Justin Lin
181602df7a update comment 2019-09-02 08:22:02 +08:00
Justin Lin
d50bc8d5a8 add pyramidal_maze 2019-09-02 08:15:19 +08:00
Justin Lin
3a4f168835 refactor 2019-09-01 20:25:03 +08:00
Justin Lin
daefe1e8d1 change value 2019-09-01 20:20:08 +08:00
Justin Lin
d5b232cdb5 refactor 2019-09-01 20:19:38 +08:00
Justin Lin
c4372b13c8 rename 2019-09-01 20:03:51 +08:00
Justin Lin
db6adbb195 rename 2019-09-01 20:03:26 +08:00
Justin Lin
aa7be463f8 rename 2019-09-01 20:03:03 +08:00
Justin Lin
c7e00eaed5 del 2019-09-01 18:23:01 +08:00
Justin Lin
22d2cfa413 use square_maze 2019-09-01 18:20:41 +08:00
Justin Lin
ec399f3926 extract maze 2019-09-01 18:20:04 +08:00
Justin Lin
4708f039fc hex_maze_stereographic_projection 2019-09-01 11:58:44 +08:00
Justin Lin
60ba1b8ae1 extract maze 2019-09-01 11:58:10 +08:00
Justin Lin
7088e1652a add stereographic_projection_maze 2019-09-01 11:45:06 +08:00
Justin Lin
0f78b248f6 move modules into regular_polygon_maze 2019-09-01 11:43:40 +08:00
Justin Lin
cc6b19984b add maze_regular_polygon_generator 2019-09-01 11:03:23 +08:00
Justin Lin
355d78da86 fix wrong img 2019-09-01 10:50:38 +08:00
Justin Lin
3d8b1dcab7 update README 2019-08-31 17:21:32 +08:00
Justin Lin
75a95fa8d9 update README 2019-08-31 17:19:58 +08:00
Justin Lin
f66c19945f move 2019-08-31 17:19:40 +08:00
Justin Lin
a06f4ad267 update example 2019-08-31 17:18:50 +08:00
Justin Lin
e32402649c add px_spiral_text 2019-08-31 16:32:24 +08:00
Justin Lin
76c7d15179 update README 2019-08-29 08:47:40 +08:00
Justin Lin
132fa734e9 update dotSCAD all 2019-08-29 08:41:29 +08:00
Justin Lin
606fd3310c add module 2019-08-29 08:39:30 +08:00
Justin Lin
8700b0527c add comment 2019-08-29 08:38:45 +08:00
Justin Lin
6398003513 add doc 2019-08-29 08:38:07 +08:00
Justin Lin
e91c1b24ad add leopard_cat_taiwan 2019-08-29 07:51:27 +08:00
Justin Lin
2a207bf709 update example 2019-08-27 08:36:10 +08:00
Justin Lin
86a7f9bb9d change default value 2019-08-27 07:32:07 +08:00
Justin Lin
a900d5bf3b rename 2019-08-26 20:35:07 +08:00
Justin Lin
a226e0a625 add normalize parameter 2019-08-26 08:05:49 +08:00
Justin Lin
d692f700f7 update example 2019-08-26 07:36:17 +08:00
Justin Lin
e3e5d91ea9 add example 2019-08-25 20:48:47 +08:00
Justin Lin
108450b029 change levels format 2019-08-25 19:50:17 +08:00
Justin Lin
00f1b3a63d change binaries format 2019-08-25 18:13:36 +08:00
Justin Lin
993bd617aa fix end cond 2019-08-25 18:12:59 +08:00
Justin Lin
4dc5fdd1d9 update doc 2019-08-25 17:58:58 +08:00
Justin Lin
d98c3ee6f6 update doc 2019-08-25 17:57:59 +08:00
Justin Lin
6c570ef757 size is not necessary 2019-08-25 17:56:34 +08:00
Justin Lin
1af801f54a add px_gray 2019-08-25 15:44:14 +08:00
Justin Lin
b72ae73c2e based on idx 2019-08-25 08:30:56 +08:00
Justin Lin
b144df1db1 add comment 2019-08-24 15:59:34 +08:00
Justin Lin
dde70b656c add doc 2019-08-24 15:56:29 +08:00
Justin Lin
5504ef1b89 update doc 2019-08-24 13:52:33 +08:00
Justin Lin
d246d4b8f8 rename 2019-08-24 10:42:35 +08:00
Justin Lin
65497a1bd2 update doc 2019-08-24 10:39:33 +08:00
Justin Lin
9927662c90 update doc 2019-08-24 10:38:32 +08:00
Justin Lin
1be303c2fe add comment 2019-08-24 10:36:58 +08:00
Justin Lin
a5a477f602 add doc 2019-08-24 10:35:16 +08:00
Justin Lin
801bc1afae update docs 2019-08-24 10:13:25 +08:00
Justin Lin
1c2e9b3293 fix name error 2019-08-24 08:58:10 +08:00
Justin Lin
a115f06e7c rename 2019-08-24 08:57:03 +08:00
Justin Lin
a9ee80d42f rename 2019-08-24 08:56:50 +08:00
Justin Lin
b673a41c4f rename 2019-08-24 08:56:27 +08:00
Justin Lin
40d71b3b3f rename 2019-08-24 08:56:15 +08:00
Justin Lin
9c4a783f02 add functions 2019-08-23 20:48:59 +08:00
Justin Lin
16e06de537 add 8x8char 2019-08-23 20:43:27 +08:00
Justin Lin
8655ab4df4 fix height bug 2019-08-23 11:11:35 +08:00
Justin Lin
38717abd1a allow different size 2019-08-23 08:40:18 +08:00
Justin Lin
9ec796696c fix end condition 2019-08-22 09:16:10 +08:00
Justin Lin
bbf6f7d5ca change order of points 2019-08-22 07:50:12 +08:00
Justin Lin
2db1b5fedc add bitmap 2019-08-21 21:03:53 +08:00
Justin Lin
ef7adbdbc0 refactor 2019-08-21 19:55:10 +08:00
Justin Lin
76f8debeb2 not necessary 2019-08-19 21:34:04 +08:00
Justin Lin
fd6fce1eae add .scad 2019-08-19 21:24:58 +08:00
Justin Lin
e83fa5f249 add packing circles 2019-08-18 10:03:38 +08:00
Justin Lin
db28df088b updata doc 2019-08-16 09:50:38 +08:00
Justin Lin
bf7a481011 add comment 2019-08-16 09:50:02 +08:00
Justin Lin
4754438be4 update comments 2019-08-16 09:49:18 +08:00
Justin Lin
fcb0d89a27 add doc 2019-08-16 09:45:06 +08:00
Justin Lin
a5039c8f5a add parameters 2019-08-11 11:37:24 +08:00
Justin Lin
99e68cfb31 use rands directly 2019-08-11 11:06:38 +08:00
Justin Lin
6bda7cc3fa add rand 2019-08-11 10:54:22 +08:00
Justin Lin
fd5cb7f54c add comment 2019-08-11 10:53:24 +08:00
Justin Lin
4916d30c08 Hypnotic squares 2019-08-11 10:45:32 +08:00
Justin Lin
ade18af430 add forest 2019-08-10 10:15:21 +08:00
Justin Lin
e9aa9f6c36 add tiled_lines 2019-08-10 09:50:06 +08:00
Justin Lin
e31a7b7883 fix wrong rotation 2019-08-09 21:25:43 +08:00
Justin Lin
f25c02a37d add doc 2019-08-07 21:07:31 +08:00
Justin Lin
d7c9a326cc ignore if knots is undef 2019-08-07 20:45:09 +08:00
Justin Lin
ee2e4d1c0e not necessary 2019-08-04 09:17:48 +08:00
Justin Lin
fa8a524c90 add euler_maze 2019-08-03 20:42:16 +08:00
Justin Lin
c718d58e15 added twist_bottle 2019-07-30 15:49:31 +08:00
Justin Lin
c71b612d01 add sierpinski_triangle 2019-07-29 20:46:06 +08:00
Justin Lin
c0c98c125e Checking parameters 2019-07-29 07:47:42 +08:00
Justin Lin
5dc3132fcf update doc 2019-07-28 18:24:48 +08:00
Justin Lin
2cde1a5bcb update doc 2019-07-28 18:24:18 +08:00
Justin Lin
aeda6fc34c remove temp var 2019-07-28 18:23:41 +08:00
Justin Lin
9940e18fff accept 2d points 2019-07-28 18:21:17 +08:00
Justin Lin
f400281c15 add bspline_curve 2019-07-28 17:22:34 +08:00
Justin Lin
749a9a95ae format 2019-07-27 18:19:31 +08:00
Justin Lin
f5b3024b09 add heart_chain 2019-07-27 16:53:47 +08:00
Justin Lin
8d9f6d5f9b refactor 2019-07-19 15:25:31 +08:00
Justin Lin
cc38eee4ed add chrome_dino 2019-07-18 17:27:23 +08:00
525 changed files with 14756 additions and 8703 deletions

217
README.md
View File

@@ -1,158 +1,163 @@
# dotSCAD 2.0
# dotSCAD 2.2.1
> **Reduce the burden of 3D modeling in mathematics.**
![dotSCAD](TaiwaneseBlackBear.JPG)
![dotSCAD](featured_img/LeopardCatTaiwan.JPG)
[![license/LGPL](https://img.shields.io/badge/license-LGPL-blue.svg)](https://github.com/JustinSDK/lib-openscad/blob/master/LICENSE)
[![license/LGPL](LICENSE.svg)](https://github.com/JustinSDK/lib-openscad/blob/master/LICENSE)
## Introduction
**dotSCAD 2.0 is based on OpenSCAD 2019.05.** For old versions, please use dotSCAD 1.3. You can download all versions from the [releases](https://github.com/JustinSDK/dotSCAD/releases).
**Based on OpenSCAD 2019.05.** For old OpenSCAD versions, please use dotSCAD 1.3. You can download all versions from the [releases](https://github.com/JustinSDK/dotSCAD/releases).
OpenSCAD uses three library locations, the installation library, built-in library, and user defined libraries. It's convenient to set `OPENSCADPATH`. Check [Setting OPENSCADPATH](https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Libraries#Setting_OPENSCADPATH) in [OpenSCAD User Manual/Libraries](https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Libraries) for details.
Every module or function is located in the file which has the same name as the module or the function. For example, if you want to use the `line2d` module to draw a line, `include <line2d.scad>;` first.
Every module or function is located in the file which has the same name as the module or the function. For example, if you want to use the `line2d` module to draw a line, `use <line2d.scad>;` first.
include <line2d.scad>;
use <line2d.scad>;
line2d(p1 = [0, 0], p2 = [5, 0], width = 1);
Some module files are organized in a directory. For example, px_circle.scad exists in `pixel` directory. You have to prefix the directory name when including `px_circle`.
include <pixel/px_circle.scad>;
use <pixel/px_circle.scad>;
points = px_circle(radius = 10);
for(pt = points) {
translate(pt) square(1);
}
## Dependencies
## Examples
Some modules depend on other modules. For example, the `polyline2d` module depends on the `line2d` module, so you also have to `include <line2d.scad>;` besides `include <polyline3d.scad>;`.
See [examples](examples).
include <line2d.scad>;
include <polyline3d.scad>;
polyline2d(points = [[1, 2], [-5, -4], [-5, 3], [5, 5]], width = 1);
If OpenSCAD generates "WARNING: Ignoring unknown xxx function" or "WARNING: Ignoring unknown xxx module" when using one module of dotSCAD. Just try to `include <xxx.scad>;` or `include <dir/xxx.scad>` if xxx.scad exists in `dir` directory.
Too many dependencies? Because OpenSCAD doesn't provide namespace management, I personally think that exposing dependencies is better than hiding them. In this way, users can have their own way to manage dependencies. How to categorize dependencies is up to you. For example, you can include your commonly-used modules and functions in "commonly_used.scad" and then `include <commonly_used.scad>;` in the ".scad" file of your project.
**If you really don't want to care about dependencies, `include <dotSCAD.scad>;` or `use <dotSCAD.scad>;` come to save you.**
![examples](examples/images/gallery.JPG)
## Documentation
- 2D
- [arc](https://openhome.cc/eGossip/OpenSCAD/lib-arc.html)
- [pie](https://openhome.cc/eGossip/OpenSCAD/lib-pie.html)
- [rounded_square](https://openhome.cc/eGossip/OpenSCAD/lib-rounded_square.html)
- [line2d](https://openhome.cc/eGossip/OpenSCAD/lib-line2d.html)
- [polyline2d](https://openhome.cc/eGossip/OpenSCAD/lib-polyline2d.html)
- [hull_polyline2d](https://openhome.cc/eGossip/OpenSCAD/lib-hull_polyline2d.html)
- [hexagons](https://openhome.cc/eGossip/OpenSCAD/lib-hexagons.html)
- [polytransversals](https://openhome.cc/eGossip/OpenSCAD/lib-polytransversals.html)
- [multi_line_text](https://openhome.cc/eGossip/OpenSCAD/lib-multi_line_text.html)
- [voronoi2d](https://openhome.cc/eGossip/OpenSCAD/lib-voronoi2d.html)
- [arc](https://openhome.cc/eGossip/OpenSCAD/lib2x-arc.html)
- [pie](https://openhome.cc/eGossip/OpenSCAD/lib2x-pie.html)
- [rounded_square](https://openhome.cc/eGossip/OpenSCAD/lib2x-rounded_square.html)
- [line2d](https://openhome.cc/eGossip/OpenSCAD/lib2x-line2d.html)
- [polyline2d](https://openhome.cc/eGossip/OpenSCAD/lib2x-polyline2d.html)
- [hull_polyline2d](https://openhome.cc/eGossip/OpenSCAD/lib2x-hull_polyline2d.html)
- [hexagons](https://openhome.cc/eGossip/OpenSCAD/lib2x-hexagons.html)
- [polytransversals](https://openhome.cc/eGossip/OpenSCAD/lib2x-polytransversals.html)
- [multi_line_text](https://openhome.cc/eGossip/OpenSCAD/lib2x-multi_line_text.html)
- [voronoi2d](https://openhome.cc/eGossip/OpenSCAD/lib2x-voronoi2d.html)
- 3D
- [rounded_cube](https://openhome.cc/eGossip/OpenSCAD/lib-rounded_cube.html)
- [rounded_cylinder](https://openhome.cc/eGossip/OpenSCAD/lib-rounded_cylinder.html)
- [crystal_ball](https://openhome.cc/eGossip/OpenSCAD/lib-crystal_ball.html)
- [line3d](https://openhome.cc/eGossip/OpenSCAD/lib-line3d.html)
- [polyline3d](https://openhome.cc/eGossip/OpenSCAD/lib-polyline3d.html)
- [hull_polyline3d](https://openhome.cc/eGossip/OpenSCAD/lib-hull_polyline3d.html)
- [function_grapher](https://openhome.cc/eGossip/OpenSCAD/lib-function_grapher.html)
- [polysections](https://openhome.cc/eGossip/OpenSCAD/lib-polysections.html)
- [starburst](https://openhome.cc/eGossip/OpenSCAD/lib-starburst.html)
- [voronoi3d](https://openhome.cc/eGossip/OpenSCAD/lib-voronoi3d.html)
- [rounded_cube](https://openhome.cc/eGossip/OpenSCAD/lib2x-rounded_cube.html)
- [rounded_cylinder](https://openhome.cc/eGossip/OpenSCAD/lib2x-rounded_cylinder.html)
- [crystal_ball](https://openhome.cc/eGossip/OpenSCAD/lib2x-crystal_ball.html)
- [line3d](https://openhome.cc/eGossip/OpenSCAD/lib2x-line3d.html)
- [polyline3d](https://openhome.cc/eGossip/OpenSCAD/lib2x-polyline3d.html)
- [hull_polyline3d](https://openhome.cc/eGossip/OpenSCAD/lib2x-hull_polyline3d.html)
- [function_grapher](https://openhome.cc/eGossip/OpenSCAD/lib2x-function_grapher.html)
- [polysections](https://openhome.cc/eGossip/OpenSCAD/lib2x-polysections.html)
- [starburst](https://openhome.cc/eGossip/OpenSCAD/lib2x-starburst.html)
- [voronoi3d](https://openhome.cc/eGossip/OpenSCAD/lib2x-voronoi3d.html)
- Transformation
- [along_with](https://openhome.cc/eGossip/OpenSCAD/lib-along_with.html)
- [hollow_out](https://openhome.cc/eGossip/OpenSCAD/lib-hollow_out.html)
- [bend](https://openhome.cc/eGossip/OpenSCAD/lib-bend.html)
- [shear](https://openhome.cc/eGossip/OpenSCAD/lib-shear.html)
- [along_with](https://openhome.cc/eGossip/OpenSCAD/lib2x-along_with.html)
- [hollow_out](https://openhome.cc/eGossip/OpenSCAD/lib2x-hollow_out.html)
- [bend](https://openhome.cc/eGossip/OpenSCAD/lib2x-bend.html)
- [shear](https://openhome.cc/eGossip/OpenSCAD/lib2x-shear.html)
- Functon
- [rotate_p](https://openhome.cc/eGossip/OpenSCAD/lib-rotate_p.html)
- [cross_sections](https://openhome.cc/eGossip/OpenSCAD/lib-cross_sections.html)
- [paths2sections](https://openhome.cc/eGossip/OpenSCAD/lib-paths2sections.html)
- [path_scaling_sections](https://openhome.cc/eGossip/OpenSCAD/lib2-path_scaling_sections.html)
- [bijection_offset](https://openhome.cc/eGossip/OpenSCAD/lib-bijection_offset.html)
- [in_polyline](https://openhome.cc/eGossip/OpenSCAD/lib-in_polyline.html)
- [in_shape](https://openhome.cc/eGossip/OpenSCAD/lib-in_shape.html)
- [midpt_smooth](https://openhome.cc/eGossip/OpenSCAD/lib-midpt_smooth.html)
- [trim_shape](https://openhome.cc/eGossip/OpenSCAD/lib-trim_shape.html)
- [triangulate](https://openhome.cc/eGossip/OpenSCAD/lib-triangulate.html)
- [rotate_p](https://openhome.cc/eGossip/OpenSCAD/lib2x-rotate_p.html)
- [cross_sections](https://openhome.cc/eGossip/OpenSCAD/lib2x-cross_sections.html)
- [paths2sections](https://openhome.cc/eGossip/OpenSCAD/lib2x-paths2sections.html)
- [path_scaling_sections](https://openhome.cc/eGossip/OpenSCAD/lib2x-path_scaling_sections.html)
- [bijection_offset](https://openhome.cc/eGossip/OpenSCAD/lib2x-bijection_offset.html)
- [in_polyline](https://openhome.cc/eGossip/OpenSCAD/lib2x-in_polyline.html)
- [in_shape](https://openhome.cc/eGossip/OpenSCAD/lib2x-in_shape.html)
- [midpt_smooth](https://openhome.cc/eGossip/OpenSCAD/lib2x-midpt_smooth.html)
- [trim_shape](https://openhome.cc/eGossip/OpenSCAD/lib2x-trim_shape.html)
- [triangulate](https://openhome.cc/eGossip/OpenSCAD/lib2x-triangulate.html)
- Path
- [arc_path](https://openhome.cc/eGossip/OpenSCAD/lib-arc_path.html)
- [circle_path](https://openhome.cc/eGossip/OpenSCAD/lib-circle_path.html)
- [bezier_curve](https://openhome.cc/eGossip/OpenSCAD/lib-bezier_curve.html)
- [bezier_surface](https://openhome.cc/eGossip/OpenSCAD/lib-bezier_surface.html)
- [bezier_smooth](https://openhome.cc/eGossip/OpenSCAD/lib-bezier_smooth.html)
- [helix](https://openhome.cc/eGossip/OpenSCAD/lib-helix.html)
- [golden_spiral](https://openhome.cc/eGossip/OpenSCAD/lib-golden_spiral.html)
- [archimedean_spiral](https://openhome.cc/eGossip/OpenSCAD/lib-archimedean_spiral.html)
- [sphere_spiral](https://openhome.cc/eGossip/OpenSCAD/lib-sphere_spiral.html)
- [torus_knot](https://openhome.cc/eGossip/OpenSCAD/lib-torus_knot.html)
- [arc_path](https://openhome.cc/eGossip/OpenSCAD/lib2x-arc_path.html)
- [circle_path](https://openhome.cc/eGossip/OpenSCAD/lib2x-circle_path.html)
- [bspline_curve](https://openhome.cc/eGossip/OpenSCAD/lib2x-bspline_curve.html)
- [bezier_curve](https://openhome.cc/eGossip/OpenSCAD/lib2x-bezier_curve.html)
- [bezier_surface](https://openhome.cc/eGossip/OpenSCAD/lib2x-bezier_surface.html)
- [bezier_smooth](https://openhome.cc/eGossip/OpenSCAD/lib2x-bezier_smooth.html)
- [helix](https://openhome.cc/eGossip/OpenSCAD/lib2x-helix.html)
- [golden_spiral](https://openhome.cc/eGossip/OpenSCAD/lib2x-golden_spiral.html)
- [archimedean_spiral](https://openhome.cc/eGossip/OpenSCAD/lib2x-archimedean_spiral.html)
- [sphere_spiral](https://openhome.cc/eGossip/OpenSCAD/lib2x-sphere_spiral.html)
- [torus_knot](https://openhome.cc/eGossip/OpenSCAD/lib2x-torus_knot.html)
- Extrusion
- [box_extrude](https://openhome.cc/eGossip/OpenSCAD/lib-box_extrude.html)
- [ellipse_extrude](https://openhome.cc/eGossip/OpenSCAD/lib-ellipse_extrude.html)
- [stereographic_extrude](https://openhome.cc/eGossip/OpenSCAD/lib-stereographic_extrude.html)
- [rounded_extrude](https://openhome.cc/eGossip/OpenSCAD/lib-rounded_extrude.html)
- [box_extrude](https://openhome.cc/eGossip/OpenSCAD/lib2x-box_extrude.html)
- [ellipse_extrude](https://openhome.cc/eGossip/OpenSCAD/lib2x-ellipse_extrude.html)
- [stereographic_extrude](https://openhome.cc/eGossip/OpenSCAD/lib2x-stereographic_extrude.html)
- [rounded_extrude](https://openhome.cc/eGossip/OpenSCAD/lib2x-rounded_extrude.html)
- [bend_extrude](https://openhome.cc/eGossip/OpenSCAD/lib2x-bend_extrude.html)
- 2D Shape
- [shape_taiwan](https://openhome.cc/eGossip/OpenSCAD/lib-shape_taiwan.html)
- [shape_arc](https://openhome.cc/eGossip/OpenSCAD/lib-shape_arc.html)
- [shape_pie](https://openhome.cc/eGossip/OpenSCAD/lib-shape_pie.html)
- [shape_ellipse](https://openhome.cc/eGossip/OpenSCAD/lib-shape_ellipse.html)
- [shape_square](https://openhome.cc/eGossip/OpenSCAD/lib-shape_square.html)
- [shape_trapezium](https://openhome.cc/eGossip/OpenSCAD/lib-shape_trapezium.html)
- [shape_cyclicpolygon](https://openhome.cc/eGossip/OpenSCAD/lib-shape_cyclicpolygon.html)
- [shape_pentagram](https://openhome.cc/eGossip/OpenSCAD/lib-shape_pentagram.html)
- [shape_starburst](https://openhome.cc/eGossip/OpenSCAD/lib-shape_starburst.html)
- [shape_superformula](https://openhome.cc/eGossip/OpenSCAD/lib-shape_superformula.html)
- [shape_glued2circles](https://openhome.cc/eGossip/OpenSCAD/lib-shape_glued2circles.html)
- [shape_path_extend](https://openhome.cc/eGossip/OpenSCAD/lib-shape_path_extend.html)
- [shape_taiwan](https://openhome.cc/eGossip/OpenSCAD/lib2x-shape_taiwan.html)
- [shape_arc](https://openhome.cc/eGossip/OpenSCAD/lib2x-shape_arc.html)
- [shape_pie](https://openhome.cc/eGossip/OpenSCAD/lib2x-shape_pie.html)
- [shape_ellipse](https://openhome.cc/eGossip/OpenSCAD/lib2x-shape_ellipse.html)
- [shape_square](https://openhome.cc/eGossip/OpenSCAD/lib2x-shape_square.html)
- [shape_trapezium](https://openhome.cc/eGossip/OpenSCAD/lib2x-shape_trapezium.html)
- [shape_cyclicpolygon](https://openhome.cc/eGossip/OpenSCAD/lib2x-shape_cyclicpolygon.html)
- [shape_pentagram](https://openhome.cc/eGossip/OpenSCAD/lib2x-shape_pentagram.html)
- [shape_starburst](https://openhome.cc/eGossip/OpenSCAD/lib2x-shape_starburst.html)
- [shape_superformula](https://openhome.cc/eGossip/OpenSCAD/lib2x-shape_superformula.html)
- [shape_glued2circles](https://openhome.cc/eGossip/OpenSCAD/lib2x-shape_glued2circles.html)
- [shape_path_extend](https://openhome.cc/eGossip/OpenSCAD/lib2x-shape_path_extend.html)
- 2D Shape Extrusion
- [bend_extrude](https://openhome.cc/eGossip/OpenSCAD/lib-bend_extrude.html)
- [path_extrude](https://openhome.cc/eGossip/OpenSCAD/lib-path_extrude.html)
- [ring_extrude](https://openhome.cc/eGossip/OpenSCAD/lib-ring_extrude.html)
- [helix_extrude](https://openhome.cc/eGossip/OpenSCAD/lib-helix_extrude.html)
- [golden_spiral_extrude](https://openhome.cc/eGossip/OpenSCAD/lib-golden_spiral_extrude.html)
- [archimedean_spiral_extrude](https://openhome.cc/eGossip/OpenSCAD/lib-archimedean_spiral_extrude.html)
- [sphere_spiral_extrude](https://openhome.cc/eGossip/OpenSCAD/lib-sphere_spiral_extrude.html)
- [path_extrude](https://openhome.cc/eGossip/OpenSCAD/lib2x-path_extrude.html)
- [ring_extrude](https://openhome.cc/eGossip/OpenSCAD/lib2x-ring_extrude.html)
- [helix_extrude](https://openhome.cc/eGossip/OpenSCAD/lib2x-helix_extrude.html)
- [golden_spiral_extrude](https://openhome.cc/eGossip/OpenSCAD/lib2x-golden_spiral_extrude.html)
- [archimedean_spiral_extrude](https://openhome.cc/eGossip/OpenSCAD/lib2x-archimedean_spiral_extrude.html)
- [sphere_spiral_extrude](https://openhome.cc/eGossip/OpenSCAD/lib2x-sphere_spiral_extrude.html)
- Utilities
- [util/sub_str](https://openhome.cc/eGossip/OpenSCAD/lib2-sub_str.html)
- [util/split_str](https://openhome.cc/eGossip/OpenSCAD/lib2-split_str.html)
- [util/parse_number](https://openhome.cc/eGossip/OpenSCAD/lib2-parse_number.html)
- [util/reverse](https://openhome.cc/eGossip/OpenSCAD/lib2-reverse.html)
- [util/slice](https://openhome.cc/eGossip/OpenSCAD/lib2-slice.html)
- [util/sort](https://openhome.cc/eGossip/OpenSCAD/lib2-sort.html)
- [util/sub_str](https://openhome.cc/eGossip/OpenSCAD/lib2x-sub_str.html)
- [util/split_str](https://openhome.cc/eGossip/OpenSCAD/lib2x-split_str.html)
- [util/parse_number](https://openhome.cc/eGossip/OpenSCAD/lib2x-parse_number.html)
- [util/reverse](https://openhome.cc/eGossip/OpenSCAD/lib2x-reverse.html)
- [util/slice](https://openhome.cc/eGossip/OpenSCAD/lib2x-slice.html)
- [util/sort](https://openhome.cc/eGossip/OpenSCAD/lib2x-sort.html)
- [util/rand](https://openhome.cc/eGossip/OpenSCAD/lib2x-rand.html)
- [util/fibseq](https://openhome.cc/eGossip/OpenSCAD/lib2x-fibseq.html)
- Matrix
- [matrix/m_cumulate](https://openhome.cc/eGossip/OpenSCAD/lib2-m_cumulate.html)
- [matrix/m_translation](https://openhome.cc/eGossip/OpenSCAD/lib2-m_translation.html)
- [matrix/m_rotation](https://openhome.cc/eGossip/OpenSCAD/lib2-m_rotation.html)
- [matrix/m_scaling](https://openhome.cc/eGossip/OpenSCAD/lib2-m_scaling.html)
- [matrix/m_mirror](https://openhome.cc/eGossip/OpenSCAD/lib2-m_mirror.html)
- [matrix/m_shearing](https://openhome.cc/eGossip/OpenSCAD/lib2-m_shearing.html)
- [matrix/m_cumulate](https://openhome.cc/eGossip/OpenSCAD/lib2x-m_cumulate.html)
- [matrix/m_translation](https://openhome.cc/eGossip/OpenSCAD/lib2x-m_translation.html)
- [matrix/m_rotation](https://openhome.cc/eGossip/OpenSCAD/lib2x-m_rotation.html)
- [matrix/m_scaling](https://openhome.cc/eGossip/OpenSCAD/lib2x-m_scaling.html)
- [matrix/m_mirror](https://openhome.cc/eGossip/OpenSCAD/lib2x-m_mirror.html)
- [matrix/m_shearing](https://openhome.cc/eGossip/OpenSCAD/lib2x-m_shearing.html)
- Turtle
- [turtle/turtle2d](https://openhome.cc/eGossip/OpenSCAD/lib2-turtle2d.html)
- [turtle/turtle3d](https://openhome.cc/eGossip/OpenSCAD/lib2-turtle3d.html)
- [turtle/turtle2d](https://openhome.cc/eGossip/OpenSCAD/lib2x-turtle2d.html)
- [turtle/turtle3d](https://openhome.cc/eGossip/OpenSCAD/lib2x-turtle3d.html)
- [turtle/t2d](https://openhome.cc/eGossip/OpenSCAD/lib2x-t2d.html)
- [turtle/t3d](https://openhome.cc/eGossip/OpenSCAD/lib2x-t3d.html)
- Pixel
- [pixel/px_line](https://openhome.cc/eGossip/OpenSCAD/lib2-px_line.html)
- [pixel/px_polyline](https://openhome.cc/eGossip/OpenSCAD/lib2-px_polyline.html)
- [pixel/px_circle](https://openhome.cc/eGossip/OpenSCAD/lib2-px_circle.html)
- [pixel/px_cylinder](https://openhome.cc/eGossip/OpenSCAD/lib2-px_cylinder.html)
- [pixel/px_sphere](https://openhome.cc/eGossip/OpenSCAD/lib2-px_sphere.html)
- [pixel/px_polygon](https://openhome.cc/eGossip/OpenSCAD/lib2-px_polygon.html)
- [pixel/px_line](https://openhome.cc/eGossip/OpenSCAD/lib2x-px_line.html)
- [pixel/px_polyline](https://openhome.cc/eGossip/OpenSCAD/lib2x-px_polyline.html)
- [pixel/px_circle](https://openhome.cc/eGossip/OpenSCAD/lib2x-px_circle.html)
- [pixel/px_cylinder](https://openhome.cc/eGossip/OpenSCAD/lib2x-px_cylinder.html)
- [pixel/px_sphere](https://openhome.cc/eGossip/OpenSCAD/lib2x-px_sphere.html)
- [pixel/px_polygon](https://openhome.cc/eGossip/OpenSCAD/lib2x-px_polygon.html)
- [pixel/px_from](https://openhome.cc/eGossip/OpenSCAD/lib2x-px_from.html)
- [pixel/px_ascii](https://openhome.cc/eGossip/OpenSCAD/lib2x-px_ascii.html)
- [pixel/px_gray](https://openhome.cc/eGossip/OpenSCAD/lib2x-px_gray.html)
- Part
- [part/connector_peg](https://openhome.cc/eGossip/OpenSCAD/lib2x-connector_peg.html)
- [part/cone](https://openhome.cc/eGossip/OpenSCAD/lib2x-cone.html)
- [part/joint_T](https://openhome.cc/eGossip/OpenSCAD/lib2-joint_T.html)
## Bugs and Feedback

View File

@@ -1,5 +1,38 @@
> Version numbers are based on [Semantic Versioning](https://semver.org/).
# v2.2.1
Bugfixes:
- `util/sort`: z not sorted.
Improvements:
- Faster when the `style` of `function_grapher` is `"LINES"` or `"HULL_LINES"`.
- Dedup pixels of `pixel/px_polyline`, `pixel/px_circle`, `pixel/px_cylinder`, `pixel/px_sphere`, `pixel/px_polygon`.
# v2.2
- Bugfixes
- `util/sort`: fix "search term not found" warning when `by` is `"idx"`.
- Better dependency management. Just `use` modules you want. Existing scripts are not required to do any change.
# v2.1
- Bugfixes
- `bend_extrude`: fix wrong rotation.
- `bijection_offset`: fix point order.
- New parameters.
- `box_extrude`: new `twist` parameter.
- `crystall_ball`: new `thickness` parameter.
- New modules and functions.
- [bspline_curve](https://openhome.cc/eGossip/OpenSCAD/lib2-bspline_curve.html)
- [util/rand](https://openhome.cc/eGossip/OpenSCAD/lib2-rand.html)
- [util/fibseq](https://openhome.cc/eGossip/OpenSCAD/lib2-fibseq.html)
- [pixel/px_from](https://openhome.cc/eGossip/OpenSCAD/lib2-px_from.html)
- [pixel/px_ascii](https://openhome.cc/eGossip/OpenSCAD/lib2-px_ascii.html)
- [pixel/px_gray](https://openhome.cc/eGossip/OpenSCAD/lib2-px_gray.html)
- [part/connector_peg](https://openhome.cc/eGossip/OpenSCAD/lib2-connector_peg.html)
- [part/cone](https://openhome.cc/eGossip/OpenSCAD/lib2-cone.html)
- [part/joint_T](https://openhome.cc/eGossip/OpenSCAD/lib2-joint_T.html)
- [turtle/t2d](https://openhome.cc/eGossip/OpenSCAD/lib2-t2d.html)
- [turtle/t3d](https://openhome.cc/eGossip/OpenSCAD/lib2-t3d.html)
# v2.0
- Use new features of OpenSCAD-2019.05 to refactor internal implementation.
- Delete the `log` module which is never used.

View File

@@ -1,114 +0,0 @@
include <along_with.scad>;
include <arc.scad>;
include <arc_path.scad>;
include <archimedean_spiral.scad>;
include <archimedean_spiral_extrude.scad>;
include <bend.scad>;
include <bend_extrude.scad>;
include <bezier_curve.scad>;
include <bezier_smooth.scad>;
include <bezier_surface.scad>;
include <bijection_offset.scad>;
include <box_extrude.scad>;
include <circle_path.scad>;
include <cross_sections.scad>;
include <crystal_ball.scad>;
include <ellipse_extrude.scad>;
include <function_grapher.scad>;
include <golden_spiral.scad>;
include <golden_spiral_extrude.scad>;
include <helix.scad>;
include <helix_extrude.scad>;
include <hexagons.scad>;
include <hollow_out.scad>;
include <hull_polyline2d.scad>;
include <hull_polyline3d.scad>;
include <in_polyline.scad>;
include <in_shape.scad>;
include <line2d.scad>;
include <line3d.scad>;
<<<<<<< HEAD
include <log.scad>;
include <m_cumulate.scad>;
include <m_mirror.scad>;
include <m_rotation.scad>;
include <m_scaling.scad>;
include <m_shearing.scad>;
include <m_translation.scad>;
include <midpt_smooth.scad>;
include <multi_line_text.scad>;
include <parse_number.scad>;
=======
include <midpt_smooth.scad>;
include <multi_line_text.scad>;
>>>>>>> v2
include <path_extrude.scad>;
include <path_scaling_sections.scad>;
include <paths2sections.scad>;
include <pie.scad>;
include <polyline2d.scad>;
include <polyline3d.scad>;
include <polysections.scad>;
include <polytransversals.scad>;
include <ring_extrude.scad>;
include <rotate_p.scad>;
include <rounded_cube.scad>;
include <rounded_cylinder.scad>;
include <rounded_extrude.scad>;
include <rounded_square.scad>;
include <shape_arc.scad>;
include <shape_cyclicpolygon.scad>;
include <shape_ellipse.scad>;
include <shape_glued2circles.scad>;
include <shape_path_extend.scad>;
include <shape_pentagram.scad>;
include <shape_pie.scad>;
include <shape_square.scad>;
include <shape_starburst.scad>;
include <shape_superformula.scad>;
include <shape_taiwan.scad>;
include <shape_trapezium.scad>;
include <shear.scad>;
include <sphere_spiral.scad>;
include <sphere_spiral_extrude.scad>;
<<<<<<< HEAD
include <split_str.scad>;
include <starburst.scad>;
include <stereographic_extrude.scad>;
include <sub_str.scad>;
include <torus_knot.scad>;
include <triangulate.scad>;
include <trim_shape.scad>;
include <turtle2d.scad>;
include <turtle3d.scad>;
include <voronoi2d.scad>;
include <voronoi3d.scad>;
=======
include <starburst.scad>;
include <stereographic_extrude.scad>;
include <torus_knot.scad>;
include <triangulate.scad>;
include <trim_shape.scad>;
include <voronoi2d.scad>;
include <voronoi3d.scad>;
include <util/parse_number.scad>;
include <util/split_str.scad>;
include <util/sub_str.scad>;
include <util/reverse.scad>;
include <util/slice.scad>;
include <util/sort.scad>;
include <matrix/m_cumulate.scad>;
include <matrix/m_mirror.scad>;
include <matrix/m_rotation.scad>;
include <matrix/m_scaling.scad>;
include <matrix/m_shearing.scad>;
include <matrix/m_translation.scad>;
include <turtle/turtle2d.scad>;
include <turtle/turtle3d.scad>;
include <pixel/px_line.scad>;
include <pixel/px_polyline.scad>;
include <pixel/px_circle.scad>;
include <pixel/px_cylinder.scad>;
include <pixel/px_sphere.scad>;
include <pixel/px_polygon.scad>;
>>>>>>> v2

BIN
docs/images/caterpillar.JPG Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

BIN
docs/images/lib2-cone-1.JPG Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

BIN
docs/images/lib2-cone-2.JPG Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

BIN
docs/images/lib2-cone-3.JPG Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 155 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

BIN
docs/images/lib2-t2d-1.JPG Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

BIN
docs/images/lib2-t2d-2.JPG Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

BIN
docs/images/lib2-t3d-1.JPG Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

BIN
docs/images/lib2-t3d-2.JPG Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

View File

@@ -1,23 +0,0 @@
# m_mirror
Generate a 4x4 transformation matrix which can pass into `multmatrix` to mirror the child element on a plane through the origin.
**Since:** 1.1
## Parameters
- `v` : The normal vector of a plane intersecting the origin through which to mirror the object.
## Examples
include <m_mirror.scad>;
rotate([0, 0, 10])
cube([3, 2, 1]);
multmatrix(m_mirror([1, 1, 0]))
rotate([0, 0, 10])
cube([3, 2, 1]);
![m_mirror](images/lib-m_mirror-1.JPG)

View File

@@ -12,8 +12,8 @@ Puts children along the given path. If there's only one child, it will put the c
## Examples
include <along_with.scad>;
include <circle_path.scad>;
use <along_with.scad>;
use <circle_path.scad>;
$fn = 24;
@@ -24,8 +24,8 @@ Puts children along the given path. If there's only one child, it will put the c
![along_with](images/lib-along_with-1.JPG)
include <along_with.scad>;
include <circle_path.scad>;
use <along_with.scad>;
use <circle_path.scad>;
$fn = 24;
@@ -44,10 +44,8 @@ Puts children along the given path. If there's only one child, it will put the c
![along_with](images/lib-along_with-2.JPG)
include <along_with.scad>;
include <circle_path.scad>;
include <rotate_p.scad>;
include <golden_spiral.scad>;
use <along_with.scad>;
use <golden_spiral.scad>;
pts_angles = golden_spiral(
from = 5,
@@ -65,8 +63,8 @@ Puts children along the given path. If there's only one child, it will put the c
![along_with](images/lib-along_with-3.JPG)
include <bezier_curve.scad>;
include <along_with.scad>;
use <bezier_curve.scad>;
use <along_with.scad>;
module scales() {
module one_scale() {

View File

@@ -13,7 +13,7 @@ Creates an arc. You can pass a 2 element vector to define the central angle. Its
## Examples
include <arc.scad>;
use <arc.scad>;
$fn = 24;
arc(radius = 20, angle = [45, 290], width = 2);
@@ -21,7 +21,7 @@ Creates an arc. You can pass a 2 element vector to define the central angle. Its
![arc](images/lib-arc-1.JPG)
include <arc.scad>;
use <arc.scad>;
$fn = 24;
arc(radius = 20, angle = [45, 290], width = 2, width_mode = "LINE_OUTWARD");
@@ -29,7 +29,7 @@ Creates an arc. You can pass a 2 element vector to define the central angle. Its
![arc](images/lib-arc-2.JPG)
include <arc.scad>;
use <arc.scad>;
$fn = 24;
arc(radius = 20, angle = [45, 290], width = 2, width_mode = "LINE_INWARD");

View File

@@ -11,8 +11,8 @@ Creates an arc path. You can pass a 2 element vector to define the central angle
## Examples
include <arc_path.scad>;
include <hull_polyline2d.scad>;
use <arc_path.scad>;
use <hull_polyline2d.scad>;
$fn = 24;
points = arc_path(radius = 20, angle = [45, 290]);
@@ -20,8 +20,8 @@ Creates an arc path. You can pass a 2 element vector to define the central angle
![arc_path](images/lib-arc_path-1.JPG)
include <arc_path.scad>;
include <hull_polyline2d.scad>;
use <arc_path.scad>;
use <hull_polyline2d.scad>;
$fn = 24;
points = arc_path(radius = 20, angle = 135);

View File

@@ -16,9 +16,8 @@ An `init_angle` less than 180 degrees is not recommended because the function us
## Examples
include <line2d.scad>;
include <polyline2d.scad>;
include <archimedean_spiral.scad>;
use <polyline2d.scad>;
use <archimedean_spiral.scad>;
points_angles = archimedean_spiral(
arm_distance = 10,
@@ -31,10 +30,9 @@ An `init_angle` less than 180 degrees is not recommended because the function us
polyline2d(points, width = 1);
![archimedean_spiral](images/lib-archimedean_spiral-1.JPG)
include <archimedean_spiral.scad>;
use <archimedean_spiral.scad>;
points_angles = archimedean_spiral(
arm_distance = 10,

View File

@@ -2,23 +2,19 @@
Extrudes a 2D shape along the path of an archimedean spiral.
When using this module, you should use points to represent the 2D shape. If your 2D shape is not solid, indexes of triangles are required. See [polysections](https://openhome.cc/eGossip/OpenSCAD/lib-polysections.html) for details.
When using this module, you should use points to represent the 2D shape. If your 2D shape is not solid, indexes of triangles are required. See [polysections](https://openhome.cc/eGossip/OpenSCAD/lib2x-polysections.html) for details.
## Parameters
- `shape_pts` : A list of points represent a shape. See the example below.
- `arm_distance`, `init_angle`, `point_distance`, `num_of_points` and `rt_dir` : See [archimedean_spiral](https://openhome.cc/eGossip/OpenSCAD/lib-archimedean_spiral.html) for details.
- `arm_distance`, `init_angle`, `point_distance`, `num_of_points` and `rt_dir` : See [archimedean_spiral](https://openhome.cc/eGossip/OpenSCAD/lib2x-archimedean_spiral.html) for details.
- `twist` : The number of degrees of through which the shape is extruded.
- `scale` : Scales the 2D shape by this value over the length of the extrusion. Scale can be a scalar or a vector.
- `triangles` : `"SOLID"` (default), `"HOLLOW"` or user-defined indexes. See [polysections](https://openhome.cc/eGossip/OpenSCAD/lib-polysections.html) for details.
- `triangles` : `"SOLID"` (default), `"HOLLOW"` or user-defined indexes. See [polysections](https://openhome.cc/eGossip/OpenSCAD/lib2x-polysections.html) for details.
## Examples
include <archimedean_spiral.scad>;
include <rotate_p.scad>;
include <cross_sections.scad>;
include <polysections.scad>;
include <archimedean_spiral_extrude.scad>;
use <archimedean_spiral_extrude.scad>;
shape_pts = [
[5, 0],

View File

@@ -12,7 +12,7 @@ Bends a 3D object into an arc shape.
The containing cube of the target object should be laid down on the x-y plane. For example.
include <bend.scad>;
use <bend.scad>;
x = 9.25;
y = 9.55;
@@ -25,7 +25,7 @@ The containing cube of the target object should be laid down on the x-y plane. F
Once you have the size of the containing cube, you can use it as the `size` argument of the `bend` module.
include <bend.scad>;
use <bend.scad>;
x = 9.25;
y = 9.55;
@@ -40,7 +40,7 @@ Once you have the size of the containing cube, you can use it as the `size` argu
The arc shape is smoother if the `frags` value is larger.
include <bend.scad>;
use <bend.scad>;
x = 9.25;
y = 9.55;

View File

@@ -25,7 +25,7 @@ The containing square of the target shape should be laid down on the x-y plane.
Once you have the size of the containing square, you can use it as the `size` argument of the `bend_extrude` module.
include <bend_extrude.scad>;
use <bend_extrude.scad>;
x = 9.25;
y = 9.55;

View File

@@ -5,14 +5,14 @@ Given a set of control points, the `bezier_curve` function returns points of the
## Parameters
- `t_step` : The distance between two points of the Bézier path.
- `points` : A set of `[x, y, z]` control points.
- `points` : A list of `[x, y]` or `[x, y, z]` control points.
## Examples
If you have four control points and combine with the `hull_polyline3d` module:
include <hull_polyline3d.scad>;
include <bezier_curve.scad>;
use <hull_polyline3d.scad>;
use <bezier_curve.scad>;
t_step = 0.05;
width = 2;

View File

@@ -11,9 +11,8 @@ Given a path, the `bezier_smooth` function uses bazier curves to smooth all corn
## Examples
include <hull_polyline3d.scad>;
include <bezier_curve.scad>;
include <bezier_smooth.scad>;
use <hull_polyline3d.scad>;
use <bezier_smooth.scad>;
width = 2;
round_d = 15;
@@ -37,8 +36,7 @@ Given a path, the `bezier_smooth` function uses bazier curves to smooth all corn
![bezier_smooth](images/lib-bezier_smooth-1.JPG)
include <bezier_curve.scad>;
include <bezier_smooth.scad>;
use <bezier_smooth.scad>;
round_d = 10;

View File

@@ -11,9 +11,8 @@ Given a set of control points, the `bezier_surface` function returns points of t
If you have 16 control points and combine with the `function_grapher` module:
include <bezier_curve.scad>;
include <bezier_surface.scad>;
include <function_grapher.scad>;
use <bezier_surface.scad>;
use <function_grapher.scad>;
t_step = 0.05;
thickness = 0.5;

View File

@@ -12,7 +12,7 @@ Move 2D outlines outward or inward by a given amount. Each point of the offsette
## Examples
include <bijection_offset.scad>;
use <bijection_offset.scad>;
shape = [
[15, 0],
@@ -32,11 +32,9 @@ Move 2D outlines outward or inward by a given amount. Each point of the offsette
![bijection_offset](images/lib-bijection_offset-1.JPG)
include <bijection_offset.scad>;
include <rotate_p.scad>;
include <polysections.scad>;
include <path_extrude.scad>;
include <bezier_curve.scad>;
use <bijection_offset.scad>;
use <path_extrude.scad>;
use <bezier_curve.scad>;
shape = [
[5, 0],

View File

@@ -8,17 +8,18 @@ Creates a box (container) from a 2D object.
- `shell_thickness` : The thickness between the exterior and interior.
- `offset_mode` : `"delta"` (default) or `"r"`. See [offset](https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Transformations#offset) for details.
- `chamfer` : Default `false`. See [offset](https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Transformations#offset) for details.
- `twist`, `slices`, `scale`: The same as `linear_extrude`. **Since:** 2.1.
## Examples
include <box_extrude.scad>;
use <box_extrude.scad>;
box_extrude(height = 30, shell_thickness = 2)
circle(r = 30);
![box_extrude](images/lib-box_extrude-1.JPG)
include <box_extrude.scad>;
use <box_extrude.scad>;
box_extrude(height = 30, shell_thickness = 2)
text("XD", size = 40, font = "Cooper Black");

View File

@@ -0,0 +1,86 @@
# bspline_curve
[B-spline](https://en.wikipedia.org/wiki/B-spline) interpolation using [de Boor's algorithm](https://en.wikipedia.org/wiki/De_Boor%27s_algorithm). This function returns points of the B-spline path. Combined with the `polyline`, `polyline3d` or `hull_polyline3d` module, you can create a B-spline curve.
**Since:** 2.1
## Parameters
- `t_step` : The increment amount along the curve in the [0, 1] range.
- `degree` : The degree of B-spline. Must be less than or equal to `len(points) - 1`.
- `points` : A list of `[x, y]` or `[x, y, z]` control points.
- `knots` : The knot vector. It's a non-decreasing sequence with length `len(points) + degree + 1`. If not provided, a uniform knot vector is generated automatically.
- `weights` : The weights of control points. If not provided, the weight of each point is 1.
## Examples
use <bspline_curve.scad>;
points = [
[-10, 0],
[-5, 5],
[ 5, -5],
[ 10, 0]
];
color("red") for(p = points) {
translate(p)
sphere(0.5);
}
// knots: [0, 1, 2, 3, 4, 5, 6]
// weights: [1, 1, 1, 1]
for(p = bspline_curve(0.01, 2, points)) {
translate(p)
sphere(0.1);
}
![bspline_curve](images/lib2-bspline_curve-1.JPG)
use <bspline_curve.scad>;
points = [
[-10, 0],
[-5, 5],
[ 5, -5],
[ 10, 0]
];
// a non-uniform B-spline curve
knots = [0, 1/8, 1/4, 1/2, 3/4, 4/5, 1];
color("red") for(p = points) {
translate(p)
sphere(0.5);
}
for(p = bspline_curve(0.01, 2, points, knots)) {
translate(p)
sphere(0.1);
}
![bspline_curve](images/lib2-bspline_curve-2.JPG)
use <bspline_curve.scad>;
points = [
[-10, 0],
[-5, 5],
[ 5, -5],
[ 10, 0]
];
// For a clamped B-spline curve, the first `degree + 1` and the last `degree + 1` knots must be identical.
knots = [0, 0, 0, 1, 2, 2, 2];
color("red") for(p = points) {
translate(p)
sphere(0.5);
}
for(p = bspline_curve(0.01, 2, points, knots)) {
translate(p)
sphere(0.1);
}
![bspline_curve](images/lib2-bspline_curve-3.JPG)

View File

@@ -10,7 +10,7 @@ Sometimes you need all points on the path of a circle. Here's the function. Its
## Examples
include <circle_path.scad>;
use <circle_path.scad>;
$fn = 24;

67
docs/lib2x-cone.md Normal file
View File

@@ -0,0 +1,67 @@
# cone
Create a cone for rotatable models.
![cone](images/lib2-cone-1.JPG)
**Since:** 2.1
## Parameters
- `radius` : The radius of the cone.
- `length` : The length of the cone.
- `spacing` : The spacing between the cone and void component. Default to `0.5`.
- `angle` : The angle between the bottom and hypotenuse. Default to `50` degree.
- `void` : The void component for differencing. It's used to create a cavity for a cone. Default to `false`.
- `ends` : Default to `false`. To create a double-ended cone, set it to `true`.
## Examples
use <part/cone.scad>;
radius = 2.5;
length = 2;
spacing = 0.5;
$fn = 48;
cone(
radius = radius,
spacing = spacing,
length = 2
);
%cone(
radius = radius,
spacing = spacing,
length = 2,
void = true
);
![cone](images/lib2-cone-2.JPG)
use <part/cone.scad>;
radius = 2.5;
length = 2;
spacing = 0.5;
$fn = 48;
cone(
radius = radius,
spacing = spacing,
length = 2,
ends = true
);
%cone(
radius = radius,
spacing = spacing,
length = 2,
void = true,
ends = true
);
![cone](images/lib2-cone-3.JPG)

View File

@@ -0,0 +1,60 @@
# connector_peg
Create a connector peg.
![connector_peg](images/lib2-connector_peg-3.JPG)
**Since:** 2.1
## Parameters
- `radius` : The shaft radius of the peg.
- `height` : The height of the pag. Default to `2.5 * radius`.
- `spacing` : The spacing between the peg and void component. Default to `0.5`.
- `void` : The void component for differencing. It's used to create a cavity for a peg. Default to `false`.
- `ends` : Default to `false`. To create a double-ended peg, set it to `true`.
## Examples
use <part/connector_peg.scad>;
radius = 2.5;
spacing = 0.5;
$fn = 48;
connector_peg(
radius = radius,
spacing = spacing
);
%connector_peg(
radius = radius,
spacing = spacing,
void = true
);
![connector_peg](images/lib2-connector_peg-1.JPG)
use <part/connector_peg.scad>;
radius = 2.5;
spacing = 0.5;
$fn = 48;
connector_peg(
radius = radius,
spacing = spacing,
ends = true
);
%connector_peg(
radius = radius,
spacing = spacing,
ends = true,
void = true
);
![connector_peg](images/lib2-connector_peg-2.JPG)

View File

@@ -12,10 +12,9 @@ Given a 2D shape, points and angles along the path, this function will return al
## Examples
include <rotate_p.scad>;
include <polysections.scad>;
include <cross_sections.scad>;
include <archimedean_spiral.scad>;
use <polysections.scad>;
use <cross_sections.scad>;
use <archimedean_spiral.scad>;
shape_pts = [
[-2, -10],

View File

@@ -9,39 +9,37 @@ Uses spherical coordinate system to create a crystal ball.
- `radius` : The radial distance r.
- `theta` : The azimuthal angle. It defaults to 360. It also accepts a 2 element vector. The first element of the vector is the beginning angle in degrees, and the second element is the ending angle.
- `phi` : The polar angle. It defaults to 180. It also accepts a 2 element vector. The first element of the vector is the beginning angle in degrees, and the second element is the ending angle.
- `thickness` : The thickness of the ball. **Since:** 2.1.
- `$fa`, `$fs`, `$fn` : Check [the circle module](https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Using_the_2D_Subsystem#circle) or [the sphere module](https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Primitive_Solids#sphere) for more details. The final fragments will be a multiple of 4 to fit edges.
## Examples
include <rotate_p.scad>;
include <cross_sections.scad>;
include <polysections.scad>;
include <ring_extrude.scad>;
include <shape_pie.scad>;
include <crystal_ball.scad>;
use <crystal_ball.scad>;
crystal_ball(radius = 6);
translate([12, 0, 0])
crystal_ball(
radius = 6,
theta = 270,
$fn = 12
);
crystal_ball(
radius = 6,
theta = 270,
thickness = 1,
$fn = 12
);
translate([24, 0, 0])
crystal_ball(
radius = 6,
theta = 270,
phi = 90,
$fn = 12
);
crystal_ball(
radius = 6,
theta = 270,
phi = 90,
$fn = 12
);
translate([36, 0, 0])
crystal_ball(
radius = 6,
theta = [-30, 270],
phi = [30, 60]
);
crystal_ball(
radius = 6,
theta = [-30, 270],
phi = [30, 60],
thickness = 2
);
![crystal_ball](images/lib-crystal_ball-1.JPG)

View File

@@ -10,7 +10,7 @@ Extrudes a 2D object along the path of an ellipse from 0 to 180 degrees. The sem
## Examples
include <ellipse_extrude.scad>;
use <ellipse_extrude.scad>;
semi_minor_axis = 5;
@@ -19,7 +19,7 @@ Extrudes a 2D object along the path of an ellipse from 0 to 180 degrees. The sem
![ellipse_extrude](images/lib-ellipse_extrude-1.JPG)
include <ellipse_extrude.scad>;
use <ellipse_extrude.scad>;
semi_minor_axis = 5;
@@ -28,7 +28,7 @@ Extrudes a 2D object along the path of an ellipse from 0 to 180 degrees. The sem
![ellipse_extrude](images/lib-ellipse_extrude-2.JPG)
include <ellipse_extrude.scad>;
use <ellipse_extrude.scad>;
semi_minor_axis = 5;
@@ -39,7 +39,7 @@ Extrudes a 2D object along the path of an ellipse from 0 to 180 degrees. The sem
![ellipse_extrude](images/lib-ellipse_extrude-3.JPG)
include <ellipse_extrude.scad>;
use <ellipse_extrude.scad>;
semi_minor_axis = 10;

16
docs/lib2x-fibseq.md Normal file
View File

@@ -0,0 +1,16 @@
# fibseq
Generate a Fibonacci sequence.
**Since:**: 2.1
## Parameters
- `from` : The nth Fibonacci number you wanna start from.
- `to` : The nth Fibonacci number you wanna go to.
## Examples
use <util/fibseq.scad>;
echo(fibseq(1, 10)); // ECHO: [1, 1, 2, 3, 5, 8, 13, 21, 34, 55]

View File

@@ -12,10 +12,7 @@ Given a set of points `[x, y, f(x, y)]` where `f(x, y)` is a mathematics functio
## Examples
include <line3d.scad>;
include <polyline3d.scad>;
include <hull_polyline3d.scad>;
include <function_grapher.scad>;
use <function_grapher.scad>;
points = [
[[0, 0, 1], [1, 0, 2], [2, 0, 2], [3, 0, 3]],
@@ -30,10 +27,7 @@ Given a set of points `[x, y, f(x, y)]` where `f(x, y)` is a mathematics functio
![function_grapher](images/lib-function_grapher-1.JPG)
include <line3d.scad>;
include <polyline3d.scad>;
include <hull_polyline3d.scad>;
include <function_grapher.scad>;
use <function_grapher.scad>;
function f(x, y) =
30 * (
@@ -58,10 +52,7 @@ Given a set of points `[x, y, f(x, y)]` where `f(x, y)` is a mathematics functio
![function_grapher](images/lib-function_grapher-2.JPG)
include <line3d.scad>;
include <polyline3d.scad>;
include <hull_polyline3d.scad>;
include <function_grapher.scad>;
use <function_grapher.scad>;
function f(x, y) =
30 * (
@@ -87,10 +78,7 @@ Given a set of points `[x, y, f(x, y)]` where `f(x, y)` is a mathematics functio
![function_grapher](images/lib-function_grapher-3.JPG)
include <line3d.scad>;
include <polyline3d.scad>;
include <hull_polyline3d.scad>;
include <function_grapher.scad>;
use <function_grapher.scad>;
function f(x, y) =
30 * (

View File

@@ -13,9 +13,7 @@ It returns a vector of `[[x, y], angle]`.
## Examples
include <circle_path.scad>;
include <rotate_p.scad>;
include <golden_spiral.scad>;
use <golden_spiral.scad>;
pts_angles = golden_spiral(
from = 3,
@@ -30,9 +28,7 @@ It returns a vector of `[[x, y], angle]`.
![golden_spiral](images/lib-golden_spiral-1.JPG)
include <circle_path.scad>;
include <rotate_p.scad>;
include <golden_spiral.scad>;
use <golden_spiral.scad>;
pts_angles = golden_spiral(
from = 5,

View File

@@ -2,7 +2,7 @@
Extrudes a 2D shape along the path of a golden spiral.
When using this module, you should use points to represent the 2D shape. If your 2D shape is not solid, indexes of triangles are required. See [polysections](https://openhome.cc/eGossip/OpenSCAD/lib-polysections.html) for details.
When using this module, you should use points to represent the 2D shape. If your 2D shape is not solid, indexes of triangles are required. See [polysections](https://openhome.cc/eGossip/OpenSCAD/lib2x-polysections.html) for details.
## Parameters
@@ -13,16 +13,11 @@ When using this module, you should use points to represent the 2D shape. If your
- `rt_dir` : `"CT_CLK"` for counterclockwise. `"CLK"` for clockwise. The default value is `"CT_CLK"`.
- `twist` : The number of degrees of through which the shape is extruded.
- `scale` : Scales the 2D shape by this value over the length of the extrusion. Scale can be a scalar or a vector.
- `triangles` : `"SOLID"` (default), `"HOLLOW"` or user-defined indexes. See [polysections](https://openhome.cc/eGossip/OpenSCAD/lib-polysections.html) for details.
- `triangles` : `"SOLID"` (default), `"HOLLOW"` or user-defined indexes. See [polysections](https://openhome.cc/eGossip/OpenSCAD/lib2x-polysections.html) for details.
## Examples
include <circle_path.scad>;
include <rotate_p.scad>;
include <golden_spiral.scad>;
include <cross_sections.scad>;
include <polysections.scad>;
include <golden_spiral_extrude.scad>;
use <golden_spiral_extrude.scad>;
shape_pts = [
[2, -10],
@@ -43,12 +38,8 @@ When using this module, you should use points to represent the 2D shape. If your
![golden_spiral_extrude](images/lib-golden_spiral_extrude-1.JPG)
include <circle_path.scad>;
include <rotate_p.scad>;
include <golden_spiral.scad>;
include <cross_sections.scad>;
include <polysections.scad>;
include <golden_spiral_extrude.scad>;
use <circle_path.scad>;
use <golden_spiral_extrude.scad>;
$fn = 12;

View File

@@ -13,8 +13,8 @@ Gets all points on the path of a spiral around a cylinder. Its `$fa`, `$fs` and
## Examples
include <helix.scad>;
include <hull_polyline3d.scad>;
use <helix.scad>;
use <hull_polyline3d.scad>;
$fn = 12;
@@ -34,8 +34,8 @@ Gets all points on the path of a spiral around a cylinder. Its `$fa`, `$fs` and
![helix](images/lib-helix-1.JPG)
include <helix.scad>;
include <hull_polyline3d.scad>;
use <helix.scad>;
use <hull_polyline3d.scad>;
$fn = 12;

View File

@@ -2,7 +2,7 @@
Extrudes a 2D shape along a helix path.
When using this module, you should use points to represent the 2D shape. If your 2D shape is not solid, indexes of triangles are required. See [polysections](https://openhome.cc/eGossip/OpenSCAD/lib-polysections.html) for details.
When using this module, you should use points to represent the 2D shape. If your 2D shape is not solid, indexes of triangles are required. See [polysections](https://openhome.cc/eGossip/OpenSCAD/lib2x-polysections.html) for details.
Its `$fa`, `$fs` and `$fn` parameters are consistent with the `cylinder` module.
@@ -16,16 +16,12 @@ Its `$fa`, `$fs` and `$fn` parameters are consistent with the `cylinder` module.
- `rt_dir` : `"CT_CLK"` for counterclockwise. `"CLK"` for clockwise. The default value is `"CT_CLK"`.
- `twist` : The number of degrees of through which the shape is extruded.
- `scale` : Scales the 2D shape by this value over the length of the extrusion. Scale can be a scalar or a vector.
- `triangles` : `"SOLID"` (default), `"HOLLOW"` or user-defined indexes. See [polysections](https://openhome.cc/eGossip/OpenSCAD/lib-polysections.html) for details.
- `triangles` : `"SOLID"` (default), `"HOLLOW"` or user-defined indexes. See [polysections](https://openhome.cc/eGossip/OpenSCAD/lib2x-polysections.html) for details.
- `$fa`, `$fs`, `$fn` : Check [the cylinder module](https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Primitive_Solids#cylinder) for more details.
## Examples
include <helix.scad>;
include <rotate_p.scad>;
include <cross_sections.scad>;
include <polysections.scad>;
include <helix_extrude.scad>;
use <helix_extrude.scad>;
shape_pts = [
[5, -2],
@@ -47,11 +43,7 @@ Its `$fa`, `$fs` and `$fn` parameters are consistent with the `cylinder` module.
![helix_extrude](images/lib-helix_extrude-1.JPG)
include <helix.scad>;
include <rotate_p.scad>;
include <cross_sections.scad>;
include <polysections.scad>;
include <helix_extrude.scad>;
use <helix_extrude.scad>;
r1 = 40;
r2 = 20;

View File

@@ -10,7 +10,7 @@ A hexagonal structure is useful in many situations. This module creates hexagons
## Examples
include <hexagons.scad>;
use <hexagons.scad>;
radius = 20;
spacing = 2;
@@ -20,7 +20,7 @@ A hexagonal structure is useful in many situations. This module creates hexagons
![hexagons](images/lib-hexagons-1.JPG)
include <hexagons.scad>;
use <hexagons.scad>;
radius = 20;
spacing = 2;

View File

@@ -8,7 +8,7 @@ Hollows out a 2D object.
## Examples
include <hollow_out.scad>;
use <hollow_out.scad>;
hollow_out(shell_thickness = 1) circle(r = 3, $fn = 48);
hollow_out(shell_thickness = 1) square([10, 5]);

View File

@@ -10,7 +10,7 @@ Creates a 2D polyline from a list of `[x, y]` coordinates. As the name says, it
## Examples
include <hull_polyline2d.scad>;
use <hull_polyline2d.scad>;
$fn = 4;

View File

@@ -10,7 +10,7 @@ Creates a 3D polyline from a list of `[x, y, z]` coordinates. As the name says,
## Examples
include <hull_polyline3d.scad>;
use <hull_polyline3d.scad>;
hull_polyline3d(
points = [
@@ -25,7 +25,7 @@ Creates a 3D polyline from a list of `[x, y, z]` coordinates. As the name says,
![polyline3d](images/lib-hull_polyline3d-1.JPG)
include <hull_polyline3d.scad>;
use <hull_polyline3d.scad>;
r = 50;
points = [

View File

@@ -12,7 +12,7 @@ Checks wether a point is on a line.
## Examples
include <in_polyline.scad>;
use <in_polyline.scad>;
pts = [
[0, 0],
@@ -27,7 +27,7 @@ Checks wether a point is on a line.
----
include <in_polyline.scad>;
use <in_polyline.scad>;
pts = [
[10, 0, 10],

View File

@@ -13,8 +13,8 @@ Checks wether a point is inside a shape.
## Examples
include <shape_taiwan.scad>;
include <in_shape.scad>;
use <shape_taiwan.scad>;
use <in_shape.scad>;
points = shape_taiwan(30);

32
docs/lib2x-joint_T.md Normal file
View File

@@ -0,0 +1,32 @@
# joint_T
Create a joint_T for rotatable models.
![joint_T](images/lib2-joint_T-1.JPG)
**Since:** 2.1
## Parameters
- `shaft_r` : The shaft radius of the joint_T.
- `shaft_h` : The height of the shaft.
- `t_leng` : The length of the T part.
- `thickness` : The thicnkess of the ring.
- `spacing` : The spacing between the shaft and the ring. Default to `0.5`.
- `center` : `false` (default) for z ranges from 0 to `shaft_h`. `true` for z ranges from `-shaft_h / 2` to `shaft_h / 2`.
## Examples
use <part/joint_T.scad>;
$fn = 48;
joint_T(
shaft_r = 2,
shaft_h = 15,
t_leng = 15,
thickness = 2,
spacing = 0.5
);
![joint_T](images/lib2-joint_T-2.JPG)

View File

@@ -13,7 +13,7 @@ Creates a line from two points. When the end points are `CAP_ROUND`, you can use
## Examples
include <line2d.scad>;
use <line2d.scad>;
$fn = 24;

View File

@@ -13,7 +13,7 @@ Creates a 3D line from two points.
## Examples
include <line3d.scad>;
use <line3d.scad>;
line3d(
p1 = [0, 0, 0],
@@ -24,7 +24,7 @@ Creates a 3D line from two points.
![line3d](images/lib-line3d-1.JPG)
include <line3d.scad>;
use <line3d.scad>;
line3d(
p1 = [0, 0, 0],
@@ -37,7 +37,7 @@ Creates a 3D line from two points.
![line3d](images/lib-line3d-2.JPG)
include <line3d.scad>;
use <line3d.scad>;
line3d(
p1 = [0, 0, 0],

View File

@@ -12,10 +12,10 @@ The dir changed since 2.0.
## Examples
include <matrix/m_rotation.scad>;
include <matrix/m_scaling.scad>;
include <matrix/m_translation.scad>;
include <matrix/m_cumulate.scad>
use <matrix/m_rotation.scad>;
use <matrix/m_scaling.scad>;
use <matrix/m_translation.scad>;
use <matrix/m_cumulate.scad>
m = m_cumulate([
m_translation([10, 20, 10]), m_scaling(2), m_rotation(60)]

View File

@@ -12,7 +12,7 @@ Generate a 4x4 transformation matrix which can pass into `multmatrix` to mirror
## Examples
include <matrix/m_mirror.scad>;
use <matrix/m_mirror.scad>;
rotate([0, 0, 10])
cube([3, 2, 1]);

View File

@@ -13,7 +13,7 @@ Generate a 4x4 transformation matrix which can pass into `multmatrix` to rotate
## Examples
include <matrix/m_rotation.scad>;
use <matrix/m_rotation.scad>;
point = [20, 0, 0];
a = [0, -45, 45];
@@ -27,7 +27,7 @@ Generate a 4x4 transformation matrix which can pass into `multmatrix` to rotate
![m_rotation](images/lib-m_rotation-1.JPG)
include <m_rotation.scad>;
use <matrix/m_rotation.scad>;
v = [10, 10, 10];

View File

@@ -12,7 +12,7 @@ Generate a 4x4 transformation matrix which can pass into `multmatrix` to scale i
## Examples
include <matrix/m_scaling.scad>;
use <matrix/m_scaling.scad>;
cube(10);
translate([15, 0, 0])

View File

@@ -14,7 +14,7 @@ Generate a 4x4 transformation matrix which can pass into `multmatrix` to shear a
## Examples
include <matrix/m_shearing.scad>;
use <matrix/m_shearing.scad>;
color("red") {
multmatrix(m_shearing(sx = [1, 0]))

View File

@@ -12,7 +12,7 @@ Generate a 4x4 transformation matrix which can pass into `multmatrix` to transla
## Examples
include <matrix/m_translation.scad>;
use <matrix/m_translation.scad>;
cube(2, center = true);
multmatrix(m_translation([5, 0, 0]))

View File

@@ -12,10 +12,9 @@ Given a 2D path, this function constructs a mid-point smoothed version by joinin
## Examples
include <hull_polyline2d.scad>;
include <shape_taiwan.scad>;
include <bijection_offset.scad>;
include <midpt_smooth.scad>;
use <hull_polyline2d.scad>;
use <shape_taiwan.scad>;
use <midpt_smooth.scad>;
taiwan = shape_taiwan(50);
smoothed = midpt_smooth(taiwan, 20, true);

View File

@@ -9,7 +9,7 @@ Creates multi-line text from a list of strings. Parameters are the same as the b
## Examples
include <multi_line_text.scad>;
use <multi_line_text.scad>;
multi_line_text(
["Welcome", "to", "Taiwan"],

View File

@@ -10,9 +10,7 @@ Parses the string argument as an number.
## Examples
include <util/sub_str.scad>;
include <util/split_str.scad>;
include <util/parse_number.scad>;
use <util/parse_number.scad>;
echo(parse_number("10") + 1); // ECHO: 11
echo(parse_number("-1.1") + 1); // ECHO: -0.1

View File

@@ -2,7 +2,7 @@
It extrudes a 2D shape along a path. This module is suitable for a path created by a continuous function.
When using this module, you should use points to represent the 2D shape. If your 2D shape is not solid, indexes of triangles are required. See [polysections](https://openhome.cc/eGossip/OpenSCAD/lib-polysections.html) for details.
When using this module, you should use points to represent the 2D shape. If your 2D shape is not solid, indexes of triangles are required. See [polysections](https://openhome.cc/eGossip/OpenSCAD/lib2x-polysections.html) for details.
## Parameters
@@ -16,10 +16,8 @@ When using this module, you should use points to represent the 2D shape. If your
## Examples
include <rotate_p.scad>;
include <polysections.scad>;
include <path_extrude.scad>;
include <bezier_curve.scad>;
use <path_extrude.scad>;
use <bezier_curve.scad>;
t_step = 0.05;
width = 2;
@@ -45,10 +43,8 @@ When using this module, you should use points to represent the 2D shape. If your
![path_extrude](images/lib-path_extrude-1.JPG)
include <rotate_p.scad>;
include <polysections.scad>;
include <path_extrude.scad>;
include <bezier_curve.scad>;
use <path_extrude.scad>;
use <bezier_curve.scad>;
t_step = 0.05;
@@ -79,10 +75,8 @@ When using this module, you should use points to represent the 2D shape. If your
![path_extrude](images/lib-path_extrude-2.JPG)
include <rotate_p.scad>;
include <polysections.scad>;
include <path_extrude.scad>;
include <bezier_curve.scad>;
use <path_extrude.scad>;
use <bezier_curve.scad>;
t_step = 0.05;
@@ -128,11 +122,7 @@ When using this module, you should use points to represent the 2D shape. If your
If you want to extrude a shape along a path precisely, providing enough information about how to rotate sections is necessary. If you want to extrude a shape along a helix, `helix_extrude` is more suitable because it knows how to dig out necessary data for rotating sections precisely.
include <helix.scad>;
include <rotate_p.scad>;
include <cross_sections.scad>;
include <polysections.scad>;
include <helix_extrude.scad>;
use <helix_extrude.scad>;
shape_pts = [
[0,0],
@@ -151,11 +141,8 @@ If you want to extrude a shape along a path precisely, providing enough informat
If you have only points, what `path_extrude` can do is to **guess** data about rotations. The different algorithm will dig out different data. For example:
include <helix.scad>;
include <rotate_p.scad>;
include <polysections.scad>;
include <helix.scad>;
include <path_extrude.scad>;
use <helix.scad>;
use <path_extrude.scad>;
shape_pts = [
[0,0],
@@ -178,10 +165,8 @@ You might think this is wrong. Actually, it's not. It's the correct/default beha
The `method` parameter is default to `"AXIS_ANGLE"`, a way to guess information from points. It accepts `"EULER_ANGLE"`, too.
include <rotate_p.scad>;
include <polysections.scad>;
include <helix.scad>;
include <path_extrude.scad>;
use <helix.scad>;
use <path_extrude.scad>;
shape_pts = [
[0,0],
@@ -204,9 +189,7 @@ You might think this is wrong. Actually, it's not. It's the correct/default beha
`"EULER_ANGLE"` will generate an abrupt when the path is exactly vertical. [The problem happened in (older) Blender, too.](https://download.blender.org/documentation/htmlI/ch09s04.html)
include <rotate_p.scad>;
include <polysections.scad>;
include <path_extrude.scad>;
use <path_extrude.scad>;
shape_pts = [[5, -5], [5, 5], [-5, 5], [-5, -5]];
@@ -230,9 +213,7 @@ You might think this is wrong. Actually, it's not. It's the correct/default beha
The problem doesn't happen when `method` is `"AXIS_ANGLE"`.
include <rotate_p.scad>;
include <polysections.scad>;
include <path_extrude.scad>;
use <path_extrude.scad>;
shape_pts = [[5, -5], [5, 5], [-5, 5], [-5, -5]];
@@ -260,11 +241,9 @@ So, which is the correct method? Both methods are correct when you provide only
`"EULER_ANGLE"`, however, generates the same section at the same point. This means that you don't have to adjust sections if you want to extrude along a closed path. It's an advantage when extruding. For example:
include <shape_pentagram.scad>;
include <rotate_p.scad>;
include <polysections.scad>;
include <path_extrude.scad>;
include <torus_knot.scad>;
use <shape_pentagram.scad>;
use <path_extrude.scad>;
use <torus_knot.scad>;
p = 2;
q = 3;

View File

@@ -15,10 +15,10 @@ You can use any point as the first point of the edge path. Just remember that yo
## Examples
include <hull_polyline3d.scad>;
include <shape_taiwan.scad>;
include <path_scaling_sections.scad>;
include <polysections.scad>;
use <hull_polyline3d.scad>;
use <shape_taiwan.scad>;
use <path_scaling_sections.scad>;
use <polysections.scad>;
taiwan = shape_taiwan(100);
fst_pt = [13, 0, 0];
@@ -38,11 +38,11 @@ You can use any point as the first point of the edge path. Just remember that yo
![path_scaling_sections](images/lib-path_scaling_sections-1.JPG)
include <hull_polyline3d.scad>;
include <shape_taiwan.scad>;
include <path_scaling_sections.scad>;
include <polysections.scad>;
include <bezier_curve.scad>;
use <hull_polyline3d.scad>;
use <shape_taiwan.scad>;
use <path_scaling_sections.scad>;
use <polysections.scad>;
use <bezier_curve.scad>;
taiwan = shape_taiwan(100);
@@ -63,11 +63,11 @@ You can use any point as the first point of the edge path. Just remember that yo
![path_scaling_sections](images/lib-path_scaling_sections-2.JPG)
include <shape_taiwan.scad>;
include <path_scaling_sections.scad>;
include <polysections.scad>;
include <bezier_curve.scad>;
include <rotate_p.scad>;
use <shape_taiwan.scad>;
use <path_scaling_sections.scad>;
use <polysections.scad>;
use <bezier_curve.scad>;
use <rotate_p.scad>;
taiwan = shape_taiwan(100);
fst_pt = [13, 0, 0];
@@ -99,11 +99,11 @@ You can use any point as the first point of the edge path. Just remember that yo
![path_scaling_sections](images/lib-path_scaling_sections-3.JPG)
include <hull_polyline3d.scad>;
include <shape_taiwan.scad>;
include <path_scaling_sections.scad>;
include <polysections.scad>;
include <rotate_p.scad>;
use <hull_polyline3d.scad>;
use <shape_taiwan.scad>;
use <path_scaling_sections.scad>;
use <polysections.scad>;
use <rotate_p.scad>;
taiwan = shape_taiwan(100);

View File

@@ -10,9 +10,9 @@ You paths should be indexed count-clockwisely.
## Examples
include <paths2sections.scad>;
include <hull_polyline3d.scad>;
include <polysections.scad>;
use <paths2sections.scad>;
use <hull_polyline3d.scad>;
use <polysections.scad>;
paths = [
[[5, 0, 5], [15, 10, 10], [25, 20, 5]],
@@ -31,10 +31,10 @@ You paths should be indexed count-clockwisely.
![paths2sections](images/lib-paths2sections-1.JPG)
include <bezier_curve.scad>;
include <paths2sections.scad>;
include <hull_polyline3d.scad>;
include <polysections.scad>;
use <bezier_curve.scad>;
use <paths2sections.scad>;
use <hull_polyline3d.scad>;
use <polysections.scad>;
t_step = 0.05;

View File

@@ -10,7 +10,7 @@ Creates a pie (circular sector). You can pass a 2 element vector to define the c
## Examples
include <pie.scad>;
use <pie.scad>;
pie(radius = 20, angle = [210, 310]);
translate([-15, 0, 0]) pie(radius = 20, angle = [45, 135]);

View File

@@ -12,16 +12,14 @@ Creates a polyline from a list of `x`, `y` coordinates. When the end points are
## Examples
include <line2d.scad>;
include <polyline2d.scad>;
use <polyline2d.scad>;
$fn = 24;
polyline2d(points = [[1, 2], [-5, -4], [-5, 3], [5, 5]], width = 1);
![polyline2d](images/lib-polyline2d-1.JPG)
include <line2d.scad>;
include <polyline2d.scad>;
use <polyline2d.scad>;
$fn = 24;
polyline2d(points = [[1, 2], [-5, -4], [-5, 3], [5, 5]], width = 1,
@@ -29,8 +27,7 @@ Creates a polyline from a list of `x`, `y` coordinates. When the end points are
![polyline2d](images/lib-polyline2d-2.JPG)
include <line2d.scad>;
include <polyline2d.scad>;
use <polyline2d.scad>;
$fn = 24;
polyline2d(points = [[1, 2], [-5, -4], [-5, 3], [5, 5]], width = 1,

View File

@@ -6,14 +6,13 @@ Creates a polyline from a list of `[x, y, z]` coordinates.
- `points` : The list of `[x, y, z]` points of the polyline. The points are indexed from 0 to n-1.
- `thickness` : The line thickness.
- `startingStyle` : The end-cap style of the starting point. The value must be `"CAP_BUTT"`, `"CAP_CIRCLE"` or `"CAP_SPHERE"`. The default value is `"CAP_CIRCL"`.
- `startingStyle` : The end-cap style of the starting point. The value must be `"CAP_BUTT"`, `"CAP_CIRCLE"` or `"CAP_SPHERE"`. The default value is `"CAP_CIRCLE"`.
- `endingStyle` : The end-cap style of the ending point. The value must be `"CAP_BUTT"`, `"CAP_CIRCLE"` or `"CAP_SPHERE"`. The default value is `"CAP_CIRCLE"`.
- `$fa`, `$fs`, `$fn` : Used by the `circle` or `sphere` module internally. Check [the circle module](https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Using_the_2D_Subsystem#circle) or [the sphere module](https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Primitive_Solids#sphere) for more details. The final fragments of a circle will be a multiple of 4 to fit edges if possible.
## Examples
include <line3d.scad>;
include <polyline3d.scad>;
use <polyline3d.scad>;
polyline3d(
points = [
@@ -28,8 +27,7 @@ Creates a polyline from a list of `[x, y, z]` coordinates.
![polyline3d](images/lib-polyline3d-1.JPG)
include <line3d.scad>;
include <polyline3d.scad>;
use <polyline3d.scad>;
polyline3d(
points = [
@@ -45,8 +43,7 @@ Creates a polyline from a list of `[x, y, z]` coordinates.
![polyline3d](images/lib-polyline3d-2.JPG)
include <line3d.scad>;
include <polyline3d.scad>;
use <polyline3d.scad>;
polyline3d(
points = [
@@ -63,8 +60,7 @@ Creates a polyline from a list of `[x, y, z]` coordinates.
![polyline3d](images/lib-polyline3d-3.JPG)
include <line3d.scad>;
include <polyline3d.scad>;
use <polyline3d.scad>;
r = 20;
h = 5;

View File

@@ -44,8 +44,8 @@ When defining triangles, you can use clockwise or counter-clockwise indexes.
## Examples
include <rotate_p.scad>;
include <polysections.scad>;
use <rotate_p.scad>;
use <polysections.scad>;
section1 = [
[20, 0, 0],
@@ -68,8 +68,8 @@ When defining triangles, you can use clockwise or counter-clockwise indexes.
![polysections](images/lib-polysections-7.JPG)
include <rotate_p.scad>;
include <polysections.scad>;
use <rotate_p.scad>;
use <polysections.scad>;
section1 = [
// outer
@@ -98,8 +98,8 @@ When defining triangles, you can use clockwise or counter-clockwise indexes.
![polysections](images/lib-polysections-8.JPG)
include <rotate_p.scad>;
include <polysections.scad>;
use <rotate_p.scad>;
use <polysections.scad>;
section1 = [
// outer

View File

@@ -18,9 +18,9 @@ You can view it as a better polyline2d module. If you have only the points of a
## Examples
include <rotate_p.scad>;
include <polytransversals.scad>;
include <hull_polyline2d.scad>;
use <rotate_p.scad>;
use <polytransversals.scad>;
use <hull_polyline2d.scad>;
r = 35;
tran_pts = [[-5, 0], [0, 5], [5, 0]];

40
docs/lib2x-px_ascii.md Normal file
View File

@@ -0,0 +1,40 @@
# px_ascii
Generate 8x8 pixel points of printable ASCII characters (codes 32dec to 126dec). You can use these points to build pixel-style models.
**Since:** 2.1
## Parameters
- `char` : A printable ASCII character.
- `center`: . If `true`, object is centered in X- and Y-axis. Otherwise, the object is placed in the positive quadrant. Defaults to `false`.
- `invert`: Inverts points of the character. Default to `false`.
## Examples
use <pixel/px_ascii.scad>;
for(i = [0:94]) {
translate([8 * (i % 10), -8 * floor(i / 10), 0])
for(p = px_ascii(chr(i + 32))) {
translate(p)
linear_extrude(1, scale = 0.8)
square(1);
}
}
![px_ascii](images/lib2-px_ascii-1.JPG)
use <pixel/px_ascii.scad>;
t = "dotSCAD";
for(i = [0:len(t) - 1]) {
translate([i * 8, 0])
for(pt = px_ascii(t[i], invert = true)) {
translate(pt)
sphere(0.5, $fn = 24);
}
}
![px_ascii](images/lib2-px_ascii-2.JPG)

View File

@@ -11,7 +11,7 @@ Returns points that can be used to draw a pixel-style circle.
## Examples
include <pixel/px_circle.scad>;
use <pixel/px_circle.scad>;
for(pt = px_circle(10)) {
translate(pt)
@@ -20,7 +20,7 @@ Returns points that can be used to draw a pixel-style circle.
![px_circle](images/lib2-px_circle-1.JPG)
include <pixel/px_circle.scad>;
use <pixel/px_circle.scad>;
for(pt = px_circle(10, filled = true)) {
translate(pt)

View File

@@ -13,7 +13,7 @@ Returns points that can be used to draw a pixel-style cylinder.
## Examples
include <pixel/px_cylinder.scad>;
use <pixel/px_cylinder.scad>;
for(pt = px_cylinder([10, 15], 10)) {
translate(pt)
@@ -22,7 +22,7 @@ Returns points that can be used to draw a pixel-style cylinder.
![px_cylinder](images/lib2-px_cylinder-1.JPG)
include <pixel/px_cylinder.scad>;
use <pixel/px_cylinder.scad>;
for(pt = px_cylinder([20, 15], h = 10, thickness = 3)) {
translate(pt)

108
docs/lib2x-px_from.md Normal file
View File

@@ -0,0 +1,108 @@
# px_from
Given a list of 0s and 1s that represent a black-and-white image. This function translates them into pixel points. You can use these points to build pixel-style models.
**Since:** 2.1
## Parameters
- `binaries` : A list of 0s and 1s.
- `center`: . If `true`, object is centered in X- and Y-axis. Otherwise, the object is placed in the positive quadrant. Defaults to `false`.
- `invert`: Inverts how binaries are translated into points. Default to `false`. 1s are translated into points. Otherwise, 0s are translated into points.
## Examples
use <pixel/px_from.scad>;
pts = px_from([
[0,0,0,0,0,0,0,0],
[0,0,0,1,1,0,0,0],
[0,0,1,1,1,1,0,0],
[0,1,1,0,0,1,1,0],
[0,1,1,0,0,1,1,0],
[0,1,1,1,1,1,1,0],
[0,1,1,0,0,1,1,0],
[0,0,0,0,0,0,0,0]
]);
for(pt = pts) {
translate(pt) square(1);
}
translate([8, 0]) for(pt = pts) {
translate(pt) text("A", font="Arial Black", 1);
}
![px_from](images/lib2-px_from-1.JPG)
I provide a tool [img2binary](https://github.com/JustinSDK/img2binary) for converting an image into 0 and 1. A black and white picture is suggested. 0 is for black and 1 is for white. Given an image like this:
![px_from](images/lib2-px_from-2.JPG)
The tool converts it into binaries. Combined with the `pixel_from`, you can build a model like this:
use <pixel/px_from.scad>;
pts = px_from([
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 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, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1],
[1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1],
[1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1],
[1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1],
[1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1],
[1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1],
[1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1],
[1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1],
[1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1],
[1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1],
[1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1],
[1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1],
[1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1],
[1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 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, 1, 1, 1, 0, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
], invert = true);
for(pt = pts) {
translate(pt) sphere(.5, $fn = 24);
}
![px_from](images/lib2-px_from-3.JPG)

187
docs/lib2x-px_gray.md Normal file
View File

@@ -0,0 +1,187 @@
# px_gray
Given a list of numbers (0 ~ 255) that represent a gray image. This function translates them into a list of `[x, y, level]`s.
**Since:** 2.1
## Parameters
- `levels` : A list of numbers (0 ~ 255).
- `center`: . If `true`, object is centered in X- and Y-axis. Otherwise, the object is placed in the positive quadrant. Defaults to `false`.
- `invert`: Inverts the `level` value of the returned `[x, y, value]`. Default to `false`.
- `normalize`: Normalize the `level` value of the returned `[x, y, value]`. Default to `false`. If it's `true`, the `level` value ranges from 0 to 1.
## Examples
use <pixel/px_gray.scad>;
levels = [
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 170, 170, 170, 170, 170, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 170, 170, 170, 170, 170, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 0, 0, 0, 170, 170, 170, 170, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 170, 170, 0, 0, 0, 255, 255, 255, 255],
[255, 255, 255, 255, 0, 0, 0, 170, 170, 170, 170, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 170, 170, 0, 0, 0, 255, 255, 255, 255],
[255, 255, 255, 255, 0, 0, 0, 170, 170, 170, 170, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 170, 170, 0, 0, 0, 255, 255, 255, 255],
[255, 255, 0, 0, 170, 170, 170, 170, 170, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 0, 0, 255, 255],
[255, 255, 0, 0, 170, 170, 170, 170, 170, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 0, 0, 255, 255],
[255, 255, 0, 0, 170, 170, 170, 85, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 85, 85, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 0, 0, 255, 255],
[255, 255, 0, 0, 170, 170, 170, 85, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 85, 85, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 0, 0, 255, 255],
[0, 0, 85, 85, 85, 85, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0],
[0, 0, 85, 85, 85, 85, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0],
[0, 0, 85, 85, 85, 85, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0],
[0, 0, 85, 85, 85, 85, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 85, 85, 85, 85, 85, 170, 170, 170, 170, 170, 85, 85, 0, 0],
[0, 0, 85, 85, 85, 85, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 85, 85, 85, 85, 85, 170, 170, 170, 170, 170, 85, 85, 0, 0],
[0, 0, 170, 170, 85, 85, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 170, 170, 0, 0],
[0, 0, 170, 170, 85, 85, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 170, 170, 0, 0],
[0, 0, 170, 170, 170, 170, 170, 85, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 85, 85, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 170, 170, 0, 0],
[0, 0, 170, 170, 170, 170, 170, 85, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 85, 85, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 170, 170, 0, 0],
[0, 0, 170, 170, 170, 170, 170, 85, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 85, 85, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 170, 170, 0, 0],
[0, 0, 170, 170, 170, 170, 170, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 170, 170, 170, 170, 170, 85, 85, 0, 0],
[0, 0, 170, 170, 170, 170, 170, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 170, 170, 170, 170, 170, 85, 85, 0, 0],
[0, 0, 170, 170, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 85, 85, 85, 85, 85, 85, 0, 0],
[0, 0, 170, 170, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 85, 85, 85, 85, 85, 85, 0, 0],
[0, 0, 170, 170, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 85, 85, 85, 85, 85, 85, 0, 0],
[255, 255, 0, 0, 0, 0, 0, 0, 0, 170, 170, 170, 170, 170, 0, 0, 170, 170, 170, 170, 170, 0, 0, 170, 170, 170, 170, 170, 0, 0, 0, 0, 0, 0, 0, 255, 255],
[255, 255, 0, 0, 0, 0, 0, 0, 0, 170, 170, 170, 170, 170, 0, 0, 170, 170, 170, 170, 170, 0, 0, 170, 170, 170, 170, 170, 0, 0, 0, 0, 0, 0, 0, 255, 255],
[255, 255, 255, 255, 0, 0, 0, 170, 170, 170, 170, 170, 170, 170, 0, 0, 170, 170, 170, 170, 170, 0, 0, 170, 170, 170, 170, 170, 170, 170, 0, 0, 0, 255, 255, 255, 255],
[255, 255, 255, 255, 0, 0, 0, 170, 170, 170, 170, 170, 170, 170, 0, 0, 170, 170, 170, 170, 170, 0, 0, 170, 170, 170, 170, 170, 170, 170, 0, 0, 0, 255, 255, 255, 255],
[255, 255, 255, 255, 0, 0, 0, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 0, 0, 0, 255, 255, 255, 255],
[255, 255, 255, 255, 0, 0, 0, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 0, 0, 0, 255, 255, 255, 255],
[255, 255, 255, 255, 0, 0, 0, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 0, 0, 0, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 0, 0, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 0, 0, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 0, 0, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 0, 0, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255]
];
dots = px_gray(levels, center = true);
for(dot = dots) {
g = 1 - dot[1] / 255;
h = dot[1] / 85;
color([g, g, g])
translate(dot[0])
linear_extrude(h)
square(1);
}
![px_gray](images/lib2-px_gray-1.JPG)
I provide a tool [img2gray](https://github.com/JustinSDK/img2gray) for converting an image into data required by this function. Given an image like this:
![px_gray](images/caterpillar.JPG)
After converting the image, use the data in the text file as the `levels` value of `pixel_gray`, you can build a model like this:
use <pixel/px_gray.scad>;
levels = [
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 180, 219, 255, 255, 224, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 85, 62, 173, 255, 255, 222, 154, 168, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 147, 16, 73, 166, 190, 8, 17, 99, 97, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 151, 11, 26, 153, 111, 61, 58, 40, 128, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 137, 73, 74, 154, 131, 24, 18, 95, 192, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 217, 153, 162, 152, 97, 82, 120, 155, 66, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 194, 146, 146, 131, 118, 96, 75, 46, 46, 191, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 185, 139, 130, 117, 99, 78, 53, 38, 64, 168, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 194, 108, 102, 95, 74, 60, 38, 47, 89, 85, 153, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 101, 77, 67, 52, 38, 48, 82, 109, 73, 48, 222, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 225, 70, 40, 42, 57, 84, 107, 92, 62, 38, 164, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 215, 100, 89, 102, 115, 91, 72, 44, 47, 105, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 112, 114, 102, 86, 68, 51, 41, 66, 101, 94, 140, 194, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 156, 93, 80, 65, 51, 36, 59, 97, 100, 69, 49, 110, 93, 223, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 222, 70, 54, 47, 45, 69, 96, 110, 91, 58, 40, 92, 76, 70, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 226, 225, 222, 141, 104, 111, 140, 144, 109, 77, 41, 49, 87, 64, 42, 197, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 221, 227, 223, 224, 228, 227, 220, 166, 129, 116, 46, 74, 89, 42, 40, 155, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 224, 224, 224, 224, 227, 223, 169, 130, 129, 129, 88, 100, 58, 37, 62, 176, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 227, 222, 226, 226, 226, 226, 216, 134, 130, 127, 130, 118, 76, 42, 54, 92, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 225, 226, 223, 228, 225, 228, 221, 182, 131, 131, 129, 128, 112, 41, 56, 95, 182, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 202, 212, 209, 212, 220, 225, 225, 153, 129, 125, 127, 130, 120, 86, 118, 208, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 176, 176, 193, 191, 198, 201, 209, 134, 129, 128, 128, 127, 128, 185, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 154, 149, 152, 166, 168, 174, 181, 130, 128, 131, 131, 123, 128, 125, 189, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 142, 116, 123, 128, 138, 140, 145, 136, 128, 124, 131, 128, 130, 131, 133, 222, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 206, 184, 224, 178, 158, 145, 108, 124, 131, 125, 130, 131, 129, 127, 130, 130, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 225, 221, 226, 224, 222, 102, 100, 128, 131, 125, 127, 128, 128, 127, 129, 144, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 227, 224, 227, 224, 194, 125, 117, 122, 128, 128, 124, 130, 128, 126, 129, 132, 145, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 227, 225, 228, 224, 169, 128, 129, 95, 92, 127, 132, 124, 130, 130, 123, 127, 129, 172, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 229, 227, 226, 227, 222, 136, 128, 122, 88, 83, 106, 128, 127, 133, 123, 132, 130, 128, 129, 185, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 229, 223, 219, 219, 216, 205, 199, 196, 188, 179, 192, 212, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 227, 225, 226, 225, 207, 131, 129, 124, 80, 80, 82, 103, 131, 126, 126, 131, 128, 129, 128, 130, 200, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 225, 225, 224, 224, 224, 224, 223, 219, 215, 205, 201, 194, 183, 176, 158, 162, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 226, 224, 224, 228, 174, 128, 126, 207, 178, 89, 84, 84, 115, 129, 126, 125, 127, 127, 127, 127, 134, 226, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 226, 222, 227, 225, 222, 227, 227, 225, 223, 224, 223, 220, 215, 208, 196, 192, 179, 171, 168, 146, 138, 195, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 225, 225, 225, 225, 229, 144, 132, 132, 255, 255, 164, 77, 82, 83, 114, 129, 128, 129, 131, 129, 126, 124, 142, 255, 255, 255, 255, 255, 255, 255, 255, 255, 229, 222, 226, 225, 222, 224, 223, 225, 223, 222, 223, 224, 226, 221, 214, 209, 204, 192, 188, 179, 160, 160, 144, 134, 137, 225, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 224, 225, 226, 227, 211, 131, 130, 149, 255, 255, 255, 140, 79, 85, 82, 127, 126, 126, 129, 129, 128, 127, 124, 154, 255, 255, 255, 255, 255, 255, 255, 255, 228, 225, 221, 219, 219, 218, 220, 222, 222, 223, 223, 220, 223, 223, 219, 217, 203, 195, 191, 183, 174, 160, 150, 135, 128, 113, 186, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 228, 225, 224, 226, 187, 132, 131, 186, 255, 255, 255, 255, 122, 80, 85, 89, 124, 131, 127, 128, 130, 127, 129, 131, 156, 255, 255, 255, 255, 255, 225, 221, 218, 213, 207, 195, 188, 190, 197, 194, 195, 211, 219, 220, 223, 223, 218, 210, 208, 201, 189, 182, 174, 162, 153, 147, 129, 114, 97, 175, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 226, 225, 227, 225, 160, 131, 127, 255, 255, 255, 255, 255, 255, 118, 81, 77, 91, 122, 129, 134, 124, 130, 130, 129, 127, 192, 255, 255, 255, 229, 219, 205, 181, 181, 173, 178, 179, 176, 176, 174, 169, 162, 172, 192, 214, 218, 218, 217, 204, 201, 191, 181, 175, 165, 159, 145, 131, 118, 106, 87, 181, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 220, 255, 228, 223, 222, 137, 124, 143, 255, 255, 255, 255, 255, 255, 223, 93, 81, 79, 101, 125, 127, 129, 129, 125, 134, 130, 122, 208, 255, 218, 201, 178, 177, 180, 172, 186, 173, 180, 177, 183, 178, 181, 183, 177, 175, 143, 168, 219, 200, 205, 197, 189, 187, 176, 164, 152, 150, 134, 125, 106, 93, 73, 198, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 223, 223, 228, 220, 196, 131, 129, 172, 255, 255, 255, 255, 255, 255, 255, 221, 91, 80, 84, 97, 129, 127, 126, 127, 126, 128, 131, 130, 217, 184, 180, 152, 123, 125, 185, 174, 181, 179, 180, 175, 181, 173, 183, 175, 177, 178, 153, 142, 181, 209, 197, 190, 181, 174, 166, 158, 144, 134, 120, 110, 90, 86, 75, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 223, 226, 229, 224, 168, 126, 131, 217, 255, 255, 255, 255, 255, 255, 255, 255, 221, 81, 81, 82, 105, 128, 127, 130, 126, 131, 129, 175, 184, 173, 99, 92, 133, 136, 100, 160, 179, 179, 177, 183, 177, 182, 177, 177, 180, 179, 179, 165, 145, 137, 189, 194, 181, 167, 166, 156, 142, 134, 127, 108, 95, 76, 62, 114, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 226, 255, 220, 228, 225, 137, 133, 132, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 201, 83, 80, 84, 108, 131, 129, 128, 128, 134, 180, 172, 180, 158, 170, 175, 175, 154, 87, 176, 177, 179, 177, 173, 177, 136, 132, 180, 175, 168, 171, 164, 132, 121, 180, 181, 168, 161, 153, 147, 132, 116, 110, 95, 85, 60, 57, 211, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 228, 223, 227, 220, 206, 132, 128, 159, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 183, 87, 79, 80, 114, 126, 133, 131, 173, 181, 182, 174, 172, 186, 170, 185, 180, 72, 180, 177, 181, 177, 110, 99, 123, 138, 106, 104, 159, 163, 158, 159, 122, 124, 175, 165, 158, 148, 142, 129, 120, 107, 90, 78, 66, 51, 113, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 223, 225, 224, 226, 182, 129, 131, 196, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 148, 83, 83, 84, 122, 124, 153, 176, 178, 180, 174, 184, 164, 174, 180, 174, 111, 180, 176, 170, 99, 154, 174, 181, 184, 169, 173, 98, 155, 161, 150, 151, 116, 112, 158, 156, 145, 133, 125, 119, 102, 89, 81, 58, 55, 85, 223, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 229, 229, 223, 225, 150, 127, 131, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 209, 117, 80, 82, 89, 121, 180, 179, 180, 176, 158, 72, 69, 61, 83, 184, 175, 173, 181, 175, 148, 178, 177, 174, 175, 177, 169, 156, 119, 159, 151, 145, 141, 95, 100, 151, 142, 133, 122, 114, 97, 87, 74, 58, 53, 72, 168, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 227, 227, 225, 226, 218, 133, 129, 143, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 190, 153, 112, 83, 78, 124, 175, 182, 179, 173, 78, 89, 176, 163, 51, 128, 178, 179, 178, 177, 175, 180, 176, 176, 175, 170, 165, 162, 157, 151, 147, 139, 140, 122, 70, 134, 136, 132, 118, 107, 94, 83, 71, 54, 54, 79, 124, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 226, 224, 223, 224, 193, 131, 133, 184, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 176, 115, 127, 131, 129, 151, 178, 179, 172, 167, 118, 175, 169, 100, 58, 78, 179, 177, 177, 162, 96, 59, 69, 61, 99, 163, 161, 157, 155, 147, 144, 138, 130, 128, 100, 83, 127, 123, 114, 102, 90, 78, 66, 54, 56, 79, 105, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 225, 227, 223, 225, 160, 126, 130, 229, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 229, 85, 67, 87, 87, 175, 177, 183, 180, 179, 186, 175, 77, 27, 28, 81, 176, 183, 176, 80, 81, 178, 164, 160, 48, 75, 159, 158, 149, 144, 138, 133, 128, 124, 117, 77, 90, 117, 106, 96, 86, 73, 59, 51, 68, 80, 113, 225, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 228, 225, 227, 223, 222, 139, 128, 133, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 195, 140, 114, 169, 178, 182, 180, 173, 178, 180, 66, 34, 37, 131, 172, 178, 151, 62, 169, 168, 149, 66, 47, 31, 149, 145, 143, 139, 134, 127, 128, 115, 111, 101, 53, 114, 100, 91, 79, 68, 54, 53, 66, 89, 114, 211, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 225, 225, 223, 224, 205, 132, 130, 164, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 165, 178, 176, 177, 180, 176, 181, 154, 83, 111, 177, 174, 183, 172, 165, 173, 174, 83, 23, 15, 30, 135, 148, 140, 134, 131, 124, 120, 112, 105, 98, 52, 94, 96, 84, 72, 60, 53, 61, 77, 95, 118, 214, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 224, 225, 225, 227, 175, 128, 129, 209, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 168, 31, 145, 173, 183, 178, 179, 174, 181, 177, 177, 176, 181, 178, 175, 173, 167, 161, 166, 100, 33, 25, 55, 142, 143, 134, 133, 123, 120, 115, 107, 104, 93, 65, 59, 88, 77, 66, 54, 53, 67, 80, 107, 131, 212, 255, 222, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 225, 225, 227, 221, 147, 126, 136, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 229, 77, 4, 11, 45, 166, 167, 177, 179, 177, 176, 179, 180, 173, 172, 167, 174, 167, 166, 171, 156, 158, 106, 88, 141, 137, 131, 128, 127, 118, 113, 111, 101, 98, 93, 73, 52, 78, 68, 59, 53, 60, 74, 90, 111, 131, 202, 82, 4, 12, 36, 99, 148, 196, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 225, 226, 225, 222, 208, 134, 129, 150, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 186, 29, 7, 2, 4, 17, 173, 175, 165, 168, 174, 172, 173, 170, 172, 170, 173, 162, 162, 160, 153, 156, 147, 148, 144, 133, 138, 130, 126, 115, 118, 109, 102, 97, 91, 81, 77, 76, 74, 60, 50, 56, 69, 84, 100, 116, 151, 38, 3, 1, 1, 1, 2, 2, 3, 18, 45, 113, 163, 222, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 229, 219, 226, 226, 188, 129, 132, 192, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 104, 9, 2, 1, 2, 2, 9, 149, 188, 187, 167, 168, 165, 167, 166, 164, 162, 162, 161, 157, 153, 150, 147, 143, 141, 136, 131, 126, 124, 116, 114, 108, 101, 96, 91, 84, 79, 73, 85, 66, 53, 51, 65, 76, 93, 109, 130, 157, 18, 4, 1, 3, 1, 2, 1, 5, 1, 3, 9, 0, 9, 38, 227, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 224, 225, 228, 223, 155, 131, 130, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 196, 39, 1, 1, 5, 3, 3, 7, 3, 92, 174, 188, 196, 192, 171, 157, 159, 159, 158, 155, 153, 150, 148, 144, 139, 135, 132, 130, 125, 120, 118, 110, 107, 101, 95, 90, 84, 77, 70, 64, 78, 57, 53, 61, 72, 85, 108, 124, 140, 135, 11, 7, 0, 0, 0, 1, 3, 1, 3, 1, 1, 6, 1, 7, 107, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 227, 222, 229, 226, 218, 134, 128, 144, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 132, 7, 2, 5, 3, 1, 2, 1, 3, 11, 40, 160, 178, 175, 188, 189, 190, 184, 172, 159, 150, 145, 143, 142, 140, 135, 129, 126, 123, 118, 113, 109, 104, 100, 94, 89, 84, 78, 70, 64, 59, 72, 57, 60, 70, 85, 99, 112, 128, 158, 90, 2, 8, 0, 0, 1, 2, 1, 1, 1, 0, 0, 31, 48, 0, 51, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 226, 225, 226, 223, 199, 132, 125, 178, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 207, 53, 0, 4, 2, 3, 3, 3, 1, 7, 1, 5, 8, 122, 159, 170, 175, 174, 176, 176, 175, 175, 174, 169, 159, 150, 141, 136, 130, 125, 120, 114, 107, 103, 99, 94, 87, 82, 78, 71, 62, 57, 53, 56, 60, 76, 81, 91, 108, 127, 151, 177, 25, 9, 4, 0, 5, 1, 2, 1, 0, 5, 7, 42, 104, 145, 47, 12, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 225, 227, 224, 227, 167, 131, 130, 215, 255, 255, 255, 255, 255, 255, 255, 255, 255, 148, 6, 5, 4, 1, 1, 2, 0, 1, 1, 0, 4, 7, 6, 59, 139, 154, 160, 168, 168, 167, 165, 165, 166, 164, 158, 153, 150, 148, 143, 137, 131, 124, 117, 112, 105, 100, 93, 87, 80, 70, 61, 56, 53, 56, 69, 80, 92, 111, 124, 144, 160, 116, 11, 3, 0, 0, 0, 1, 1, 5, 3, 4, 103, 98, 177, 146, 79, 5, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 228, 222, 228, 225, 225, 141, 129, 140, 255, 255, 255, 255, 255, 255, 255, 255, 255, 72, 5, 2, 5, 1, 2, 4, 2, 1, 1, 1, 4, 2, 4, 4, 21, 139, 138, 149, 148, 152, 154, 156, 155, 152, 150, 147, 144, 141, 139, 136, 131, 125, 119, 112, 107, 98, 93, 86, 79, 69, 59, 52, 50, 55, 70, 86, 92, 106, 122, 133, 155, 164, 30, 8, 3, 1, 0, 3, 2, 0, 5, 12, 134, 151, 95, 83, 88, 81, 20, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 225, 222, 227, 225, 202, 131, 129, 164, 255, 255, 255, 255, 255, 255, 255, 255, 56, 5, 2, 4, 0, 1, 7, 0, 1, 7, 1, 5, 3, 4, 4, 39, 203, 188, 116, 134, 136, 137, 140, 142, 141, 139, 137, 135, 134, 128, 126, 122, 117, 112, 107, 100, 94, 88, 81, 74, 67, 59, 54, 55, 61, 72, 79, 91, 107, 120, 135, 154, 160, 30, 14, 1, 1, 0, 5, 0, 5, 6, 17, 190, 184, 114, 128, 111, 78, 74, 8, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 226, 224, 227, 224, 176, 130, 129, 194, 255, 255, 255, 255, 255, 255, 255, 141, 6, 1, 3, 2, 3, 4, 2, 2, 1, 2, 4, 1, 3, 5, 103, 223, 212, 197, 133, 105, 121, 125, 126, 127, 127, 127, 126, 123, 120, 119, 117, 111, 105, 100, 95, 87, 81, 77, 70, 61, 55, 52, 53, 63, 75, 85, 93, 103, 121, 133, 143, 108, 11, 8, 3, 4, 1, 1, 2, 1, 4, 49, 190, 203, 170, 108, 193, 164, 118, 45, 48, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 227, 227, 227, 224, 219, 149, 127, 129, 255, 255, 255, 255, 255, 255, 255, 255, 13, 3, 1, 3, 5, 1, 1, 1, 1, 4, 2, 1, 3, 6, 153, 213, 202, 194, 177, 127, 80, 101, 110, 106, 115, 115, 112, 113, 108, 108, 105, 100, 94, 92, 89, 84, 77, 72, 65, 55, 52, 56, 52, 65, 78, 86, 95, 109, 120, 122, 93, 23, 7, 5, 1, 3, 0, 0, 3, 2, 5, 57, 208, 201, 179, 136, 151, 227, 193, 130, 55, 85, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 228, 255, 223, 225, 217, 130, 131, 153, 255, 255, 255, 255, 255, 255, 255, 131, 1, 2, 1, 0, 0, 2, 0, 8, 0, 0, 0, 3, 14, 62, 133, 179, 186, 164, 151, 105, 118, 89, 81, 95, 96, 94, 97, 103, 94, 99, 92, 87, 82, 77, 75, 67, 61, 56, 53, 48, 50, 65, 69, 84, 87, 102, 101, 74, 42, 9, 6, 9, 0, 2, 4, 0, 0, 0, 1, 1, 39, 190, 187, 180, 159, 109, 169, 255, 201, 112, 36, 163, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 197, 210, 197, 164, 255, 255, 255, 255, 255, 255, 255, 42, 6, 4, 0, 3, 1, 2, 2, 0, 4, 3, 2, 16, 87, 154, 134, 157, 150, 144, 112, 80, 120, 175, 102, 72, 76, 79, 81, 77, 79, 75, 77, 72, 68, 62, 61, 56, 55, 53, 53, 66, 72, 79, 84, 51, 22, 10, 6, 1, 3, 4, 2, 5, 1, 1, 0, 0, 2, 6, 2, 39, 96, 139, 163, 152, 127, 80, 169, 215, 180, 100, 9, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 211, 183, 151, 191, 255, 255, 255, 255, 220, 10, 1, 1, 1, 3, 0, 1, 0, 2, 0, 1, 6, 80, 181, 165, 141, 135, 116, 112, 92, 64, 117, 99, 109, 66, 58, 56, 65, 60, 63, 63, 62, 58, 55, 53, 52, 53, 58, 62, 69, 74, 84, 81, 22, 2, 6, 2, 2, 3, 1, 3, 0, 0, 1, 1, 0, 1, 3, 5, 97, 117, 176, 149, 134, 121, 97, 71, 125, 163, 122, 55, 37, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 218, 192, 156, 117, 255, 255, 255, 255, 158, 1, 0, 0, 1, 0, 0, 2, 2, 1, 2, 0, 35, 113, 89, 81, 88, 108, 74, 69, 61, 75, 120, 138, 104, 112, 15, 56, 55, 53, 54, 51, 53, 56, 56, 60, 60, 66, 74, 82, 89, 94, 73, 14, 6, 8, 2, 2, 4, 1, 4, 0, 6, 7, 1, 5, 0, 1, 18, 135, 103, 143, 117, 123, 104, 86, 67, 74, 129, 80, 98, 15, 138, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 210, 187, 160, 106, 142, 255, 255, 255, 104, 1, 5, 1, 2, 0, 3, 1, 0, 0, 5, 3, 71, 154, 123, 102, 67, 88, 78, 79, 97, 117, 148, 173, 105, 5, 8, 64, 185, 121, 77, 72, 71, 73, 77, 82, 86, 91, 96, 100, 109, 64, 9, 5, 4, 1, 2, 1, 2, 0, 2, 5, 0, 0, 2, 1, 2, 37, 201, 144, 99, 80, 69, 86, 84, 72, 77, 109, 148, 153, 53, 20, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 223, 201, 181, 144, 96, 117, 255, 255, 255, 79, 4, 1, 1, 5, 0, 1, 0, 2, 0, 5, 2, 128, 207, 186, 153, 106, 45, 20, 32, 74, 81, 31, 9, 2, 7, 88, 255, 255, 255, 199, 146, 107, 99, 99, 95, 107, 108, 117, 117, 85, 6, 3, 2, 1, 5, 2, 0, 0, 1, 1, 4, 0, 1, 4, 4, 77, 202, 182, 104, 169, 144, 120, 79, 94, 84, 95, 121, 120, 28, 0, 127, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 217, 204, 187, 163, 124, 79, 139, 255, 255, 255, 18, 1, 4, 1, 0, 2, 4, 1, 0, 5, 0, 16, 178, 255, 219, 185, 115, 71, 1, 0, 1, 3, 3, 3, 19, 148, 255, 255, 255, 255, 255, 255, 255, 224, 203, 172, 175, 159, 163, 155, 17, 4, 5, 0, 0, 0, 0, 1, 0, 4, 2, 1, 2, 0, 2, 83, 216, 199, 160, 113, 217, 191, 151, 86, 4, 1, 0, 2, 1, 5, 48, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 213, 255, 255, 255, 255, 255, 255, 225, 212, 198, 181, 160, 127, 89, 77, 193, 255, 255, 255, 19, 1, 0, 0, 1, 0, 5, 0, 1, 3, 0, 34, 201, 255, 255, 189, 108, 38, 1, 1, 2, 0, 2, 52, 201, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 131, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 5, 0, 1, 6, 128, 208, 196, 179, 132, 133, 255, 212, 158, 81, 3, 0, 1, 0, 4, 69, 214, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 208, 193, 199, 208, 206, 205, 198, 193, 180, 166, 149, 123, 87, 73, 138, 217, 255, 255, 255, 104, 0, 1, 1, 3, 1, 2, 9, 0, 0, 5, 36, 193, 226, 211, 169, 107, 2, 7, 0, 6, 6, 75, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 17, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 2, 4, 80, 194, 185, 173, 149, 104, 145, 255, 210, 147, 62, 4, 6, 2, 0, 74, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 205, 186, 168, 154, 151, 140, 120, 95, 70, 86, 139, 143, 125, 255, 255, 255, 118, 4, 2, 1, 1, 6, 0, 0, 1, 0, 0, 35, 141, 165, 167, 113, 72, 2, 0, 3, 8, 134, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 165, 4, 1, 1, 1, 0, 0, 1, 1, 1, 0, 3, 1, 7, 76, 95, 149, 156, 147, 123, 89, 143, 206, 181, 111, 36, 3, 0, 6, 73, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 214, 177, 136, 105, 81, 113, 145, 156, 88, 84, 255, 255, 255, 197, 4, 3, 1, 1, 1, 1, 1, 4, 0, 5, 23, 130, 85, 91, 110, 5, 6, 2, 32, 196, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 71, 9, 1, 1, 0, 0, 0, 0, 1, 1, 3, 0, 2, 46, 151, 172, 140, 132, 117, 97, 65, 121, 122, 127, 72, 3, 1, 5, 127, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 204, 188, 165, 145, 120, 82, 69, 182, 255, 255, 255, 64, 2, 4, 1, 0, 6, 1, 0, 3, 0, 10, 133, 139, 134, 30, 3, 2, 72, 217, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 17, 2, 1, 1, 0, 0, 0, 0, 1, 1, 0, 6, 7, 113, 140, 120, 120, 91, 88, 66, 73, 126, 97, 108, 42, 2, 5, 138, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 224, 210, 196, 179, 161, 138, 118, 83, 60, 141, 255, 255, 255, 255, 100, 29, 3, 1, 1, 1, 0, 6, 2, 4, 56, 121, 33, 5, 6, 127, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 204, 6, 4, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 48, 103, 73, 69, 112, 68, 64, 78, 108, 150, 162, 73, 6, 15, 134, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 211, 199, 186, 169, 154, 135, 106, 159, 213, 169, 203, 255, 255, 255, 255, 255, 219, 152, 93, 41, 9, 0, 0, 0, 8, 2, 3, 20, 159, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 168, 0, 2, 1, 0, 0, 1, 1, 1, 1, 1, 0, 5, 97, 157, 141, 104, 89, 71, 95, 106, 135, 94, 22, 7, 14, 198, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 227, 222, 218, 207, 199, 187, 176, 162, 147, 126, 114, 255, 255, 170, 113, 135, 255, 255, 255, 255, 255, 255, 255, 255, 255, 179, 100, 48, 11, 4, 57, 209, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 123, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 6, 164, 204, 176, 133, 65, 3, 3, 2, 0, 7, 3, 15, 199, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 226, 228, 227, 224, 222, 216, 209, 204, 196, 185, 174, 163, 153, 134, 115, 151, 255, 209, 157, 103, 67, 216, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 228, 217, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 94, 0, 1, 2, 0, 3, 1, 0, 2, 0, 1, 1, 25, 220, 255, 203, 147, 63, 7, 0, 1, 2, 8, 35, 198, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 215, 211, 211, 203, 209, 202, 196, 188, 178, 172, 165, 150, 138, 125, 105, 151, 255, 184, 133, 86, 66, 156, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 91, 5, 0, 0, 5, 2, 2, 5, 0, 0, 5, 0, 42, 255, 255, 200, 134, 46, 0, 2, 3, 2, 49, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 194, 182, 172, 197, 193, 185, 185, 174, 169, 161, 149, 145, 126, 114, 94, 131, 200, 162, 118, 79, 68, 129, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 93, 0, 0, 0, 3, 0, 0, 0, 2, 6, 0, 4, 52, 206, 210, 176, 98, 19, 5, 3, 0, 53, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 198, 111, 36, 182, 173, 177, 163, 164, 157, 143, 135, 129, 112, 101, 83, 82, 177, 135, 97, 62, 84, 138, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 162, 0, 1, 3, 0, 1, 5, 0, 0, 4, 2, 2, 60, 141, 158, 129, 86, 2, 0, 6, 74, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 229, 143, 2, 165, 165, 159, 152, 63, 61, 135, 123, 115, 104, 89, 70, 59, 128, 113, 79, 66, 103, 160, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 196, 8, 0, 0, 1, 2, 0, 4, 5, 0, 1, 0, 48, 124, 81, 88, 45, 5, 3, 105, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 164, 7, 111, 147, 146, 140, 41, 28, 123, 112, 99, 87, 75, 60, 63, 87, 89, 65, 80, 131, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 73, 2, 2, 0, 3, 0, 0, 2, 0, 3, 0, 38, 149, 142, 74, 0, 0, 103, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 44, 60, 132, 126, 129, 43, 11, 103, 96, 90, 73, 61, 62, 71, 100, 90, 93, 128, 192, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 107, 46, 11, 0, 2, 4, 0, 0, 1, 2, 8, 100, 50, 5, 14, 136, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 147, 21, 115, 114, 106, 64, 3, 71, 83, 70, 58, 56, 73, 92, 112, 144, 177, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 188, 118, 56, 17, 6, 2, 10, 0, 3, 3, 11, 169, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 48, 68, 95, 94, 72, 2, 33, 68, 53, 64, 73, 91, 114, 136, 163, 211, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 186, 127, 58, 8, 2, 25, 169, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 210, 102, 76, 69, 67, 12, 14, 53, 67, 77, 89, 108, 138, 158, 206, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 204, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 229, 139, 79, 57, 0, 58, 90, 102, 116, 140, 158, 212, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 228, 169, 135, 124, 128, 136, 167, 198, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]
];
dots = px_gray(levels, center = true, normalize = true);
for(dot = dots) {
translate(dot[0])
square(dot[1]);
}
![px_gray](images/lib2-px_gray-2.JPG)

View File

@@ -11,7 +11,7 @@ Given two points. `px_line` returns points that can be used to draw a pixel-styl
## Examples
include <pixel/px_line.scad>;
use <pixel/px_line.scad>;
for(pt = px_line([-10, 0], [20, 50])) {
translate(pt)
@@ -20,7 +20,7 @@ Given two points. `px_line` returns points that can be used to draw a pixel-styl
![px_line](images/lib2-px_line-1.JPG)
include <pixel/px_line.scad>;
use <pixel/px_line.scad>;
for(pt = px_line([-10, 0, -10], [20, 50, 10])) {
translate(pt)

View File

@@ -11,11 +11,8 @@ Returns points that can be used to draw a pixel-style polygon.
## Examples
include <in_shape.scad>;
include <pixel/px_line.scad>;
include <pixel/px_polyline.scad>;
include <pixel/px_polygon.scad>;
include <shape_pentagram.scad>;
use <pixel/px_polygon.scad>;
use <shape_pentagram.scad>;
pentagram = [
for(pt = shape_pentagram(15))

View File

@@ -10,9 +10,8 @@ Given a list of points. `px_polyline` returns points that can be used to draw a
## Examples
include <pixel/px_line.scad>;
include <pixel/px_polyline.scad>;
include <shape_pentagram.scad>;
use <pixel/px_polyline.scad>;
use <shape_pentagram.scad>;
pentagram = [
for(pt = shape_pentagram(15))
@@ -27,10 +26,8 @@ Given a list of points. `px_polyline` returns points that can be used to draw a
![px_polyline](images/lib2-px_polyline-1.JPG)
include <pixel/px_line.scad>;
include <pixel/px_polyline.scad>;
include <rotate_p.scad>;
include <sphere_spiral.scad>;
use <pixel/px_polyline.scad>;
use <sphere_spiral.scad>;
points_angles = sphere_spiral(
radius = 20,

View File

@@ -12,7 +12,7 @@ Returns points that can be used to draw a pixel-style sphere.
## Examples
include <pixel/px_sphere.scad>;
use <pixel/px_sphere.scad>;
for(pt = px_sphere(10)) {
translate(pt)

21
docs/lib2x-rand.md Normal file
View File

@@ -0,0 +1,21 @@
# rand
Random number generator. Generates a pseudo random number.
**Since:** 2.1
## Parameters
- `min_value` : Minimum value of random number range. Default to 0.
- `max_value` : Maximum value of random number range. Default to 1.
- `seed_value` : Optional. Seed value for random number generator for repeatable results.
## Examples
use <util/rand.scad>;
echo(rand());
echo(rand(1, 10));
echo(rand(seed_value = 4));

View File

@@ -2,7 +2,7 @@
Reverse a list.
**Since: **: 2.0
**Since:**: 2.0
## Parameters
@@ -10,7 +10,7 @@ Reverse a list.
## Examples
include <util/reverse.scad>;
use <util/reverse.scad>;
echo(reverse([1, 2, 3])); // ECHO: [3, 2, 1]

View File

@@ -4,24 +4,21 @@ Rotational extrusion spins a 2D shape around the Z-axis. It's similar to the bui
Because we cannot retrieve the shape points of built-in 2D modules, it's necessary to provide `shapt_pts` and `triangles`.
If your 2D shape is not solid, indexes of triangles are required. See [polysections](https://openhome.cc/eGossip/OpenSCAD/lib-polysections.html) for details.
If your 2D shape is not solid, indexes of triangles are required. See [polysections](https://openhome.cc/eGossip/OpenSCAD/lib2x-polysections.html) for details.
## Parameters
- `shape_pts` : A list of points represent a shape. See the example below.
- `radius` : The circle radius.
- `angle` : Defaults to 360. Specifies the number of degrees to sweep, starting at the positive X axis. It also accepts a 2 element vector which defines the central angle. The first element of the vector is the beginning angle in degrees, and the second element is the ending angle.
- `twist` : The number of degrees of through which the shape is extruded.
- `twist` : The number of degrees of through which the shape is twisted.
- `scale` : Scales the 2D shape by this value over the length of the extrusion. Scale can be a scalar or a vector.
- `triangles` : `"SOLID"` (default), `"HOLLOW"` or user-defined indexes. See [polysections](https://openhome.cc/eGossip/OpenSCAD/lib-polysections.html) for details.
- `triangles` : `"SOLID"` (default), `"HOLLOW"` or user-defined indexes. See [polysections](https://openhome.cc/eGossip/OpenSCAD/lib2x-polysections.html) for details.
- `$fa`, `$fs`, `$fn` : Check [the circle module](https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Using_the_2D_Subsystem#circle) for more details.
## Examples
include <rotate_p.scad>;
include <cross_sections.scad>;
include <polysections.scad>;
include <ring_extrude.scad>;
use <ring_extrude.scad>;
shape_pts = [
[2, -10],
@@ -34,10 +31,7 @@ If your 2D shape is not solid, indexes of triangles are required. See [polysecti
![ring_extrude](images/lib-ring_extrude-1.JPG)
include <rotate_p.scad>;
include <cross_sections.scad>;
include <polysections.scad>;
include <ring_extrude.scad>;
use <ring_extrude.scad>;
shape_pts = [
[2, -10],

View File

@@ -12,7 +12,7 @@ Rotates a point `a` degrees about the axis of the coordinate system or around an
You can use the code below to create a line.
include <rotate_p.scad>;
use <rotate_p.scad>;
hull() {
sphere(1);
@@ -23,7 +23,7 @@ You can use the code below to create a line.
The following code has the same effect.
include <rotate_p.scad>;
use <rotate_p.scad>;
point = [20, 0, 0];
a = [0, -45, 45];
@@ -39,7 +39,7 @@ The following code has the same effect.
The `rotate_p` function is useful in some situations. For example, you probably want to get all points on the path of a spiral around a sphere.
include <rotate_p.scad>;
use <rotate_p.scad>;
radius = 40;
step_angle = 10;
@@ -63,7 +63,7 @@ The `rotate_p` function is useful in some situations. For example, you probably
![rotate_p](images/lib-rotate_p-2.JPG)
include <rotate_p.scad>;
use <rotate_p.scad>;
v = [10, 10, 10];

View File

@@ -11,13 +11,13 @@ Creates a cube in the first octant. When `center` is `true`, the cube is centere
## Examples
include <rounded_cube.scad>;
use <rounded_cube.scad>;
rounded_cube(20, 5);
![rounded_cube](images/lib-rounded_cube-1.JPG)
include <rounded_cube.scad>;
use <rounded_cube.scad>;
rounded_cube(
size = [50, 25, 15],
@@ -27,7 +27,7 @@ Creates a cube in the first octant. When `center` is `true`, the cube is centere
![rounded_cube](images/lib-rounded_cube-2.JPG)
include <rounded_cube.scad>;
use <rounded_cube.scad>;
$fn = 8;

View File

@@ -13,7 +13,7 @@ Creates a rounded cylinder.
## Examples
include <rounded_cylinder.scad>;
use <rounded_cylinder.scad>;
rounded_cylinder(
radius = [20, 10],

View File

@@ -12,7 +12,7 @@ Extrudes a 2D object roundly from 0 to 180 degrees.
## Examples
include <rounded_extrude.scad>;
use <rounded_extrude.scad>;
$fn = 48;

View File

@@ -11,13 +11,13 @@ Creates a rounded square or rectangle in the first quadrant. When `center` is `t
## Examples
include <rounded_square.scad>;
use <rounded_square.scad>;
rounded_square(size = 50, corner_r = 5);
![rounded_square](images/lib-rounded_square-1.JPG)
include <rounded_square.scad>;
use <rounded_square.scad>;
rounded_square(
size = [50, 25],
@@ -27,7 +27,7 @@ Creates a rounded square or rectangle in the first quadrant. When `center` is `t
![rounded_square](images/lib-rounded_square-2.JPG)
include <rounded_square.scad>;
use <rounded_square.scad>;
$fn = 4;
rounded_square(

View File

@@ -11,18 +11,16 @@ Returns shape points of an arc shape. They can be used with xxx_extrude modules
## Examples
include <shape_arc.scad>;
use <shape_arc.scad>;
shape_pts = shape_arc(radius = 10, angle = [-90, 90], width = 5);
polygon(shape_pts);
![shape_arc](images/lib-shape_arc-1.JPG)
include <shape_arc.scad>;
include <rotate_p.scad>;
include <polysections.scad>;
include <path_extrude.scad>;
include <bezier_curve.scad>;
use <shape_arc.scad>;
use <path_extrude.scad>;
use <bezier_curve.scad>;
t_step = 0.05;
width = 2;

View File

@@ -4,14 +4,14 @@ Returns shape points of a regular cyclic polygon. They can be used with xxx_extr
## Parameters
- `sides` : The radius of the circle.
- `sides` : The sides of the circle.
- `circle_r` : The radius of the circumcircle.
- `corner_r` : The radius of the circle at a corner.
- `$fa`, `$fs`, `$fn` : Check [the circle module](https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Using_the_2D_Subsystem#circle) for more details.
## Examples
include <shape_cyclicpolygon.scad>;
use <shape_cyclicpolygon.scad>;
circle_r = 10;
corner_r = 3;
@@ -42,11 +42,8 @@ Returns shape points of a regular cyclic polygon. They can be used with xxx_extr
![shape_cyclicpolygon](images/lib-shape_cyclicpolygon-1.JPG)
include <shape_cyclicpolygon.scad>;
include <rotate_p.scad>;
include <cross_sections.scad>;
include <polysections.scad>;
include <ring_extrude.scad>;
use <shape_cyclicpolygon.scad>;
use <ring_extrude.scad>;
shape_pts = shape_cyclicpolygon(
sides = 5,

View File

@@ -9,7 +9,7 @@ Returns shape points of an ellipse. They can be used with xxx_extrude modules of
## Examples
include <shape_ellipse.scad>;
use <shape_ellipse.scad>;
polygon(
shape_ellipse([40, 20])
@@ -17,13 +17,8 @@ Returns shape points of an ellipse. They can be used with xxx_extrude modules of
![shape_ellipse](images/lib-shape_ellipse-1.JPG)
include <shape_ellipse.scad>;
include <circle_path.scad>;
include <helix.scad>;
include <rotate_p.scad>;
include <cross_sections.scad>;
include <polysections.scad>;
include <helix_extrude.scad>;
use <shape_ellipse.scad>;
use <helix_extrude.scad>;
$fn = 8;

Some files were not shown because too many files have changed in this diff Show More