• ベストアンサー

直線を描く

A4用紙に縦に細い直線を描きます 線と線の間の幅をランダムにしたいのですが、どのような命令をしたらよいのでしょうか 初歩的な質問ですみませんが教えてください

質問者が選んだベストアンサー

  • ベストアンサー
  • uruz
  • ベストアンサー率49% (417/840)
回答No.2

下記コードでは、プリンター・オブジェクトのScaleModeがミリメートルに設定されているとして間隔が1mm~5mmで長さ40mmの縦線が20本引かれます Dim i As Long Dim R As Single Dim X As Single '乱数ジェネレータの初期化 Randomize CLng(Format(Now, "ssnnhh")) '最初の位置 X = 10 '20本縦線を描画 For i = 1 To 20 '描画 Printer.Line (X, 10)-Step(0, 40) '次のX位置を計算 Rは1.0~5.0の値になる R = (Rnd(1) * 4# + 1#) X = X + R Next i

kazul
質問者

お礼

ありがとうございます 頂いた回答を参考にさせて頂き 望むものを描くことが出来ました 本当に助かりました m(__)m

その他の回答 (3)

  • usokoku
  • ベストアンサー率29% (744/2559)
回答No.4

>というのは線分間の幅のことです >直線幅は常に同じで線分間の幅が広かったり狭かったり という内容ですが、 「直線幅」と「線分間の幅」意味が解釈できません。 「直線間の距離」というのであれば、直線は平行になります。しかし、線分が平衡に存在するのか、平衡でない線分の場合に、線分のどの点からの距離を意味しているのでしょうか。 「幅」という言葉を使っている限り私では理解できません。 距離又は座標という概念を使ってください http://kids.gakken.co.jp/jiten/2/20019920.html http://www.auemath.aichi-edu.ac.jp/mtc/ecase/e021.htm http://www.h4.dion.ne.jp/~zero1341/t/03.htm http://www5d.biglobe.ne.jp/~tomoya03/shtml/algorithm/Intersection.htm なお、間隔という概念も有ります。 http://yosshy.sansu.org/3tobun.htm 「直線幅」、直線は無限長さですから、描く直線の太さを意味すると解釈できます。 「線分間の幅」は理解できません。線分間の距離ですと、先に上げた定義で2つの線分のもっとも近い点の距離になります。2つの線分が平行か平行でないか、を判断する必要がありますが、「平行な線分」を描くソフトはお持ちのようですので、平行になっていない線分の可能性があります。

kazul
質問者

お礼

ありがとうございました

  • DreamyCat
  • ベストアンサー率56% (295/524)
回答No.3

質問内容を理解できないのですが 単に上式のstepの0の代わりに もうひとつ別の乱数を入れるだけでは? Step(乱数, 40)

kazul
質問者

お礼

ありがとうございました

  • usokoku
  • ベストアンサー率29% (744/2559)
回答No.1

VB6.0なので、他のバージョンでしたらば無視してください。 描画する線の幅は、DrawWidth プロパティで設定します (x2, y2) 必ず指定します。描画の終了点の座標を示す単精度の値です。 (x1, y1) 線または四角形の描画の開始点の座標を示す単精度の値です。 が、ヘルプメッセージからのコピーですが >線と線の間の幅を は、線分A-Bと平行な線分C-Dが存在するときの、線分間の距離ですか それとも、線が描かれているときの空白部分(線の太さを変えて空白の大きさを変える)のですか それとも、他の意味で使っているのでしょうか。 質問文からは、意味が読み取れませんでした。

kazul
質問者

補足

質問内容に不足があり申し訳ございません まず、Ver6.0です 等間隔で平行線を描くプログラムは日常使っております 今回質問したかった 幅をランダムに というのは線分間の幅のことです 直線幅は常に同じで線分間の幅が広かったり狭かったり という線を描きたいです よろしくお願いします

関連するQ&A