Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   не рисуется линия (https://javascript.ru/forum/misc/31591-ne-risuetsya-liniya.html)

Женя150 13.09.2012 17:07

не рисуется линия
 
Это функция рисования прямых линий.
Рисуются только горизонтальные линии. В коде есть к -коэффициент наклона линии.
Как сделать,чтобы линии были наклонными?
<html >
<head>
<script>

function line(x1, y1, x2, y2, n) {

var clinewidth="WIDTH="+n+"HEIGHT="+n;
var xstr="";
var xstr0='<img src="point.bmp"'+clinewidth+'style="position:absol ute;'

var k=(y2-y1)/(x2-x1);
var x=x1;

while (x<=x2) {
xstr+=xstr0+'top:'+(y1+k*(x-x1))+';left:'+x+'">' ;
x++
}
document.write(xstr);
}
line(20,20,300,40,3);
line(20,20,300,100,3);
line(20,20,300,400,3);


</script>

</head>

<body>
</body>
</html>

-majestic- 13.09.2012 18:47

Всё рисует. Ошибка у тебя в этой строке:
var clinewidth="WIDTH="+n+"HEIGHT="+n;

Нужно так:
var clinewidth="width="+n+" height="+n+" ";

И на будущее - выделяй код цветом пожалуйста, не удобно читать.

Женя150 13.09.2012 23:33

спасибо огромное!

да, обязательно буду выделять

-majestic- 14.09.2012 14:41

Слушай, просто интересно, как выглядит твоя задача? Что есть и что должно получиться?

Женя150 15.09.2012 19:58

Пока конкретной задачи нет) Моя цель-научится нарисовать графики, а для этого хотя бы линии надо уметь делать. Я нашла в книжке пример и реализовываю его)

По поводу удобства чтения кода на форуме: куда нажать, чтобы в коде строки нумеровались и цветом выделялись?
У меня новый вопрос по поводу рисования линий, так что хочу, чтобы было удобно)

Женя150 15.09.2012 21:10

Данная программа рисует кривые(параболы, гиперболы, синусоиды).
Рисовать-то рисует, но сама линия получается толстой и т.к. я подключаю изображение, то его видно на странице (квадратик с крестиком).

Как сделать, чтобы рисовалась именно линия?



<html >
<head>

<script>
function curve(pict_file, yexpr, x0, y0, t, n, s) {

if (!yexpr)return null;
if(pict_file) pict_file="point.bmp";
if(!s) s=0;
if(!t) t=0;
var clinewidth= "";
if(!n) clinewidth="width="+n+"height="+n+"";
var x;
xstr0='<img src=" '+pict_file+'" '+clinewidth+'style="position:absolute; top:' 
xstr="";
var i=0, draw=true;
for(x=0; x< t; x++) {
	if(draw)
	xstr+=xstr0+(y0+eval(yexpr))+'; left:' +(x0+x)+' ">';
	if(i>s&&s>0) {
	draw=!draw;
	i=0;
}
i++
}
document.write(xstr);
}
 curve("", "200-0.01*x*x", 1,100,200,2);
 curve("","100.0*Math.sin(6/250*(x))",30,120,300,1,0);
curve("","0.002*x*x*(x-75)",100,130,90,1,0);


</script>



</head>

<body>
</body>
</html>




Спасибо, теперь буду правильно писать сюда код))

bes 15.09.2012 21:26

Цитата:

Сообщение от Женя150
Я нашла

150 это не масса, не? :)

Женя150 15.09.2012 21:34

нет:)

bes 15.09.2012 21:54

Цитата:

Сообщение от Дзен-трансгуманист
Это IQ.

может рост :haha:

Женя150 15.09.2012 22:06

О, на линии похоже! спасибо!
вы только имя файла рисунка поменяли. Все дело в нем было? Поэтому линии не получались?


Часовой пояс GMT +3, время: 22:57.