- 491 名前:132人目の素数さん mailto:sage [2024/04/24(水) 07:48:50.30 ID:vygCixOx.net]
- 朝の課題
複素平面上で点a,bを結ぶ直線と点c,dを結ぶ直線の交点の座標を計算する関数を作れ。 例:R言語でのコード intsect <- function(a,b,c,d){ a1=Re(a) ; a2=Im(a) b1=Re(b) ; b2=Im(b) c1=Re(c) ; c2=Im(c) d1=Re(d) ; d2=Im(d) if((a2-b2)*(c1-d1)==(a1-b1)*(c2-d2) | (a-b)*(c-d)==0) return(NULL) if(a1==b1 & c1!=d1) return( a1+1i*((d2-c2)/(d1-c1)*(a1-c1)+c2) ) if(a1!=b1 & c1==d1) return( c1+1i*((a2-b2)/(a1-b1)*(c1-a1)+a2) ) p=(a2-b2)/(a1-b1) q=(c2-d2)/(c1-d1) x= ((p*a1 - a2) - (q*c1 - c2))/ (p-q) y= p*x - (p*a1 - a2) return( x + 1i*y ) }
|

|