Indexへ
(31222)//【31202】→(31204)
------------------------
【タイトル】三角形の変形
【記事番号】 31202 (*)
【 日時 】08/09/25 16:21
【 発言者 】cbw3

二等辺三角形の頂点をY方向、底辺をX方向にしたとき頂点を基準点にして底辺を最初に設定したX軸線上に残したまま頂点をY軸線上を任意(自由)に上下移動させたいのですが方法はありますか。(斜線の長さは一定で底辺の長さだけが変化)


Indexへ
(31202)←【31204】→(31208)
------------------------
【タイトル】Re(1):三角形の変形
【記事番号】 31204 (31202)
【 日時 】08/09/25 16:37
【 発言者 】鈴木

▼cbw3さん:
>二等辺三角形の頂点をY方向、底辺をX方向にしたとき頂点を基準点にして底辺を最初に設定したX軸線上に残したまま頂点をY軸線上を任意(自由)に上下移動させたいのですが方法はありますか。(斜線の長さは一定で底辺の長さだけが変化)

●パラメトリックという機能があります。
作図済みの図形の変形が可能ですが、X軸、Y軸による伸縮制御が出来ますので試してみてはいかがでしょうか?


Indexへ
(31204)←【31208】→(31212)
------------------------
【タイトル】Re(1):三角形の変形
【記事番号】 31208 (31202)
【 日時 】08/09/25 17:41
【 発言者 】LA

▼cbw3さん:
こんにちは

>二等辺三角形の頂点をY方向、底辺をX方向にしたとき頂点を基準点にして底辺を最初に設定したX軸線上に残したまま頂点をY軸線上を任意(自由)に上下移動させたいのですが方法はありますか。(斜線の長さは一定で底辺の長さだけが変化)

いろいろ考えてみたのですが、
JWWには、そういう機能はないと思います。

とりあえず、作図方法 ということでしたら、元の三角形の頂点を中心、底辺側の頂点を通る円を書き、その円を上下させて円の中心と、円とX軸の2交点を結ぶとできます。(外していたら、本当にすいません)


Indexへ
(31208)←【31212】→(31218)
------------------------
【タイトル】Re(1):三角形の変形
【記事番号】 31212 (31202)
【 日時 】08/09/25 21:15
【 発言者 】cbw3

鈴木様LA様お手数掛けました。
パラメもあれこれと試してみましたがダメでした。
作者様、ひし形の辺の長さを変えること無く対角線を任意に変更出来て外形の変化の軌跡が図面に落とせたら助かります。(今は円の交点を拾ってひし形の変形を書いてますが、とても面倒です)


Indexへ
(31212)←【31218】→(31268)
------------------------
【タイトル】Re(1):三角形の変形(菱形変形)感謝
【記事番号】 31218 (31202)
【 日時 】08/09/26 10:05
【 発言者 】cbw3

// 菱形その2
#VAR
 l = 100    ;*辺の長さ
 h1 = 10    ;*開始高さ
 h2 = 80    ;*終了高さ
 n = 10    ;*分割数
 h
 x
 i
 w1
 w2
 w3
 w4

#DRAW
 #IF (l <= 0)
  BEEP
  MESSAGE "入力エラー","辺の長さは正の数値で入力して下さい","",0,0
  #EXIT 
 #END
 #IF ((l*l - h1*h1) < 0)
  BEEP
  MESSAGE "入力エラー","開始高さを再入力して下さい","",0,0
  #EXIT 
 #END
 #IF ((l*l - h2*h2) < 0)
  BEEP
  MESSAGE "入力エラー","終了高さを再入力して下さい","",0,0
  #EXIT 
 #END

 LAYER SetLineLay1  // 外形線
 PEN SetLineCol1,SetLineLtp1,SetLineWid1

 CAL h = h1
 CAL i = 0
 #WHILE (i <= n)
  CAL x = Sqrt(l*l - h*h)

  CAL w1 = x
  CAL w2 = 0
  CAL w3 = 0
  CAL w4 = h
  LINE w1,w2,w3,w4

  CAL w1 = w3
  CAL w2 = w4
  CAL w3 =-x
  CAL w4 = 0
  LINE w1,w2,w3,w4

  CAL w1 = w3
  CAL w2 = w4
  CAL w3 = 0
  CAL w4 =-h
  LINE w1,w2,w3,w4

  CAL w1 = w3
  CAL w2 = w4
  CAL w3 = x
  CAL w4 = 0
  LINE w1,w2,w3,w4

  CAL h = h + (h2-h1)/n
  CAL i = i + 1
 #END

感謝申し上げます。


Indexへ
(31218)←【31268】→(31269)
------------------------
【タイトル】Re(1):三角形の変形
【記事番号】 31268 (31202)
【 日時 】08/09/27 21:06
【 発言者 】コジマ

▼cbw3さん:
>二等辺三角形の頂点をY方向、底辺をX方向にしたとき頂点を基準点にして底辺を最初に設定したX軸線上に残したまま頂点をY軸線上を任意(自由)に上下移動させたいのですが方法はありますか。(斜線の長さは一定で底辺の長さだけが変化)


@REM 三角形の変形(斜辺一定・底辺伸縮)
@echo off
REM #jww
REM #cd
REM #hp
REM #1底辺の始点を指示してください(時計回り) free(L) Read(R)
REM #2底辺の終点を指示してください(時計回り) free(L) Read(R)
REM #3頂点の位置を指示してください(時計回り) free(L) Read(R)
REM #c高さを何等分しますか? 無指定:10/_/a
REM #e
copy jwc_temp.txt temp.txt > nul
ruby -x %~f0 temp.txt %1 > jwc_temp.txt
exit

#!ruby -Ks
include Math
n=10
while ARGV.size>1
    case argument=ARGV.pop
    when /\/a/
        n=argument[2..-1].to_i
    end
end

while ARGF.gets
    xy=split
    if xy[0]=~/^hp/
        if xy[0]=="hp1"
            x1,y1=xy[1].to_f,xy[2].to_f
        elsif xy[0]=="hp2"
            x2,y2=xy[1].to_f,xy[2].to_f
        elsif xy[0]=="hp3"
            x3,y3=xy[1].to_f,xy[2].to_f
        end
    end
end
l1=hypot(y3-y2,x3-x2)
l2=hypot(y3-y1,x3-x1)
sen_arg=atan2(y1-y2,x1-x2)
arg1=atan2(y3-y2,x3-x2)
henkaku1=arg1-sen_arg
h1=l1*sin(henkaku1)
lt=l1*cos(henkaku1)
tyuten_x=x2+lt*cos(sen_arg)
tyuten_y=y2+lt*sin(sen_arg)
h2=0
n.times{
    h2 += (h1/n)
    x7=tyuten_x+h2*cos(sen_arg+PI/2)
    y7=tyuten_y+h2*sin(sen_arg+PI/2)
    l5 = sqrt((l1**2)-(h2**2))
    l6 = sqrt((l2**2)-(h2**2))
    x5=tyuten_x-l5*cos(sen_arg)
    y5=tyuten_y-l5*sin(sen_arg)
    x6=tyuten_x+l6*cos(sen_arg)
    y6=tyuten_y+l6*sin(sen_arg)
    #printf("%.11f %.11f %.11f %.11f\n",x5,y5,x6,y6)
    printf("%.11f %.11f %.11f %.11f\n",x7,y7,x5,y5)
    printf("%.11f %.11f %.11f %.11f\n",x7,y7,x6,y6)
}


Indexへ
(31268)←【31269】//(31210)
------------------------
【タイトル】Re(2):三角形の変形
【記事番号】 31269 (31268)
【 日時 】08/09/27 21:32
【 発言者 】cbw3

お世話になりますコジマ様。
外変の凄さに頭が下がります。
有り難く利用させて頂きます。感謝!