JPH06274308A - ベジェ曲線均等肉付け作成処理方法 - Google Patents

ベジェ曲線均等肉付け作成処理方法

Info

Publication number
JPH06274308A
JPH06274308A JP5061621A JP6162193A JPH06274308A JP H06274308 A JPH06274308 A JP H06274308A JP 5061621 A JP5061621 A JP 5061621A JP 6162193 A JP6162193 A JP 6162193A JP H06274308 A JPH06274308 A JP H06274308A
Authority
JP
Japan
Prior art keywords
bezier curve
bezier
point
points
curve
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP5061621A
Other languages
English (en)
Inventor
Tsuneko Kura
恒子 倉
Aiko Kitagawa
愛子 北川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP5061621A priority Critical patent/JPH06274308A/ja
Publication of JPH06274308A publication Critical patent/JPH06274308A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Digital Computer Display Output (AREA)
  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

(57)【要約】 【目的】元のベジェ曲線に対し各々垂直な方向に均等な
距離を持ったベジェ曲線を作成し,自然な形のアウトラ
インフォント等の作成を可能とすることを目的とする。 【構成】与えられたベジェ曲線の始点とその制御点,終
点とその制御点の情報をもとに,元の始点・終点から元
のベジェ曲線の垂直方向に各々所定の距離を持つ各2点
を求め,それらを肉付けに用いる2本のベジェ曲線の始
点・終点とし,また元の制御点から元のベジェ曲線の垂
直方向に各々所定の距離を持つ各2点を求め,それらを
肉付けに用いる2本のベジェ曲線の制御点として,元の
ベジェ曲線から各々均等な幅を持つ2本のベジェ曲線を
作成する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は,骨格となる線図形に肉
付けをしてアウトラインフォントを作成する分野におい
て,骨格となるベジェ曲線に均等に肉付けをすることを
目的としたベジェ曲線均等肉付け作成処理方法に関する
ものである。
【0002】
【従来の技術】図9(a) はベジェ曲線を平行移動して2
本のベジェ曲線を作成した例,図9(b) は従来の肉付け
方法の例を示す図である。
【0003】従来の方法では,ベジェ曲線に対する肉付
け処理を以下のように行っていた。図9(a) に示すよう
に,元となるベジェ曲線Bを肉付けしたい幅d′,d″
分だけ平行移動して,2本のベジェ曲線B′,B″を得
る。次に,図9(b) に示すように,元となるベジェ曲線
Bの端点とその各々の制御点を結ぶ線分と,その線分に
垂直な傾きを持ち,かつ各々の端点を通る直線を引く。
このとき,平行移動した一方のベジェ曲線B′と直線と
の交点でベジェ曲線B′を分断する。また,もう一方の
ベジェ曲線B″の各々の端点から直線に垂直に交わるよ
うに線分を引く。以上のようにして作成した線分列に基
づいて,アウトラインフォントを作成していた。
【0004】この方法では,ベジェ曲線を平行移動して
いるため,ベジェ曲線間の距離は,一定方向には同じで
あるが,ベジェ曲線に垂直な方向における距離は一定で
はないので,均等な幅を持つアウトラインフォントを作
成することができないという欠点があった。また,ベジ
ェ曲線と線分列を接続するため,データ量が増えるとい
う欠点もあった。
【0005】
【課題を解決するための手段】本発明の目的は,従来の
方法の欠点を除去し,元のベジェ曲線の構成点を結んで
できる線分列に等距離な幅を持つ線分列を用いることに
より,元のベジェ曲線に各々垂直な方向に均等な距離を
持ったベジェ曲線を作成する方法を提供することにあ
る。
【0006】
【課題を解決するための手段】本発明では,次の方法に
より元のベジェ曲線に各々垂直な方向に均等な距離を持
ったベジェ曲線を作成する。
【0007】まず,与えられたベジェ曲線の始点とその
制御点を結ぶ線分に垂直な傾きを持ちかつ始点を通る第
1の直線を算出する。同様に,与えられたベジェ曲線の
終点とその制御点を結ぶ線分と,その線分に垂直な傾き
を持ちかつ終点を通る第2の直線を算出する。そして,
これらの直線の交点を算出する。
【0008】次に,第1の直線上で,元のベジェ曲線の
始点から各々所定の距離を持つ2点であって,元のベジ
ェ曲線に肉付けするために作成する2本のベジェ曲線の
始点となる2点を定める。同様に第2の直線上で,元の
ベジェ曲線の終点から各々所定の距離を持つ2点であっ
て,元のベジェ曲線に肉付けするために作成する2本の
ベジェ曲線の終点となる2点を定める。
【0009】次に,第1,第2の2本の直線の交点と,
元のベジェ曲線における始点の制御点とを通る第3の直
線を算出する。その直線上で,元のベジェ曲線における
始点の制御点から各々所定の距離を持つ2点であって,
元のベジェ曲線に肉付けするために作成する2本のベジ
ェ曲線の始点の制御点となる2点を定める。
【0010】同様に,第1,第2の2本の直線の交点
と,元のベジェ曲線における終点の制御点とを通る第4
の直線を算出する。その直線上で,元のベジェ曲線にお
ける終点の制御点から各々所定の距離を持つ2点であっ
て,元のベジェ曲線に肉付けするために作成する2本の
ベジェ曲線の終点の制御点となる2点を定める。
【0011】こうして求めた点を構成点として,元のベ
ジェ曲線から各々均等な幅を持つ2本のベジェ曲線を作
成する。もちろん,本発明による処理の順序はこれに限
られるわけではなく,構成点を求める処理の順序を変更
することは可能である。
【0012】ベジェ曲線の制御点同士を結んだ線分がベ
ジェ曲線と交わる場合には,その交点を曲線の分割点と
して,元の1本のベジェ曲線を2本のベジェ曲線に分割
し,各々のベジェ曲線から各々均等な幅を持つ2本のベ
ジェ曲線を作成する。
【0013】
【作用】本発明は,元のベジェ曲線の構成点を結んでで
きる線分列に等距離な幅を持つ線分列を用いることで,
その曲線に均等な幅で肉付け処理を行うことを最も主要
な特徴とする。
【0014】従来技術とは,ベジェ曲線を肉付けする際
に,円弧などの異なる種類の曲線を用いるのではなく,
同じ種類であるベジェ曲線を用いるという点で異なる。
【0015】
【実施例】ベジェ曲線は,例えば骨格となる図形からア
ウトラインフォントを生成する処理において図形の骨格
として用いられる。図2はその3次のベジェ曲線の例を
表したものである。本文では,単にベジェ曲線と記述し
て説明する。図2において,Bはベジェ曲線,P0 ,P
3 はそれぞれベジェ曲線Bの始点と終点,P1 ,P 2
ベジェ曲線Bの制御点である。P0 〜P3 をベジェ曲線
Bの構成点という。なお,以下の本文中の説明ではベク
トルaを↑aで表す。
【0016】ベジェ曲線は,始点,終点と2つの制御点
から構成される曲線であり,曲線上の点の位置ベクトル
↑pを時間tの関数として,曲線の端点を↑p0 ,↑p
3 とし,制御点を↑p1 ,↑p2 で表したとき,次の式
で表されるものである。
【0017】 ↑p(t) = (1-t)3 ↑p0 + 3t(1-t)2 ↑p1 +3t2 (1-t) ↑p2 + t3 ↑p3 (0≦t≦1) この式で,t=0のとき始点↑p0 を,t=1のとき終
点↑p3 を表す。
【0018】図3はベジェ曲線や直線分などを用いて描
いた骨格文字を表したもの,図4は図3に肉付け処理を
行って作成したアウトラインフォントを表したものであ
る。本発明は,図3に示すような骨格文字から図4のよ
うなアウトラインフォントを作成するために用いられる
ものである。 [実施例1]以下,図1に示す処理フローチャートに従
って,本発明の実施例を詳細に説明する。
【0019】図5は,図1に示すstep1,step2および
step3を説明するための図である。図5において, B :元となるベジェ曲線, P0 〜P3 :曲線Bを構成する点, S01 :点P0 と点P1 を結んだ線分, θ0 :線分S01の傾き, S23 :点P2 と点P3 を結んだ線分, θ3 :線分S23の傾き, L0 :線分S01に垂直で点P0 を通る直線, L3 :線分S23に垂直で点P3 を通る直線, K :直線L0 と直線L3 との交点, d′,d″:曲線Bに肉付けする幅, P0 ′,P3 ′:曲線Bにd′の幅で肉付け作成する曲
線の始・終点, P0 ″,P3 ″:曲線Bにd″の幅で肉付け作成する曲
線の始・終点, である。 <step1>元になるベジェ曲線Bを表す方程式を x(t)=ax ・t3 +bx ・t2 +cx ・t+x0
(0≦t≦1) y(t)=ay ・t3 +by ・t2 +cy ・t+y0
(0≦t≦1) とする。このとき,各々の係数ax ,bx ,cx
y ,by ,cy は4つの点の座標値で表される。
【0020】ax =x3 −3・x2 +3・x1 −x0x =3(x2 −2・x1 +x0 ) cx =3(x1 −x0 ) ay =y3 −3・y2 +3・y1 −y0y =3(y2 −2・y1 +y0 ) cy =3(y1 −y0 ) <step2>始点P0 とP0 の制御点P1 との傾きυ0
求め,P0 とP1 とを結ぶ線分S 01に垂直でP0 を通る
直線をL0 とする。
【0021】終点P3 とP3 の制御点P2 との傾きυ3
を求め,P2 とP3 とを結ぶ線分S 23に垂直でP3 を通
る直線をL3 とする。L0 とL3 より,この2直線が交
わる点Kの座標(xk ,yk )を求める。 <step3>ここで,交点Kと同じ方向に肉付けする幅を
d′とする。作成する第二のベジェ曲線B′の始点
0 ′と終点P3 ′の座標は, P0 ′=(x0 +d′・ cosυ0 ,y0 +d′・ sinυ
0 ) P3 ′=(x3 +d′・ cosυ3 ,y3 +d′・ sinυ
3 ) 一方,交点Kと反対方向に肉付けする幅をd″とする。
作成する第三のベジェ曲線B″の始点P0 ″と終点
3 ″の座標は, P0 ″=(x0 −d″・ cosυ0 ,y0 −d″・ sinυ
0 ) P3 ″=(x3 −d″・ cosυ3 ,y3 −d″・ sinυ
3 )で求められる。
【0022】図6は,図1に示すstep4およびstep5を
説明するための図である。図6において, B :元となるベジェ曲線, L1 :点P1 と交点Kを通る直線, θ1 :直線L1 の傾き, φ1 :直線L0 と直線L1 とのなす角, L2 :点P2 と交点Kを通る直線, θ2 :直線L2 の傾き, φ2 :直線L2 と直線L3 とのなす角, P1 ′,P2 ′:曲線Bにd′の幅で肉付け作成する曲
線の制御点, P1 ″,P2 ″:曲線Bにd″の幅で肉付け作成する曲
線の制御点, である。 <step4>交点Kと制御点P1 とを結ぶ直線をL1 ,そ
の傾きをυ1 とする。交点Kと制御点P2 とを結ぶ直線
をL2 ,その傾きをυ2 とする。
【0023】また,直線L0 とL1 とのなす角をφ1
直線L2 とL3 とのなす角をφ2 とすると,
【0024】
【数1】
【0025】で求められる。 <step5>このとき,制御点P1 およびP2 から距離
d′だけ移動する点をP1 ′およびP2 ′とすると,P
n とPn ′(n=1or2)との距離は,
【0026】
【数2】
【0027】また,制御点P1 およびP2 から距離d″
だけ移動する点をP1 ″およびP2 ″とすると,Pn
n ″(n=1or2)との距離は,
【0028】
【数3】
【0029】で求められる。従って,P1 ′および
2 ′の座標は
【0030】
【数4】
【0031】また,P1 ″およびP2 ″の座標は
【0032】
【数5】
【0033】で求められる。 <step6> 1)ベジェ曲線B′の方程式は x(t)=ax ′・t3 +bx ′・t2 +cx ′・t+
0 ′(0≦t≦1) y(t)=ay ′・t3 +by ′・t2 +cy ′・t+
0 ′(0≦t≦1) となる。各々の係数は, ax ′=x3 ′−3・x2 ′+3・x1 ′−x0 ′ bx ′=3(x2 ′−2・x1 ′+x0 ′) cx ′=3(x1 ′−x0 ′) ay ′=y3 ′−3・y2 ′+3・y1 ′−y0 ′ by ′=3(y2 ′−2・y1 ′+y0 ′) cy ′=3(y1 ′−y0 ′) である。
【0034】2)ベジェ曲線B″の方程式は x(t)=ax ″・t3 +bx ″・t2 +cx ″・t+
0 ″(0≦t≦1) y(t)=ay ″・t3 +by ″・t2 +cy ″・t+
0 ″(0≦t≦1) となる。各々の係数は, ax ″=x3 ″−3・x2 ″+3・x1 ″−x0 ″ bx ″=3(x2 ″−2・x1 ″+x0 ″) cx ″=3(x1 ″−x0 ″) ay ″=y3 ″−3・y2 ″+3・y1 ″−y0 ″ by ″=3(y2 ″−2・y1 ″+y0 ″) cy ″=3(y1 ″−y0 ″) である。
【0035】step1からstep6の6段階のステップを経
て,元のベジェ曲線Bに均等な幅を持つベジェ曲線
B′,B″を求めることができる。図7に上記の方法を
適応した例を示す。図7から明らかなように,目的にあ
ったベジェ曲線の肉付け処理を行うことができる。 [実施例2]図8は,制御点を結んだ線分がベジェ曲線
と交わる場合の例を説明するための図である。図8にお
いて,Bは元となるベジェ曲線,P0 ,P3 はベジェ曲
線Bの始・終点,P1 ,P2 はベジェ曲線Bの制御点,
4 は制御点P1 とP2 とを結んだ線分とベジェ曲線B
との交点(分割点)を表す。
【0036】図8(a) に示すように,制御点P1 ,P2
を結んだ線分がベジェ曲線と交点を持つ場合には,その
交点を分割点P4 とする。そして,図8(b) に示すよう
に,始点P0 から分割点P4 を通る曲線を求め,これを
ベジェ曲線B1 とする。同様にして,分割点P4 から終
点P3 を通る曲線を求め,これをベジェ曲線B2 とす
る。
【0037】この各々のベジェ曲線B1 ,B2 に対し
て,実施例1で述べたstep1からstep6を適用すればよ
い。もしも,各々の制御点を結ぶ線分とベジェ曲線との
交点が存在する場合には,交点がなくなるまでベジェ曲
線の分割を繰り返す。
【0038】上記の手順を経て得られた2本のベジェ曲
線の端点同士を結ぶことによって,角ゴシック体の文字
を作成することができる。また,d′=d″ならば円弧
を用いて端点を結ぶ,あるいはd′≠d″ならば,例え
ば伸開線 x(t)= cost+t・ sint y(t)= sint−t・ cost を用いて端点を結ぶことによって,丸ゴシック体の文字
を作成することができる。
【0039】
【発明の効果】以上説明したように,本発明によれば,
与えられているベジェ曲線の点の座標値を用いて,それ
らの点を結ぶ線分列に等距離な幅を持つ線分列になるよ
うな点の座標値を求めることにより,元のベジェ曲線に
均等な幅を持ったベジェ曲線を生成することが可能とな
り,均等な幅をもった文字を作成することができる。ま
た,本発明は,文字作成の分野にとどまらず,デザイン
等の分野においてもこの技術を適応することができると
いう利点がある。
【図面の簡単な説明】
【図1】本発明の実施例の処理フローチャートである。
【図2】ベジェ曲線を説明するための図である。
【図3】直線やベジェ曲線で描かれた骨格文字の例を示
す図である。
【図4】図3に示す骨格文字に基づいて各々の線分に肉
付け処理を施した結果を示す図である。
【図5】図1に示すstep1〜step3を説明するための図
である。
【図6】図1に示すstep4,step5を説明するための図
である。
【図7】本発明を適用した例を示す図である。
【図8】制御点を結んだ線分がベジェ曲線と交わる場合
の例を説明するための図である。
【図9】従来技術を説明する図である。
【符号の説明】
B 元となるベジェ曲線 P0 ,P3 曲線Bの始点,終点 P1 ,P2 曲線Bの制御点 B′,B″ 曲線Bに肉付けするためのベジェ曲線 P0 ′,P3 ′ 曲線B′の始点,終点 P1 ′,P2 ′ 曲線B′の制御点, P0 ″,P3 ″ 曲線B″の始点,終点 P1 ″,P2 ″ 曲線B″の制御点,

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 与えられたベジェ曲線を骨格としてそれ
    に肉付けを施す文字処理または図形処理を行う装置にお
    ける曲線肉付け作成処理方法において,与えられたベジ
    ェ曲線の始点とその制御点を結ぶ線分に垂直な傾きを持
    ちかつ始点を通る第1の直線を算出する過程と,与えら
    れたベジェ曲線の終点とその制御点を結ぶ線分と,その
    線分に垂直な傾きを持ちかつ終点を通る第2の直線を算
    出する過程と,前記第1の直線および前記第2の直線の
    交点を算出する過程と,前記第1の直線上で,元のベジ
    ェ曲線の始点から各々所定の距離を持つ2点であって,
    元のベジェ曲線に肉付けするために作成する2本のベジ
    ェ曲線の始点となる2点を定める過程と,前記第2の直
    線上で,元のベジェ曲線の終点から各々所定の距離を持
    つ2点であって,元のベジェ曲線に肉付けするために作
    成する2本のベジェ曲線の終点となる2点を定める過程
    と,前記2本の直線の交点と,元のベジェ曲線における
    始点の制御点とを通る第3の直線を算出する過程と,前
    記2本の直線の交点と,元のベジェ曲線における終点の
    制御点とを通る第4の直線を算出する過程と,前記第3
    の直線上で,元のベジェ曲線における始点の制御点から
    各々所定の距離を持つ2点であって,元のベジェ曲線に
    肉付けするために作成する2本のベジェ曲線の始点の制
    御点となる2点を定める過程と,前記第4の直線上で,
    元のベジェ曲線における終点の制御点から各々所定の距
    離を持つ2点であって,元のベジェ曲線に肉付けするた
    めに作成する2本のベジェ曲線の終点の制御点となる2
    点を定める過程とを有し,元のベジェ曲線から各々均等
    な幅を持つ2本のベジェ曲線を作成することを特徴とす
    るベジェ曲線均等肉付け作成処理方法。
  2. 【請求項2】 請求項1記載のベジェ曲線均等肉付け作
    成処理方法において,ベジェ曲線の制御点同士を結んだ
    線分がベジェ曲線と交わる場合には,その交点を曲線の
    分割点として,元の1本のベジェ曲線を2本のベジェ曲
    線に分割し,各々のベジェ曲線から各々均等な幅を持つ
    2本のベジェ曲線を作成することを特徴とするベジェ曲
    線均等肉付け作成処理方法。
JP5061621A 1993-03-22 1993-03-22 ベジェ曲線均等肉付け作成処理方法 Pending JPH06274308A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5061621A JPH06274308A (ja) 1993-03-22 1993-03-22 ベジェ曲線均等肉付け作成処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5061621A JPH06274308A (ja) 1993-03-22 1993-03-22 ベジェ曲線均等肉付け作成処理方法

Publications (1)

Publication Number Publication Date
JPH06274308A true JPH06274308A (ja) 1994-09-30

Family

ID=13176441

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5061621A Pending JPH06274308A (ja) 1993-03-22 1993-03-22 ベジェ曲線均等肉付け作成処理方法

Country Status (1)

Country Link
JP (1) JPH06274308A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113626985A (zh) * 2021-07-13 2021-11-09 的卢技术有限公司 电机转子结构的生成方法、装置、计算机设备和存储介质
CN113961008A (zh) * 2021-10-25 2022-01-21 上海同普电力技术有限公司 一种应用于agv曲线路径导航跟随方法
CN114170372A (zh) * 2021-09-24 2022-03-11 西安电子科技大学 一种光纤线包精密缠绕数字化模型的跨层退绕方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113626985A (zh) * 2021-07-13 2021-11-09 的卢技术有限公司 电机转子结构的生成方法、装置、计算机设备和存储介质
CN113626985B (zh) * 2021-07-13 2023-10-24 的卢技术有限公司 电机转子结构的生成方法、装置、计算机设备和存储介质
CN114170372A (zh) * 2021-09-24 2022-03-11 西安电子科技大学 一种光纤线包精密缠绕数字化模型的跨层退绕方法
CN114170372B (zh) * 2021-09-24 2023-09-12 西安电子科技大学 一种光纤线包精密缠绕数字化模型的跨层退绕方法
CN113961008A (zh) * 2021-10-25 2022-01-21 上海同普电力技术有限公司 一种应用于agv曲线路径导航跟随方法

Similar Documents

Publication Publication Date Title
US5363479A (en) System and method for rendering bezier splines
JPH01196675A (ja) パターンデータ生成方式
JP3366213B2 (ja) 曲線の微小線分化方法およびスプライン補間機能を有する数値制御装置
US5293472A (en) Method of generating lines and curves of user specified thicknesses on a raster device
JPH06274308A (ja) ベジェ曲線均等肉付け作成処理方法
JPH05269956A (ja) 任意の線に沿って組版する電子組版装置
US5353396A (en) System and method for generating complex calligraphic curves
JP3059739B2 (ja) 曲線描画機能を備えた情報処理装置および処理方法
JP2878614B2 (ja) 画像合成方法及び装置
JPH08194816A (ja) 線分近似方法および線分近似方式
JP3305395B2 (ja) 図形分割装置
JPH0493992A (ja) 文字・図形描画装置
JP3536894B2 (ja) 図形処理装置
JP2507812B2 (ja) 平方根計算方法
JP2771981B2 (ja) 高品質文字パターン発生方式
JP2802646B2 (ja) ベクトルフオントによる文字パターンの変倍処理方法
JPH0695644A (ja) 文字パターンの直線認識方式
JPH0887585A (ja) 図形データの階層的近似化方法
JP2835056B2 (ja) 高品質文字パターン発生方式
JP3334989B2 (ja) 図形作成装置及び方法
JPH02130689A (ja) 図形処理装置
JPS63127288A (ja) パタ−ン生成装置
JPH0261779A (ja) 座標データ処理装置
JPH0332111B2 (ja)
JPH0425983A (ja) 図形描画装置