重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

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

A 回答 (4件)

下記コードでは、プリンター・オブジェクトの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
    • good
    • 0
この回答へのお礼

ありがとうございます

頂いた回答を参考にさせて頂き
望むものを描くことが出来ました

本当に助かりました
m(__)m

お礼日時:2010/02/14 14:45

>というのは線分間の幅のことです


>直線幅は常に同じで線分間の幅が広かったり狭かったり
という内容ですが、
「直線幅」と「線分間の幅」意味が解釈できません。
「直線間の距離」というのであれば、直線は平行になります。しかし、線分が平衡に存在するのか、平衡でない線分の場合に、線分のどの点からの距離を意味しているのでしょうか。
「幅」という言葉を使っている限り私では理解できません。

距離又は座標という概念を使ってください
http://kids.gakken.co.jp/jiten/2/20019920.html
http://www.auemath.aichi-edu.ac.jp/mtc/ecase/e02 …
http://www.h4.dion.ne.jp/~zero1341/t/03.htm
http://www5d.biglobe.ne.jp/~tomoya03/shtml/algor …

なお、間隔という概念も有ります。
http://yosshy.sansu.org/3tobun.htm

「直線幅」、直線は無限長さですから、描く直線の太さを意味すると解釈できます。

「線分間の幅」は理解できません。線分間の距離ですと、先に上げた定義で2つの線分のもっとも近い点の距離になります。2つの線分が平行か平行でないか、を判断する必要がありますが、「平行な線分」を描くソフトはお持ちのようですので、平行になっていない線分の可能性があります。
    • good
    • 0
この回答へのお礼

ありがとうございました

お礼日時:2010/02/14 14:47

質問内容を理解できないのですが


単に上式のstepの0の代わりに
もうひとつ別の乱数を入れるだけでは?
Step(乱数, 40)
    • good
    • 0
この回答へのお礼

ありがとうございました

お礼日時:2010/02/14 14:47

VB6.0なので、他のバージョンでしたらば無視してください。



描画する線の幅は、DrawWidth プロパティで設定します
(x2, y2) 必ず指定します。描画の終了点の座標を示す単精度の値です。
(x1, y1) 線または四角形の描画の開始点の座標を示す単精度の値です。
が、ヘルプメッセージからのコピーですが

>線と線の間の幅を
は、線分A-Bと平行な線分C-Dが存在するときの、線分間の距離ですか
それとも、線が描かれているときの空白部分(線の太さを変えて空白の大きさを変える)のですか
それとも、他の意味で使っているのでしょうか。

質問文からは、意味が読み取れませんでした。

この回答への補足

質問内容に不足があり申し訳ございません
まず、Ver6.0です
等間隔で平行線を描くプログラムは日常使っております

今回質問したかった
幅をランダムに
というのは線分間の幅のことです
直線幅は常に同じで線分間の幅が広かったり狭かったり
という線を描きたいです

よろしくお願いします

補足日時:2010/02/04 18:11
    • good
    • 0

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