IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Векторное произведение
Ivon
сообщение 4.06.2005 5:20
Сообщение #1





Группа: Пользователи
Сообщений: 6
Пол: Мужской

Репутация: -  0  +


Не хотел забивать вам голову таким пустяшным заданием, но обстаятельства повернулись чем-то другим...

Даны три вектора... найти их векторные произведения. т.е. a*b b*c a*c.

Написать задание смогу, но только с большим кол-ом переменных... помогите или хотя бы намекните
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 4.06.2005 12:12
Сообщение #2


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


const n=3;
var a,b,c,ab,ac,bc:array[1..n] of integer;
i:integer;

Begin
{ввод векторов}
for i:=1 to n do
begin
ab[i]:=a[i]*b[i];
ac[i]:=a[i]*c[i];
bc[i]:=b[i]*c[i];
end;
readln
end.


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
VDmV
сообщение 5.06.2005 13:36
Сообщение #3





Группа: Пользователи
Сообщений: 8
Пол: Мужской

Репутация: -  0  +


Код

ab[i]:=a[i]*b[i];
ac[i]:=a[i]*c[i];
bc[i]:=b[i]*c[i];

А это не векторное произведение а просто перемножение компонентов двух вектров. Вы бы хоть математику посмотрели. Векторным произведением 2-х векторов является вектор, перпендикулярный 2-м перемножаемым, т.е. [a,b]=с - это правая или левая тройка векторов (в зависимости от знака). А находиться векторное произведение так:
Пусть a(a1,a2,a3) и b(b1,b2,b3);
c= определитель матрицы ((i, j, k,),(a1,a2,a3),(b1,b2,b3)), где i,j,k -единичные орты вектора. Т.е. мы получим вектор c=c1*i+c2*j+c3*k - это и будет векторное произведение. ;)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 5.06.2005 13:43
Сообщение #4


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Цитата(VDmV @ 5.06.05 13:36)
Код

ab[i]:=a[i]*b[i];
ac[i]:=a[i]*c[i];
bc[i]:=b[i]*c[i];

А это не векторное произведение а просто перемножение компонентов двух вектров. Вы бы хоть математику посмотрели. Векторным произведением 2-х векторов является вектор, перпендикулярный 2-м перемножаемым, т.е. [a,b]=с - это правая или левая тройка векторов (в зависимости от знака). А находиться векторное произведение так:
Пусть a(a1,a2,a3) и b(b1,b2,b3);
c= определитель матрицы ((i, j, k,),(a1,a2,a3),(b1,b2,b3)), где i,j,k -единичные орты вектора.  Т.е. мы получим вектор c=c1*i+c2*j+c3*k - это и будет векторное произведение.  ;)


ну видишь, какой ты умный, вот сам и сделай, это же элементарное задание.
а математику я читал, как ты выразился, и что что я не так понял задание, еще не означает, что надо здесь пытаться меня унизить тем, что якобы я не знаю как перемножать векторы. angry.gif


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 5.06.2005 14:06
Сообщение #5


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


uses crt;
const
n=2;
m=3;

var
coeffs:array[1..n,1..m] of integer;
i,j:integer;

begin
clrscr;
for i:=1 to n do
for j:=1 to m do
readln(coeffs[i,j]);

write('Vect p = ');

write('i*(',coeffs[1,2]*coeffs[2,3]-coeffs[1,3]*coeffs[2,2],')+');
write('j*(',coeffs[1,1]*coeffs[2,3]-coeffs[1,3]*coeffs[2,1],')+');
write('k*(',coeffs[1,1]*coeffs[2,2]-coeffs[2,1]*coeffs[1,2],')');

readln;
end.


Сообщение отредактировано: klem4 - 5.06.2005 14:06


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 26.07.2025 12:54
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"