痔になりやすい生活習慣とは?

Gooで初めて質問させていただきます。
仕事の関係で「ヒトがフリーハンドで書いた五角形の各辺(線分)の長さや隣り合う辺がなす角度」を計測する必要が生じ,これをなるべく迅速かつできるだけ正確に行えないか?ということで,以下のことをトライしてみました。

1.白紙(A5版)に五角形をフリーハンドで書く
2.スキャナで取り込む(条件:600dpi,JPEG)
3.パワポ上でこの五角形の頂点を「図形描画>フリーフォーム」でクリックしつつトレース
4.トレースできた五角形のみをJPEGで保存
5.ImageJで開く

…で,この五角形(フリーハンドで書いた五角形をトレースしたものなので,当然,正五角形ではありません。)の各辺の長さと隣り合う辺のなす角度を画像解析ツールで測定し,5辺の長さと五箇所の角度を一気に結果表示する…というようなマクロプログラムというのは書けるものなのでしょうか。

ImageJは初心者なもので,もしおわかりの方がいらっしゃいましたら御教示くださいますようお願い申し上げます。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

ImageJ関係なく、



> 1.白紙(A5版)に五角形をフリーハンドで書く
> 2.スキャナで取り込む(条件:600dpi,JPEG)
> 3.パワポ上でこの五角形の頂点を「図形描画>フリーフォーム」でクリックしつつトレース

この時点でパワポは5点の座標を知ってるわけですから、VBAで計算してしまう方が簡単だし、画像化する事による余計な誤差が入らずに済むのでは。

5点取り出すVBAですと、Power Pointの1枚目のスライドに、5点以上のフリーフォームが1つある状態で、

・Alt+F11でVBE起動。
・左側プロジェクトエクスプローラの対象プレゼンテーションを右クリック-[挿入]-[標準モジュール]
・下記のVBAをコピペ

-----ここから-----
Sub GetPentaInfo()
 Dim x(5) As Single
 Dim y(5) As Single

 Set myDocument = ActivePresentation.Slides(1)

 With myDocument.Shapes(1).Nodes
  For iCount = 1 To 5
   pointsArray = .Item(iCount).Points
   x(iCount) = pointsArray(1, 1)
   y(iCount) = pointsArray(1, 2)
   MsgBox x(iCount) & ", " & y(iCount)
  Next
 End With
End Sub
-----ここまで-----

・パワーポイントに戻り、Alt+F8でマクロ呼び出し、「GetPentaInfo」を実行

で、5点の座標が表示されます。


あとは、三平方の定理で辺の長さを求めたり、3点のなす角なんかを求める式で角度計算とか。
    • good
    • 0
この回答へのお礼

neKo deux様
早速に誠に御丁寧な解説をご教示くださり、本当に有り難うございました。
VBAもほぼ初心者ですが、自力でなんとか頑張ってみます。
本当に有り難うございました。

お礼日時:2015/01/18 00:22

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


このカテゴリの人気Q&Aランキング