Смещение точки

Автор Тема: Смещение точки  (Прочитано 1723 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн enotАвтор темы

  • ADN OPEN
  • *****
  • Сообщений: 525
  • Карма: 2
Смещение точки
« : 07-02-2019, 16:37:21 »
Как сместить точку XYZ по нормали XYZ(0,0,1) на определенное расстояние?

Отмечено как Решение enot 07-02-2019, 17:00:53

Оффлайн Александр Пекшев aka Modis

  • ADN Club
  • *****
  • Сообщений: 1658
  • Карма: 366
  • Отец modplus.org
    • ModPlus
Re: Смещение точки
« Ответ #1 : 07-02-2019, 16:49:07 »
Нужно к точке прибавить единичный вектор, умноженный на расстояние
Код - C# [Выбрать]
  1. XYZ pt = new XYZ(10.0, 10.0, 10.0);
  2. double distance = 10.0;
  3. pt = pt + XYZ.BasisZ * distance;
В результате точка pt получится (10,10,20)
XYZ.BasisZ - это единичный вектор по оси Z, направленный вверх. Равнозначно new XYZ (0,0,1)

Оффлайн enotАвтор темы

  • ADN OPEN
  • *****
  • Сообщений: 525
  • Карма: 2
Re: Смещение точки
« Ответ #2 : 07-02-2019, 16:58:52 »
 О, То что нужно! спасибо :)