向量变换与3D空间可视化
1. 二维向量集合的变换
向量集合可以存储空间数据,如恐龙的图形,无论使用极坐标还是笛卡尔坐标。在操作向量时,不同的坐标系各有优劣。
- 笛卡尔坐标与平移 :使用笛卡尔坐标进行向量集合的平移很容易。例如,将向量集合在平面上移动到新的位置。
- 极坐标与旋转 :极坐标内置了角度信息,因此在进行向量旋转时更为简单。在极坐标中,增加角度会使向量逆时针旋转,减少角度则使向量顺时针旋转。
以下是一个旋转恐龙图形的示例代码:
rotation_angle = pi/4
dino_polar = [to_polar(v) for v in dino_vectors]
dino_rotated_polar = [(l,angle + rotation_angle) for l,angle in dino_polar]
dino_rotated = [to_cartesian(p) for p in dino_rotated_polar]
draw(
Polygon(*dino_vectors, color=gray),
Polygon(*dino_rotated, color=red)
)
2. 向量变换的组合
向量的平移、缩放和旋转等变换可以单独应用,也可以按顺序组合使用。例如,先旋转恐龙图形,再进行平移:
ne
超级会员免费看
订阅专栏 解锁全文
1783

被折叠的 条评论
为什么被折叠?



