連載コラムへ
「2線に接し1点を通る円」の作図法
*

<2002.8/22>
*

「2線に接し1点を通る円」60X80の長方形の上の辺と左の辺に接し、かつその長方形の重心を通過する円


接円
  きりの
Tue Aug 20 10:39:20 2002

はじめまして。いつも拝見させていただいております。
VWを使って1年ほどになる者です。
結構使えるようになってきたかな、と思い、CAD利用技術者試験を受けてみようとしています。
が!いきなり過去問でつまずいてしまいました。2級なので、筆記試験のため答えられればいいのですが、
実際にVWで作図できず、悔しい思いをしています。参考書では1コマンドでサラッと描いてしまうように
なっているのですが。(autoCADやJWでは可能なのかな)

60(横)x80(縦)の長方形の上の辺と左の辺に接し、かつその長方形の重心を通過する円

上記の円が描けません。
(2線に接し1点を通る円)
拘束ツールを使いまくって一度だけは描けたのですが、その後同じやり方をしても拘束が却下された
り、拘束が効かなくなったりしてうまく行きません。そもそも拘束ツールで処理するべきものなのか
も疑問です。どなたか教えていただけないでしょうか。
よろしくお願いします。


RE:接円   管理人
Thu Aug 22 16:07:42 2002

きりのさんの難問に天の声あり!
下記は管理人が代筆しました。解答は連載コラムにアップしました。ご覧下さい。
***
VWで作図だけで求める方法は分かりませんでしたが、
各点の座標はすぐ分かるから、半径は簡単に求まるので、
半径を計算で求めてから作図する方法をとってみました。
だから一部に数式解法を使ったので、かっこわるいです。
そんな訳で談話室には書かず、管理人さんにお送りする
ことにしました。


天の声(管理人代筆)

JW_CADには、一発コマンドがありました。何の苦労もなし。
DRACADは、VectorWorksと同様、一発コマンドなし。

VWで作図だけで求める方法は分かりませんでしたが、各点の座標はすぐ分かるから、半径は簡単に求まるので、半径を計算で求めてから作図する方法をとってみました。
だから一部に数式解法を使ったので、かっこわるいです。そんな訳で談話室には書かず、管理人さんにお送りすることにしました。


長方形の左上を原点とすると、重心の座標は(30,-40)
したがって、求める円は、半径をrとすると、
点(r,0),(0,-r),(30,-40)を通る中心(r,-r)の円だから、
 r=√{(30-r)^2+(-40+r)^2)}
が成り立つ。
これを解くと、
 r=70±√2400
r<30を考えて、
 r=70-20√2400(≒21.01)

この半径の円を書けばよいのですが、半径が無理数なので作図で半径を求めなければいけません。
いろいろ方法はあるでしょうが、とにかくrを作図から求めて適当な位置で半径rの円を書き、整列コマンドで、60*80の長方形と左上を揃えてやればできます。


たぶん、上のような数式解法を使えばプラグインを作れたり、ワークシートで半径を計算して作図に反映させる?方法も考えられそうですが、今回のように半径が無理数になる場合は丸め誤差が生じるから正確にはいかないでしょう。
JWはどうやって実現しているのでしょうね?
内部的に上のような計算をやっているのか、それとも幾何学的な、もっとあか抜けた方法があるのか....。
いずれにしても、ちょっと困ったら数式解法に走るのは大学受験のための数学の弊害です。


RE:接円   バイクの羽田
Thu Aug 22 22:54:12 2002

ほ〜、なるほど。補助作図がかしこいですね。数式で解いてもどうやって作図するん
だろうと思ってました。なるほどなるほど。勉強になりました。

これってもしかして、有効桁数の少ないCADなら一発で作図できるんじゃないですか?
それから天の声さんが仰っているように、こうやって作図してもCADの作図じゃなく
なっちゃうので、標準のツールで作図できるんでしょうね?たぶん。
どうやったらいいのかわからないけど・・・。(少し自信喪失・・)


あずまさんの作図手順 (あずまさん図解ありがとうございました。)


RE:接円   あずま
Fri Aug 23 0:31:06 2002

こういう問題を解くのが大好きなので考えてみました。とても難しかったです。
正解がどんなものなのかとても知りたいです。以下が思い付いた手順です。

1)辺の比が6:8の長方形をテキトーに描く。
2)円をテキトーに描く。
3)長方形と円を左上に整列。
4)長方形だけをアクティブにしてから長方形の右下をつまんでプロポーションが変
  わらないようにshiftキーを押しながら図形/角度の表示がでるまで円弧のところ
 までドラッグして長方形だけを変形。
5)伸縮コマンドで長方形だけをタテヨコ2倍の大きさに変形。
6)長方形と円を再び左上に整列。
7)長方形と円をグループにする。
8)できたグループをアクティブにしてからデータパレットのΔXを60、ΔYを80に変更。
9)グループを解除してできあがり。

手数が多いのと『円』図形がタテヨコ比が等しい『長円』図形に変わってしまうのが欠点です。
計算しなくていいとか古いバージョンのものでもできるのが長所です。
描きながら気付いたのですが長方形の外側に円が完全に出てもいいならもうひとつ答えがあるようです。


RE:接円  gaku
Fri Aug 23 7:05:46 2002

接円について考えてみました。最初は書いてることが理解できませんでしたが、
管理人さんの図を見てこのやり方が正解に近いような気がしますが,
簡単に出来たので間違っているかもしれません。
1,四角形60x80を作成し,データーパレットで重心を(0,0)にします。
2,スナップパレットのレファレンスグリットを30(適当に)にします。
3,正円ツールパレットから3点を通る正円を選択し、四角形の右上の線をクリックし
 重心でクリック四角形の左上にクリックすると出来ると思うのですが・・・


RE:接円   バイクの羽田
email:  Fri Aug 23 11:18:37 2002

めちゃくちゃな描き方。

1:60*80の長方形を描く。
2:左上を座標(0,0)にする。
3:スナップグリッドを21.0102・・にする。(表示は設定されている桁数に変わります)
4:3点を通る正円ツールで、四角形の中心、上辺のそれらしき位置、左辺のそれらしき位置をクリックする。

質問:21.0102・・はどこから来たんですか?
羽田:・・・(死んだふり)

P.S.
>gakuさん
「四角形の右上の線をクリック・・」の意味がよくわかりませんです。


RE:接円   バイクの羽田
Fri Aug 23 11:44:03 2002

あ、できちゃった。ちゃんとした描き方。
1:60*80の長方形を描く。
2:左上から右下に対角線を描く。
3:四角形の上辺と左辺に接する円を描く。(ex. 半径30だと右辺にも接します)
4:四角形の左上点と、円と対角線の右下方の交点、この2点間に線を描く。
  つまり対角線に重なっている状態になります。
5:この線と円を選択して、線の右下の点を四角形の中心(=対角線の中心)に重ねる。

円の半径ツールで確認してみて下さい。
表示桁数を上げれば天の声さんが算出してくれた数値と一致しています。

以上、あずまさん方式をこねくり回しているうちに気が付きました。
しまった!と思ったのは、僕が「VectorWorksの達人」で書いた方法と同じ原理だった・・・。


RE:接円   管理人
Fri Aug 23 12:05:12 2002

バイクの羽田さん、
ん? ん? ん?
管理人は数字が出てくると失神しますが、
じつは、言葉からイメージするのも苦手です。(じゃあ何が出来るんだ?)
そこで、「VectorWorksの達人」に図解があると踏んで調べましたが、
そもそも判っていないものが見つかるわけないですね... (^^;)
ええ〜ん、どなたか図解してくんなましぃ...m(^_^;)m

バイクの羽田さんの作図手順 (羽田さん図解ありがとうございました。)

1:60*80の長方形を描く。
2:左上から右下に対角線を描く。
3:四角形の上辺と左辺に接する円を描く。(ex. 半径30だと右辺にも接します)
4:四角形の左上点と、円と対角線の右下方の交点、この2点間に線を描く。
  つまり対角線に重なっている状態になります。
5:この線と円を選択して、線の右下の点を四角形の中心(=対角線の中心)に重ねる。

円の半径ツールで確認してみて下さい。
表示桁数を上げれば天の声さんが算出してくれた数値と一致しています。


RE:接円   あずま
Fri Aug 23 12:23:24 2002

バイクの羽田さんの円と直線を組み合わせて円を変形させるというのは賢いと思いまし
た。ちょっと思い付かなかった。こっちのほうがかなり楽ですよね。コマンドも使わな
いで描けてしまうところがずっとスマート。
gakuさんのもトライしてみましたがやりかたがよく理解できなくて描けませんでした。
こっちの図解もできればあるとうれしいです。よろしくおねがいします。


RE:接円 gaku
Fri Aug 23 15:12:48 2002

普段,文字で説明することがなくて何て書いていいのか・・・
管理人さんあてに図解を送りますので,解説よろしくおねがいします。


RE:接円   ゴンスケ
Fri Aug 23 16:22:08 2002

羽田さんの方法を試してみたのですが、円と対角線の交点がうまく
スナップできません。拡大してみるとちょっとずれています。
天の声さんのでやってみても、ずれてしまいます。

スナップが下手のことを棚に上げて、その理由を考えてみたら、有効桁数の
限られたCADでは、座標が無理数の点をスナップできないからではないか
ということに思い当たりました。そうしたら、今回のように中心も半径も
無理数を値として持つなる円にかぎらず、データ構造上、無理数を値として
もつ図形は、CADでは原則的に書けないということになります。

だから、例の問題は、コンパスなどのアナログな道具を使った幾何学的作図の
問題としては成立しても、デジタルなCADの問題としては成立しない???


RE:接円(補足)   ゴンスケ
Fri Aug 23 16:56:36 2002

ちょっと言葉足らずの部分があったので、補足です。
羽田さんや天の声さんの方法は、数学的、幾何学的には正しいと思います。
でも、CADでは正確な作図はできないのではないか、ということを言いたいかった
のでした。


RE:接円(補足)   バイクの羽田
Fri Aug 23 17:50:37 2002

>ゴンスケさん
スナップパレットの左上の、「グリッドスナップ」をOFFにしていますか?


みなさんありがとうございます   きりの
Sat Aug 24 1:07:51 2002

接円の問題を質問させていただいた、きりのです。みなさんありがとうございます!
勉強になってます。バイクの羽田さん、さすがですねぇ。絵画的な描画方法(笑)がいかにも
VWぽくっていいなと思いました。って言うか、2つのオブジェクトを選択してまとめて変形できる
なんて知りませんでした。今まではこんな時いつもグループ化していたので、このテクニックだけでも
ものすごくためになりました。グループだとスナップポイントも限られますし。

言い出しっぺの責任上なんとか自分でも描画しようと思い、試行錯誤していますが、いまだ成功せずです。
やはり拘束ツールが気になって、縛っては解き、縛っては解きをくりかえしています。
しかし、長さで拘束してたはずの辺が平気で短くなったり長くなったりして手におえません。
普段の作図では拘束ツールは滅多に使用しないんですが、こういう時に使わずにいつ使うんでしょう。
なんか深そうな気がするんですけどねぇ。赤いし。(笑)

あと、ゴンスケさんの言う通り、円と対角線の交点スナップはうまくいく時といかない時があるようです。
スナップの表示が出ても1万倍ぐらいにするとちゃんとくっついていなかったりするようです。
1万倍でくっつけてもさらにズームすると離れていたりします。
このくっつき具合(その都度違う)が掲示板にある解説の中の『?』の原因ではないでしょうか。
まぁ、有効桁数に対して無理数ですからしょうがないのでしょうね。

最近、3DPowerpackの遅さにまいっているきりのでした。

PS それにしてもバイクの羽田さん、僕には『めちゃくちゃな描き方。』と『あ、できちゃった』はとても
同一人物とは思えませんでした。(笑)


円周上の交点スナップ   バイクの羽田
Sat Aug 24 10:09:45 2002

お役に立つことができて大変嬉しいです。
どうにかセミナー講師の面目を保つことができましたか・・。(ほっ。)
でもまだ他にも描画方法があると思います。gakuさんを始め、皆さんの自分らしさを
発揮した描き方のご報告を、ぜひお願いします。CADには正解がないこと、自分らしく
使うことが最も効率的であること、これが僕の一番言いたいことです。

それから円周上の点にスナップをしたとき、拡大すると円周から外れたり乗ったりす
るというのは、VectorWorksが内部では精度の高い円を定義することができても、モニ
ターはそのままの精度では描画できないからです。環境設定の中の「描画」と「3D」
のところに円周の分割数を指定する項目がありますが、これを最高にあげてもたった
256分割です。256角形にしか表現できないのですが、VectorWorksの演算精度はもっと
もっと高いのです。

従って円周上の点にスナップさせる場合、実際に線に乗っかって見えるかどうかは重
要ではなく、スクリーンヒント「図形/図形」が現れる点が本当の円周上の点なので
す。表示桁数を大きくした寸法ツールで測定して、計算結果と照らし合わせるとわか
ると思います。

残念ながら現在のビデオ出力を使っている限りこの問題は解決されないと思います。
(MacのOS X ならなんとかなるのか??)
1万倍に拡大したら、円と256角形ははっきりとずれますからね。画面上の何もない
ところにスナップして、ヘンな気持ちがすると思いますが、VectorWorksの気持ちも
わかってあげて下さい。VectorWorksだってすごくハガユいのです。

P.S.
>きりのさん
同一人物とは思えませんでしたか。ん?どっちが何・・? あれ?
3D PowerPac本当に重いですね。そのためにMacを買い換えようと思っています・・。

*