bezier_surface


指定一組控制點,這個函式可以傳回貝茲平面上的各個點。結合 function_grapher 模組,就可以畫出貝茲平面。

這個模組相依於 bezier_curve 函式,記得含括 bezier_curve.scad。

參數

  • t_step : 貝茲曲線上兩點間的距離。
  • points : 一組控制點,詳見底下範例。

範例

如果使用 16 個控制點並結合 function_grapher 模組:

include <bezier_curve.scad>;
include <bezier_surface.scad>; 
include <function_grapher.scad>;

t_step = 0.05;
thickness = 0.5;

ctrl_pts = [
    [[0, 0, 20],  [60, 0, -35],   [90, 0, 60],    [200, 0, 5]],
    [[0, 50, 30], [100, 60, -25], [120, 50, 120], [200, 50, 5]],
    [[0, 100, 0], [60, 120, 35],  [90, 100, 60],  [200, 100, 45]],
    [[0, 150, 0], [60, 150, -35], [90, 180, 60],  [200, 150, 45]]
];

g = bezier_surface(t_step, ctrl_pts);
function_grapher(g, thickness);    

bezier_surface

底下這張圖特意畫出控制點以及當中的貝茲曲線:

bezier_surface