Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.18;
Скачать: CL | DM;

Вниз

Мож кто делал ?   Найти похожие ветки 

 
Dmitriy O. ©   (2004-03-26 09:06) [0]

Мож кто делал прогу по вращению геом фигур. Или вообще поворота чего либо в пространстве. Нужны исходники в качестве примера.


 
Романов Р.В. ©   (2004-03-26 09:13) [1]

Я делал... в 1995 году... на бейсике... на ZX spectrum... исходники не сохранились... :(


 
MeF88 ©   (2004-03-26 09:17) [2]

Помню делал я на Direct3D... Поворот координат мыши, относительно центра вращения спрайта, на угол вращения, для проверки того, находится ли мышка над спрайтом... Даже исходники найти могу, если покопаюсь в архивах тысячелетней давности.


 
Dmitriy O. ©   (2004-03-26 09:19) [3]


> Романов Р.В. ©   (26.03.04 09:13)
Жаль ! мне в принципе сам принцип поворота нужен. Т.е. как что то хоть линия хоть квадрат изменяет свои координаты точек в пространстве при выполнения поворота в пространстве при произвольгом положении оси поворота и угла наклона.


 
Думкин ©   (2004-03-26 09:19) [4]

На каком уровне писать и делать?
Если на OpenGL - так проблем, в принципе, нет.
Если рисовать проекции на плоскость экрана - другое дело.
Тебе чего?


 
Думкин ©   (2004-03-26 09:20) [5]


> Dmitriy O. ©   (26.03.04 09:19) [3]

Это Аналитическая геометрия и Линейная алгебра - 1-й семестр 1-го курса.


 
Nikolay M. ©   (2004-03-26 09:28) [6]


> Думкин ©   (26.03.04 09:20) [5]
> Это Аналитическая геометрия и Линейная алгебра - 1-й семестр
> 1-го курса.

Имхо, достаточно наличия пространственного воображения + знание, что такое синус.


 
Dmitriy O. ©   (2004-03-26 09:30) [7]


> Думкин ©   (26.03.04 09:19) [4]


> Если рисовать проекции на плоскость экрана

Именно чисто математически изменять координаты точек.
те рисование через ф-цию image1.Canvas.Polygon
Эфект поворота ча счет изменения координат точек.
Скажем если ето квадрат то при повороте с права на лево 90 град
квадрат уменьшается превращаясь в трапецию.


 
Романов Р.В. ©   (2004-03-26 09:50) [8]

Для изометрической проекции
http://edu1.distedu.ru/engine.php?c=1000000134

формулы перевода в 2x мерные координаты:
Xплоск = (Y-X)*cos(30)
Yплоск = Z-(Y+X)*sin(30)


 
Dmitriy O. ©   (2004-03-26 10:00) [9]


> Романов Р.В. ©   (26.03.04 09:50)
Большое спасибо за ссылку !


 
Романов Р.В. ©   (2004-03-26 10:35) [10]

procedure DrawLine(C: TCanvas; X, Y, L: Integer; Fi: Double);
var
X1, Y1: Integer;
begin
X1 := Trunc(L * cos(Fi));
Y1 := Trunc(L * sin(Fi));
C.MoveTo(X, Y);
C.LineTo(X+X1, Y-Y1);
end;

function Conv3Dto2D(x, y, z: double): TPoint;
begin
 Result.X := Round((y-x)*cos(30/180*Pi));
 Result.Y := Round(z-(y+x)*sin(30/180*Pi));
end;

procedure TForm1.Button1Click(Sender: TObject);
const
 X0 = 100;
 Y0 = 100;
 R = 50;
 N = 70;
var
 i: Integer;
 a: TPoint;
begin
Image1.Picture.Bitmap.Height := 200;
Image1.Picture.Bitmap.Width := 200;
Image1.Height := Image1.Picture.Bitmap.Height;
Image1.Width := Image1.Picture.Bitmap.Width;

 DrawLine(Image1.Picture.Bitmap.Canvas, X0, Y0, 200, -30/180*Pi);
 DrawLine(Image1.Picture.Bitmap.Canvas, X0, Y0, 200, 90/180*Pi);
 DrawLine(Image1.Picture.Bitmap.Canvas, X0, Y0, 200, 210/180*Pi);
 for i := 0 to 360 do
 begin
   a := Conv3Dto2D(N + R*cos(i/180*Pi), 0, N + R*sin(i/180*Pi));
   Image1.Picture.Bitmap.Canvas.Pixels[X0+a.X, Y0-a.Y] := clRed;
   a := Conv3Dto2D(0, N + R*cos(i/180*Pi), N + R*sin(i/180*Pi));
   Image1.Picture.Bitmap.Canvas.Pixels[X0+a.X, Y0-a.Y] := clRed;
   a := Conv3Dto2D(N + R*cos(i/180*Pi), N + R*sin(i/180*Pi), 0);
   Image1.Picture.Bitmap.Canvas.Pixels[X0+a.X, Y0-a.Y] := clRed;
 end;
end;


 
Anatoly Podgoretsky ©   (2004-03-26 10:37) [11]

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


 
Романов Р.В. ©   (2004-03-26 10:41) [12]


> лучше матричные преобразования


Это как?


 
Dmitriy O. ©   (2004-03-26 10:47) [13]


> Романов Р.В. ©   (26.03.04 10:35)
Классно ! Красиво выглядит а как организовать вращение ?


 
Ega23 ©   (2004-03-26 10:53) [14]

Тебе на какое мыло послать?


 
Романов Р.В. ©   (2004-03-26 10:55) [15]

Поворотом осей координат.
Формулы поищи или сам придумай


 
Dmitriy O. ©   (2004-03-26 11:00) [16]


> Ega23 ©   (26.03.04 10:53)
Напиши на otkdmitriy@mail.ru
Или ответь на письмо которое я тебе послал на мыло в твоей анкете.


 
Ega23 ©   (2004-03-26 11:03) [17]

в анкете второстепенный адрес. Но щас попробую.  :-)


 
Ega23 ©   (2004-03-26 11:06) [18]

на otkdmitriy@mail.ru послал..
Комп. графика  называется.


 
Anatoly Podgoretsky ©   (2004-03-26 11:16) [19]

Рассказывать про матричные операции очень долго, лучше возьми у меня на сайте книги по графике, где то в одной из последних и они немного рассотрены, но лучше поискать более глубокую теорию.
А суть простая перемножаются две матрицы и все операции трансформации координат делаются одновременно.


 
Ega23 ©   (2004-03-26 11:28) [20]

Anatoly Podgoretsky ©   (26.03.04 11:16) [19]

А где ваш сайт? а то сколько раз уже про него слышал, а быть - не был.


 
Ega23 ©   (2004-03-26 11:28) [21]

Anatoly Podgoretsky ©   (26.03.04 11:16) [19]

А где ваш сайт? а то сколько раз уже про него слышал, а быть - не был.


 
Романов Р.В. ©   (2004-03-26 11:29) [22]


> Ega23 ©   (26.03.04 11:28) [21]

В анкете у него


 
Dmitriy O. ©   (2004-03-26 11:30) [23]


> Ega23 ©   (26.03.04 11:06)
Классно ! Буду разбираться. Кубик только не очень натурально вращается поэтому эфект вращения перескакивает. Т.е там где ближняя плоскость должна увеличиваться (приближение) она уменьшается а задняя увеличивается хот я по правилам должна уменьшаться.


 
Ega23 ©   (2004-03-26 11:33) [24]

Dmitriy O. ©   (26.03.04 11:30) [23]

Там, вроде, вращение в трёх плоскастях идёт. Т.е. ты, типа, можешь оказаться между кубиком и монитором. Хотя точно не помню - давно писал.


 
wicked ©   (2004-03-26 12:23) [25]

http://www.enlight.ru



Страницы: 1 вся ветка

Текущий архив: 2004.04.18;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.038 c
14-1080226538
ЕвроКар
2004-03-25 17:55
2004.04.18
Вопрос по интергации с IE


1-1080627091
SisiusP
2004-03-30 10:11
2004.04.18
Прошу совета, как реализовать класс.


14-1080048904
}|{yk
2004-03-23 16:35
2004.04.18
Чем можно прочитать базу TheBAT!


3-1079985015
td
2004-03-22 22:50
2004.04.18
BeforePost и LookUp поле


1-1080379614
Jet8
2004-03-27 12:26
2004.04.18
Где взять доки по генерации кода Delphi?