1
0
mirror of https://github.com/JustinSDK/dotSCAD.git synced 2025-01-17 14:18:13 +01:00

update doc

This commit is contained in:
Justin Lin 2021-08-14 09:09:47 +08:00
parent 2a4bd4c006
commit 249cced4c7
7 changed files with 11 additions and 91 deletions

View File

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 32 KiB

View File

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 32 KiB

View File

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 31 KiB

View File

@ -26,7 +26,7 @@ Rotates a point `a` degrees around the axis of the coordinate system or an arbit
sphere(1);
}
![ptf_rotate](images/lib3x-rotate_p-1.JPG)
![ptf_rotate](images/lib3x-ptf_rotate-1.JPG)
use <ptf/ptf_rotate.scad>;
@ -48,7 +48,7 @@ Rotates a point `a` degrees around the axis of the coordinate system or an arbit
%sphere(radius);
![ptf_rotate](images/lib3x-rotate_p-2.JPG)
![ptf_rotate](images/lib3x-ptf_rotate-2.JPG)
use <ptf/ptf_rotate.scad>;
@ -66,4 +66,4 @@ Rotates a point `a` degrees around the axis of the coordinate system or an arbit
sphere(1);
}
![ptf_rotate](images/lib3x-rotate_p-3.JPG)
![ptf_rotate](images/lib3x-ptf_rotate-3.JPG)

View File

@ -4,6 +4,8 @@ It returns all cross-sections described by rails. Combined with the `sweep` modu
Rails should be indexed count-clockwisely.
**Since:** 3.2
## Parameters
- `rails` : A list of rails used to describe the surface of the model.

View File

@ -1,82 +0,0 @@
# rotate_p
Rotates a point `a` degrees about the axis of the coordinate system or around an arbitrary axis. It behaves as the built-in `rotate` module
## Parameters
- `point` : A 3D point `[x, y, z]` or a 2D point `[x, y]`.
- `a` : If it's `[deg_x, deg_y, deg_z]`, the rotation is applied in the order `x`, `y`, `z`. If it's `[deg_x, deg_y]`, the rotation is applied in the order `x`, `y`. If it's`[deg_x]`, the rotation is only applied to the `x` axis. If it's an number, the rotation is only applied to the `z` axis or an arbitrary axis.
- `v`: A vector allows you to set an arbitrary axis about which the object will be rotated. When `a` is an array, the `v` argument is ignored. **Since:** 1.1.
## Examples
You can use the code below to create a line.
use <rotate_p.scad>;
hull() {
sphere(1);
rotate([0, -45, 45])
translate([20, 0, 0])
sphere(1);
}
The following code has the same effect.
use <rotate_p.scad>;
point = [20, 0, 0];
a = [0, -45, 45];
hull() {
sphere(1);
translate(rotate_p(point, a))
rotate(a)
sphere(1);
}
![rotate_p](images/lib3x-rotate_p-1.JPG)
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.
use <rotate_p.scad>;
radius = 40;
step_angle = 10;
z_circles = 20;
points = [for(a = [0:step_angle:90 * z_circles])
rotate_p(
[radius, 0, 0],
[0, -90 + 2 * a / z_circles, a]
)
];
// Once you get all points on the path, you can place anything at each point.
// I just place a sphere as a simple demonstration.
for(p = points) {
translate(p)
sphere(1);
}
%sphere(radius);
![rotate_p](images/lib3x-rotate_p-2.JPG)
use <rotate_p.scad>;
v = [10, 10, 10];
hull() {
sphere(1);
translate(v)
sphere(1);
}
p = [10, 10, 0];
for(i = [0:20:340]) {
translate(rotate_p(p, a = i, v = v))
sphere(1);
}
![rotate_p](images/lib3x-rotate_p-3.JPG)

View File

@ -40,7 +40,7 @@ The indexes of the above triangles is:
## Examples
use <rotate_p.scad>;
use <ptf/ptf_rotate.scad>;
use <sweep.scad>;
section1 = [
@ -55,7 +55,7 @@ The indexes of the above triangles is:
for(i = [0:55])
[
for(p = section1)
let(pt = rotate_p(p, [90, 0, 10 * i]))
let(pt = ptf_rotate(p, [90, 0, 10 * i]))
[pt[0], pt[1] , pt[2] + i]
]
];
@ -64,7 +64,7 @@ The indexes of the above triangles is:
![sweep](images/lib3x-sweep-7.JPG)
use <rotate_p.scad>;
use <ptf/ptf_rotate.scad>;
use <sweep.scad>;
section1 = [
@ -85,7 +85,7 @@ The indexes of the above triangles is:
for(i = [0:55])
[
for(p = section1)
let(pt = rotate_p(p, [90, 0, 10 * i]))
let(pt = ptf_rotate(p, [90, 0, 10 * i]))
[pt[0], pt[1] , pt[2] + i]
]
];
@ -94,7 +94,7 @@ The indexes of the above triangles is:
![sweep](images/lib3x-sweep-8.JPG)
use <rotate_p.scad>;
use <ptf/ptf_rotate.scad>;
use <sweep.scad>;
section1 = [
@ -113,7 +113,7 @@ The indexes of the above triangles is:
for(i = [0:55])
[
for(p = section1)
let(pt = rotate_p(p, [90, 0, 10 * i]))
let(pt = ptf_rotate(p, [90, 0, 10 * i]))
[pt[0], pt[1] , pt[2] + i]
]
];