Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2004.04.18;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.5 MB
Время: 0.033 c
3-1080049676
Voland777
2004-03-23 16:47
2004.04.18
Помогите заполнить image поле !!!


1-1080922357
Mim
2004-04-02 20:12
2004.04.18
Клоентно-OLAPные кубы


3-1080101505
Oldster
2004-03-24 07:11
2004.04.18
События в базе данных


4-1076514190
Timego
2004-02-11 18:43
2004.04.18
CLSID COM-объекта по полному пути к его dll-файлу


14-1080148474
micc
2004-03-24 20:14
2004.04.18
TCanvas и ScanLine





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский