polytransversals


在一條曲線(或折線)上多次橫切,會得到許多截線,這個模組則進行相反的動作,可使用既有的截線建立曲線(或折線)。例如,若你有以下截線:

polytransversals

這個模組可以用它來建立:

polytransversals

使用此模組時,請使用點座標來定義截線。

這可以作為 polyline2d 模組的替代方案。如果只有路徑資訊,可以簡單地使用 polyline2dhull_polyline2d 來畫線。如果有路徑上的截線資訊,就可以用 polytransversals 來畫出更好的線。

參數

  • transversals : 截線清單。每個截線會是用座標點來定義。詳見以下範例。

範例

include <rotate_p.scad>;
include <polytransversals.scad>;
include <hull_polyline2d.scad>;

r = 35;    
tran_pts = [[-5, 0], [0, 5], [5, 0]];

trans = [
    for(a = [0:10:120])
        [
            for(p = tran_pts) 
                rotate_p(p, [0, 0, a]) + [r * cos(a), r * sin(a)]
        ]
];

polytransversals(trans);

#for(tran = trans) {
    hull_polyline2d(tran, 0.5);
}

polytransversals