|
|
|
синусоида между двумя точками
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Помогите нарисовать синусоиду только для периода от 0 до 2 * PI, между двумя произвольными точками Формула : y=a+b\sin(cx+d). с - растяжение графика по оси Ox Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. То есть, в этом примере нужно менять endX, startX и w, чтобы нарисовать интервал от 0 до 2 *PI Например, для endX = 180, w будет 2. Для endX = 720, w будет 0.5 и.т.д Проблема, как вычислять w при произвольных startX, endX ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2020, 11:29 |
|
||
|
синусоида между двумя точками
|
|||
|---|---|---|---|
|
#18+
Iconfig, let endX = 50* 2 * Math.PI; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2020, 13:25 |
|
||
|
синусоида между двумя точками
|
|||
|---|---|---|---|
|
#18+
artas, наверное даже let endX = startX + ( 50* 2 * Math.PI); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2020, 13:26 |
|
||
|
синусоида между двумя точками
|
|||
|---|---|---|---|
|
#18+
artas artas, наверное даже let endX = startX + ( 50* 2 * Math.PI); Что это дает? Мне нужно только интервал от 0 до 2 * ПИ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2020, 14:36 |
|
||
|
синусоида между двумя точками
|
|||
|---|---|---|---|
|
#18+
Iconfig artas artas, наверное даже let endX = startX + ( 50* 2 * Math.PI); Что это дает? Мне нужно только интервал от 0 до 2 * ПИ Т.е. синусоидальная кривая вида, как на изображении, между двумя произвольными точками ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2020, 14:44 |
|
||
|
синусоида между двумя точками
|
|||
|---|---|---|---|
|
#18+
Если правильно понял то так let canvas = document.getElementById("Canvas"); let ctx = canvas.getContext("2d"); let startX = 0; let startY = 180; let startXtmp = startX; let endX = startX + 360 +200; let step = (endX - startX)/360; ctx.beginPath(); ctx.moveTo(startX, endX); for (let x = 0; x <= endX - startX ; x += step) { y = startY - (Math.sin( (1/step) * (x * Math.PI / 180))) * 50; //if(y == 180) console.log(x) ctx.fillRect(startX+ x, y,1,1); } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2020, 18:23 |
|
||
|
|

start [/forum/topic.php?fid=22&fpage=11&tid=1443535]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
32ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
| others: | 12ms |
| total: | 140ms |

| 0 / 0 |
