- ベストアンサー
ハートグラフの範囲内ランダム配置
x=16sin^3t y=13cost-5cos(2t)-2cos(3t)-cos(4t). http://mathworld.wolfram.com/HeartCurve.html 上記の数式は、上記サイトの6つ目の数式ですが、グラフにするとハートの形になるとのことですが、jQueryで100個の要素をこの曲線グラフの範囲内にランダムに配置するには、どのようにすればよいでしょうか。 ご教授いただけますでしょうか。 よろしくお願い致します。
- ixkaito
- お礼率47% (29/61)
- JavaScript
- 回答数1
- ありがとう数1
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
かなり「やっつけ」なかんじ? これって もんてかるろほう? ぜんかくくうはくは、はんかくに。 <!DOCTYPE html> <meta charset="UTF-8"> <title></title> <style> #view > span { position: absolute; top : 0; left : 0; } </style> <body> <div id="view"></div> <script> (function (doc) { var sin = Math.sin; var cos = Math.cos; var pow = Math.pow; var pi = Math.PI; var step = pi / 45; var canvas = doc.createElement ('canvas'); var ctx = canvas.getContext ('2d'); ctx.beginPath (); for (var i = 0, I = pi * 2; i < I; i += step) { x = 16 * pow (sin (i), 3); y = 13 * cos (i) - 5 * cos (2 * i) - 2 * cos (3 * i) - cos (4 * i); ctx.lineTo (17 + x, 17 - y); } ctx.closePath(); function random () { var r = Math.random; var x, y; do { x = r (); y = r (); } while (! ctx.isPointInPath (x * 34, y * 34)); return {x: x, y: y}; } this.randomHeart = random; }) (document); function setInSideOfHeart (ch) { var position = randomHeart (); var doc = this.ownerDocument; var span = doc.createElement ('span'); span.appendChild (doc.createTextNode (ch)); this.appendChild (span); span.style.top = position.y * 300 + 'px'; span.style.left = position.x * 300 + 'px'; } var str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefhhijklmnopqrstuvwxyz'; str = str + str + str +str; str = str + str + str +str; str.split ('').forEach (setInSideOfHeart, document.getElementById ('view')); </script>
関連するQ&A
- どうやってグラフを書けばいいかわかりません
x=e^-t*cos2πt y=e^-t*sin2πt をt=0から始まり、tが増加するときのx-y平面上での曲線の慨形を図示するという問題なんですが、どーやって書けるのでしょうkか?? tを消去したくても出来ないし、自分で値を代入してプロットしていけばいいんでしょうか?? 誰かわかる方教えてください。お願いします。
- ベストアンサー
- 数学・算数
- 複素数の横軸がRe で縦軸がImのグラフの書き方
z=1-jみたいなグラフならかけるんですけど y(t)=cos(ωt) や x(t)=2sin(ωt)みたいなグラフの書き方がよくわからないです どうやって書くのでしょうか?
- ベストアンサー
- 数学・算数
- 媒介変数表示が表す曲線が囲む面積について
媒介変数表示が表す曲線が囲む面積について求めたく、 (1)x=cost,y=sin2t 答、8/3 (2)x=cos^3*t,y=sin^3*t 答、3π/8 0<=t<=2π になります。 S=∫y*dx/dt dt を用いて解こうにも (1)は∫sin2t*(-sint)dt から進めず、 (2)は∫sin^3*t*(-3cos^2t*sint)dt から進めず困っています。 解き方分かる方教えていただけないでしょうか?
- ベストアンサー
- 数学・算数
- 媒介変数で表わされた関数のグラフ
曲線{x=cosΘ(-π<=Θ<=π)の概形を書け(凹凸は調べなくてよい。) y=sin2Θ 基本はΘの消去。y^2=sin^2Θ=4sin^2Θcos^2Θ=4(1-cos^2Θ)cos^2Θから y^2=4x^2(1-x^2)となり、概形を書くことができる。 教えてほしいところ 両辺正でないと2乗したら同値性崩れますよね??? 今回、2乗したのにもかかわらず、同値性が崩れないといえる理由を説明してほしいです。
- ベストアンサー
- 数学・算数
- グラフの描き方
Q、キーボードからnの値を読み込み、r=sin(nθ)で表される曲線のグラフをかけ。 ヒント、x=rcosθ、y=rsinθと与えられた式で(x、y)とすればいい。また、θは度の単位で0°から360°まで計算すればよい。 この問題で、、、 SET WINDOW -1.1,1.1,-1.1,1.1 INPUT n FOR i=0 to 360 STEP 10 x=cos(n*θ*PI/180) y=sin(n*θPI/180) PLOT LINES:x,y; NEXT i END これのどこがおかしいでしょうか? おねがいします。
- ベストアンサー
- その他(プログラミング・開発)
- 任意のフォルダ内の画像をランダムに呼び出し、ランダムに配置するには?
任意のフォルダ内の画像をランダムに呼び出し、ランダムに配置するには? よろしくお願い致します。 jQueryを使用して、複数の画像をランダムに配置する(読み込むごとに)というページを作成しております。 この場合、予め配置した画像の表示順番をランダムに変えるだけなので、任意のフォルダに数十枚の画像を入れておき、そこからランダムに数枚の画像を呼び出し、かつランダムに表示順番を変えることはできないものでしょうか。 例:images というフォルダに50枚の画像を入れておき、その中から10枚の画像をランダムに呼び出し、かつランダムに配置する。 いろいろ調べてみたのですが、知識が足りず理解出来なかったため質問させて頂きました。 お詳しい方がいらっしゃいましたら、どうかご教授頂けると幸いです。 ■現在のコードです。 <html> <head> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> function shuffle(list) { var i = list.length; while (i) { var j = Math.floor(Math.random()*i); var t = list[--i]; list[i] = list[j]; list[j] = t; } return list; } $(function() { $('#sbox').append(shuffle($('.hogehoge', '#box'))); }); </script> </head> <body> <div id="box"> <div class="hogehoge"><img src="1.jpg"></div> <div class="hogehoge"><img src="2.jpg"></div> <div class="hogehoge"><img src="3.jpg"></div> <div class="hogehoge"><img src="4.jpg"></div> <div class="hogehoge"><img src="5.jpg"></div> </div> </body> </html>
- ベストアンサー
- JavaScript
- 数IIIの微分
答えがなかなか合いません。 問 2つの曲線y=2sinx、y=a-cos2xが接するように、定数aの値を定めよ。 ただし、0<=x<2π(xは0以上2πより小さい)とする。 自分の解答 接すると言うことは接線が同じなので y'=2cosx・・・(1) y'=2sin2x・・・(2) また接点のx座標をtとおくと 2sint=a-cos2t・・・(3) さらに、(1)と(2)より 2cost=2sin2t・・・(4) つまり cost=2sintcost 2sint=1/2 よってt=π/6、5π/6 これを(3)に代入し 1=a-1/2 よってa=3/2 となったのですが、こたえはa=-3、1、3/2となっていました。 力をお貸し下さい。よろしくお願いします。
- ベストアンサー
- 数学・算数
お礼
babu_babooさんご回答ありがとうございます。 すごいです!バッチリです!ご活用させていただきます! 確かにモンテカルロ法みたいになりましたね。 以前もパーティクルで大変お世話になりました。 おかげさまで大変勉強になります。