2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


В этом разделе нельзя создавать новые темы.



Начать новую тему Ответить на тему
 
 3d 2d
Сообщение31.08.2009, 15:42 


31/08/09
183
Мне нужны 2d и 3d формулы.

Т.е. например есть линия в 2d и координаты (x1,y1) (x2,y2)
формулы какие-то вроде этих
первая точка
x= x1*cos(w)+y1*sin(w)
y= x1*sin(w)+y1*cos(w)
и воторая точка так же.

И 3d для линии с координатами (x1,y1,z1) (x2,y2,z2)
формулы примерно должны быть такие
x = x1*sin(wx)*cos(wy)*sin(wz)
и т.д.
В гугле и на форумах найти не могу.
Также мне бы хотелось, чтобы линию можно было отдельно вращать вокруг всех осей в отдельности.
Т.е. отдельно x,y,z, изменяя только их углы.

 Профиль  
                  
 
 Re: 3d 2d
Сообщение31.08.2009, 16:09 
Заслуженный участник
Аватара пользователя


13/08/08
14495
Может быть Вы имеете формулы перехода к полярным координатам?

 Профиль  
                  
 
 Re: 3d 2d
Сообщение31.08.2009, 16:29 


25/05/09
231
gris в сообщении #239386 писал(а):
Может быть Вы имеете формулы перехода к полярным координатам?

Возможно имеет в виду переход к новой системе координат, повернутой вокруг начала координат. В трехмерном случае действительно тремя углами определяется :?:

 Профиль  
                  
 
 Re: 3d 2d
Сообщение31.08.2009, 16:33 


31/08/09
183
Мне хуть чё нибудь. Главное чтобы я мог вращать линию в 3d вокруг каждой в отдельности оси.
Я уже 3-ий год время от времени к этой теме возвращаюсь и добился только вращения в 2d в полярной системе координат, а хочется и в декартовой и 3d .

 Профиль  
                  
 
 Re: 3d 2d
Сообщение31.08.2009, 17:00 


25/05/09
231
Вращение в плоскости вокруг начала координат описывается формулами
$x=x_1*\cos{w_z}-y_1*\sin{w_z}$
$y=x_1*\sin{w_z}+y_1*\cos{w_z}$
Ими же,добавив $z=z_1$ , описывается вращение вокруг оси z. Самостоятельно опишите остальные вращения, поменяв имена координат
А... :wink:
Вокруг оси х на угол $w_x$:
$x=x_1$
$y=y_1*\cos{w_x}-z_1*\sin{w_x}$
$z=y_1*\sin{w_x}+z_1*\cos{w_x}$
Вокруг оси у на угол $w_y$:
$x=x_1*\cos{w_y}-z_1*\sin{w_y}$
$y=y_1$
$z=x_1*\sin{w_y}+z_1*\cos{w_y}$

 Профиль  
                  
 
 
Сообщение31.08.2009, 17:03 


31/08/09
183
Пожалуйста, очень прошу напишите полностью для 3d всё что нужно, а то ну не врубаю уже 3 год, очень прошу...

 Профиль  
                  
 
 Re:
Сообщение31.08.2009, 17:30 
Заслуженный участник


27/06/08
4062
Волгоград
mycoding в сообщении #239397 писал(а):
Пожалуйста, очень прошу напишите полностью для 3d всё что нужно, а то ну не врубаю уже 3 год, очень прошу...
Вы просили формулы поворота вокруг каждой из координатных осей. Вам написали формулы поворота вокруг оси OX и оси OY. Неужто вокруг оси OZ сами не напишите?! Не верю!

 Профиль  
                  
 
 
Сообщение31.08.2009, 17:36 


31/08/09
183
А как их потом преоброзовать в две координаты координаты?
ведь мне в итоге надо это всё в две координаты превратить.

 Профиль  
                  
 
 Re: 3d 2d
Сообщение31.08.2009, 17:41 
Заслуженный участник


11/05/08
32166
mycoding в сообщении #239402 писал(а):
две координаты координаты?

А Ва поставьте задачу точно. Что в точности дано, что в точности нужно. Тогда, совершенно не исключено, кто-нибудь да откликнется.

 Профиль  
                  
 
 
Сообщение31.08.2009, 17:45 


31/08/09
183
Короче ребята вот прога на Javascripte и canvas в качестве графики , мне надо её переделать в 3d 100% работате в мозиле последней версии и опере выше 9 +

Код:
<html>
<head>
<script>
i=0;
j=0;
z=0;
x1=0;y1=0;z1=0; x2=0;y2=0;z2=0;
flag=0;
rot=0;
trans=1;
oxy=200;
r=100;
function myarc()
{

x1 = r * Math.cos(Math.PI/2+i) * Math.sin(Math.PI/2+j) + oxy;
y1 = r * Math.sin(Math.PI/2+i) * Math.sin(Math.PI/2+j) + oxy;
z1 = r * Math.cos(Math.PI/2+j) + oxy;

x2 = r * Math.cos(-Math.PI/2+i) * Math.sin(Math.PI/2+j) + oxy;
y2 = r * Math.sin(-Math.PI/2+i) * Math.sin(Math.PI/2+j) + oxy;
z2 = r * Math.cos(-Math.PI/2+j) + oxy;

var ctx = document.getElementById('canvas').getContext('2d');
ctx.clearRect(0,0,500,500);
ctx.lineWidth = 4;
ctx.strokeStyle = '#325FA2';
ctx.beginPath();
ctx.moveTo(x1,y1);
ctx.lineTo(x2,y2);
ctx.moveTo(oxy,oxy-100);
ctx.lineTo(oxy,oxy+100);
ctx.moveTo(oxy-100,oxy);
ctx.lineTo(oxy+100,oxy);
ctx.stroke();

document.getElementById('divwork').innerHTML="i="+i+"<br> x1="+x1+"<br> y1="+y1+"<br> x2="+x2+"<br>y2="+ y2;

}

function down(event)
{
x1=event.clientX;
y1=event.clientY;
flag=1;
}

function up(event)
{
x2=event.clientX;
y2=event.clientY;
flag=0;
}

function move(event)
{
if(flag)
{
x2=event.clientX;
y2=event.clientY;
myarc();
}
}

function starti()
{
xinterval = setInterval('iplus()',100);
}

function startz()
{
xinterval = setInterval('zplus()',100);
}

function stop()
{
clearInterval(xinterval);
rot=0;
}

function iplus()
{
i=i+Math.PI/180;
myarc();
}

function zplus()
{
j=j+Math.PI/180;
myarc();
}
</script>
</head>
<body>
<br>
<canvas id="canvas" width=500 height=500 style="border:1px solid #888888;position:absolute;left:0;top:0"></canvas>.
<div id=divwork style="position:absolute;left:550;top:60"></div><br>
<button onmousedown="iplus();starti();" onmouseup="stop()" style="position:absolute;left:550;top:10">Повернуть i</button><br>
<button onmousedown="zplus();startz();" onmouseup="stop()" style="position:absolute;left:550;top:40">Повернуть z</button>
</body>
</html>

Вот изображение
Изображение

-- Пн авг 31, 2009 19:35:41 --

-- Пн авг 31, 2009 19:37:04 --

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

 Профиль  
                  
 
 Re: 3d 2d
Сообщение31.08.2009, 20:17 
Заблокирован


19/09/08

754
Например имеется программка, написанная на Маткаде, которая строит поверхность, получающуюся от вращения любой пространственной кривой вокруг любой прямой.На картинке парабола вращается вокруг оси. Сама парабола и ось вращения изображены на картинке.
Изображение

 Профиль  
                  
 
 Re: 3d 2d
Сообщение01.10.2009, 12:13 
Заблокирован по собственному желанию
Аватара пользователя


18/05/09
3612
Матрица 3D поворота обсуждалась здесь и в других темах (попробуйте поиск "матрица поворота")

 !  Также прошу Вас обратить внимание на наши правила, в частности, написание формул.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 12 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group