麻豆精品无码av,欧美1区2区,久久中文字幕乱码人妻,亚洲欧美另类少妇精品,在线看黄射,69pao高清,九九九久久久国产精品,子操大逼1234区,九九爱99热精品

1
點贊
0
評論
0
轉(zhuǎn)載
收藏

研學(xué)拾貝:關(guān)于TikZ中二次Bezier曲線的畫法

相信LaTeX粉絲對繪圖工具TikZ不會陌生。在TikZ中,有一條繪制三次Bézier 曲線的命令

\draw (起點).. controls (控制點1) and (控制點2).. (終點);

卻沒有繪制二次Bézier 曲線的命令。有人以為,如果控制點1和控制點2相同,就得到一個二次Bézier曲線

\draw (起點).. controls (控制點1) and (控制點1).. (終點);

相應(yīng)地,該命令可以簡化為

\draw (起點) .. controls (控制點1) .. (終點);

其實,這種看法是不正確的。 

實際上,以P0 ,P1,P2 為控制點的二次Bézier曲線q(t) 和以P0,P1,P1,P2 為控制點的三次Bézier 曲線p(t)是不同的。可以證明,只要P0 ,P1,P2 不共線,曲線p(t)就不會退化為二次Bézier 曲線。

為了能夠在TikZ中正確繪制二次Bézier曲線,我們可以借助三次Bézier曲線的命令,利用Bézier曲線的升階算法,定義一個生成二次Bézier曲線的命令 \QuadraticBezier: 

\newcommand{\QuadraticBezier}[3]{(#1) ..controls $(#1)!2/3!(#2)$) and ($(#3)!2/3!(#2)$)..(#3)}

例如,下圖中的紅藍(lán)兩條曲線,就可以分別采用下面兩條語句來實現(xiàn):

\draw[red] (0,0) .. controls (4,0) .. (2.5,3.5); % 繪制三次Bezier曲線

\draw[blue] \QuadraticBezier{(0,0)}{(4,0)}{(2.5,3.5)}; %繪制二次Bezier曲線

中圖和右圖分別演示用de Casteljau算法計算p(1/2)和q(1/2) 的過程。 

聲明:本內(nèi)容系學(xué)者網(wǎng)用戶個人學(xué)術(shù)動態(tài)分享,不代表平臺立場。

廣東工業(yè)大學(xué) 計算機學(xué)院
近期熱門動態(tài)
第二代身份證號碼編碼
6804 2023-10-24 22:39:52
數(shù)字人與元宇宙論壇征稿(截稿日期推遲到7月20日)
3519 2022-05-23 12:02:48
歡迎優(yōu)秀學(xué)子加盟IVI@GDUT-CS
2788 2022-02-24 08:47:28
咬文嚼字:“所提”
965 2024-11-13 10:55:28
咬文嚼字:“我們把它稱之為”
941 2024-11-08 15:56:25
SCHOLAT.com 學(xué)者網(wǎng)
免責(zé)聲明 | 關(guān)于我們 | 聯(lián)系我們
聯(lián)系我們:
返回頂部
会泽县| 磴口县| 阿荣旗| 涿鹿县| 公安县| 汝南县| 梁山县| 古丈县| 朝阳县| 怀仁县| 丰原市| 石门县| 罗源县| 博野县| 南充市| 吉林市| 南投县| 云南省| 武平县| 永寿县| 玉山县| 融水| 大足县| 龙江县| 会理县| 凌源市| 邵东县| 深泽县| 保康县| 元朗区| 长宁区| 宜良县| 邯郸市| 滨海县| 当阳市| 香格里拉县| 文水县| 大足县| 皮山县| 镶黄旗| 开化县|