Форум: "Потрепаться";
Текущий архив: 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.032 c