2014 dxdy logo

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

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




На страницу Пред.  1, 2
 
 Re: Вращение точки вокруг другой точки
Сообщение12.02.2013, 16:40 
shau-kote в сообщении #682935 писал(а):
Если кто-то видит в данном варианте недочёты,

Вижу -- одно из неравенств должно быть нестрогим, и стандартнее всего -- первое.

Что же до поворота точки, то код, безусловно, должен быть примерно таким (с точностью до оптимизации):

Используется синтаксис Pascal
var  xrotated, yrotated: real;
. . . . . . . . . . . . . . .
  xrotated := ( cos(alpha)*(xrotaded - axis.x) + sin(alpha)*(yrotaded - axis.y) ) + axis.x;
  yrotated := ( cos(alpha)*(yrotaded - axis.y) - sin(alpha)*(xrotaded - axis.x) ) + axis.y;

  xrotaded:=xrotaded / sqrt(sqr(xrotaded)+sqr(yrotaded));
  yrotaded:=yrotaded / sqrt(sqr(xrotaded)+sqr(yrotaded));

  rotated.x := Round(xrotated) + axis.x;
  rotated.y := Round(yrotated) + axis.y;
 

, где xrotated, yrotated -- глобальные переменные.

 
 
 
 Re: Вращение точки вокруг другой точки
Сообщение13.02.2013, 00:09 
Да, пардон, у меня там явная путаница между центрированными переменными и абсолютными. Эдакий эффект копипастения. Но исправлять лень; думаю, что всем ежам и так всё понятно.

 
 
 
 Re: Вращение точки вокруг другой точки
Сообщение17.02.2013, 14:50 
Аватара пользователя
ewert в сообщении #682940 писал(а):
Вижу -- одно из неравенств должно быть нестрогим, и стандартнее всего -- первое.

Ваша правда.

ewert в сообщении #682940 писал(а):
Что же до поворота точки, то код, безусловно, должен быть примерно таким (с точностью до оптимизации):

Эмм. Простите, не совсем уловил Вашу идею.
Зачем Вы делите на корень?..
И как вы можете вычислять первые две строки без временной переменной?

З.Ы. Прошу прощения за долгое молчание, обновлял главную страницу топика, ожидая ответа, не заметил, что появилась вторая страница. >_>

 
 
 [ Сообщений: 18 ]  На страницу Пред.  1, 2


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group