Аватар для Fa4stik
7 / 7 / 1
Регистрация: 04.04.2020
Сообщений: 262

Скалярное произведение векторов

02.10.2021, 19:05. Показов 4479. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. Подскажите пожалуйста, где моя ошибка в счёте скалярного произведения? Я уже целый час обновляю код и ничего не меняется
C#
1
2
3
4
5
6
7
8
9
10
11
double x = 60;
double y = 30;
double ax = -30;
double ay = 0;
double bx = 30;
double by = 0;
double ax1 = x-ax;
double ay1 = y - ay;
double bx1 = bx-ax;
double by1 = by-ay;
Console.WriteLine((ax1*bx1)+(ay1*by1));
Правильный ответ -1800, у меня 5400
Проверял по калькулятору
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.10.2021, 19:05
Ответы с готовыми решениями:

Написать функцию вычисояющую скалярное произведение векторов
3. Написать функцию вычисояющую скалярное произведение векторов

Вычислить скалярное произведение векторов методом parallel.for
Вычислить скалярное произведение векторов методом parallel.for правильно? если нет помогите( using System; using...

Найти скалярное произведение двух n-мерных векторов X и Y
Здравствуйте,помогите пожалуйста сделать из этого кода работоспособную программу Заранее спасибо Найти скалярное произведение двух...

26
109 / 52 / 16
Регистрация: 09.06.2021
Сообщений: 480
02.10.2021, 22:10
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Fa4stik Посмотреть сообщение
Да, но к сожалению в этой теме верного ответа нет.
Напишите координаты для Напишите метод вычисления расстояния от отрезка до точки которые не проходят проверку. С проверкой вручную на графике результаты совпадают?
0
 Аватар для Fa4stik
7 / 7 / 1
Регистрация: 04.04.2020
Сообщений: 262
02.10.2021, 22:47  [ТС]
Цитата Сообщение от Fylhtq05 Посмотреть сообщение
Напишите координаты для Напишите метод вычисления расстояния от отрезка до точки которые не проходят проверку
A = {X=30, Y=30}
B = {X=30, Y=30}
X = {X=0, Y=0}
Expected distance 42,4264068711929
Calculated distance: 0

A = {X=-15, Y=-25,98076}
B = {X=15, Y=25,98076}
X = {X=-25,98076, Y=15}
Expected distance 30
Calculated distance: 42,4264073220904

A = {X=-15, Y=-25,98076}
B = {X=15, Y=25,98076}
X = {X=4,019238, Y=66,96152}
Expected distance 42,4264068711929
Calculated distance: 29,9999999058796

Проверил в ручную, ответ совпадает, который указан в программе
0
 Аватар для IamRain
4695 / 2702 / 735
Регистрация: 02.08.2011
Сообщений: 7,236
02.10.2021, 22:59
Цитата Сообщение от Fa4stik Посмотреть сообщение
Проверил в ручную, ответ совпадает, который указан в программе
Но тесты не проходят, верно? (Судя по тексту, что вы выложили)
1
109 / 52 / 16
Регистрация: 09.06.2021
Сообщений: 480
02.10.2021, 23:22
Цитата Сообщение от Fa4stik Посмотреть сообщение
Проверил в ручную, ответ совпадает, который указан в программе
Проверять можно только вручную (наречие).
1. Не может быть, т.к. точка {0, 0} лежит на прямой, проходящей через начало координат. Как получили расстояние не равное 0??
2. Координаты A = {X=-15, Y=-25,98076}
B = {X=15, Y=25,98076}
X = {X=-25,98076, Y=15}
Expected distance 30 дают правильный ответ 29,9999 и т.д. с учетом точности double.
Третьи координаты еще раз проверьте.
0
 Аватар для Fa4stik
7 / 7 / 1
Регистрация: 04.04.2020
Сообщений: 262
03.10.2021, 00:17  [ТС]
Цитата Сообщение от Fylhtq05 Посмотреть сообщение
1. Не может быть, т.к. точка {0, 0} лежит на прямой, проходящей через начало координат. Как получили расстояние не равное 0??
Здесь по сути 2 точки только, нам просто нужно найти расстояние между двумя точками. Как не может быть?
Всем спасибо за помощь, проблема решена в этой теме
0
109 / 52 / 16
Регистрация: 09.06.2021
Сообщений: 480
03.10.2021, 00:36
Цитата Сообщение от Fa4stik Посмотреть сообщение
Здесь по сути 2 точки только, нам просто нужно найти расстояние между двумя точками.
Совершенно верно. Я неправильно ввел точки. Посмотрите мой ответ Напишите метод вычисления расстояния от отрезка до точки
1
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16165 / 11285 / 2891
Регистрация: 21.04.2018
Сообщений: 33,174
Записей в блоге: 2
03.10.2021, 11:26
Цитата Сообщение от Fa4stik Посмотреть сообщение
Я брал значения из скриншота, значит калькулятор не верно считает?
Вы считаете скалярное произведение векторов из точки A.
Угол в точке будет острым - поэтому скалярное произведение положительно.

А если вы посчитаете произведение для точки B, то получите отрицательное значение.
Что будет означать что угол Б тупой.

Точка лежит над отрезком (то есть перпендикуляр от неё к прямой на которой лежит отрезок, падает на отрезок), если оба угла из вершин отрезка к точке - не тупые.
Поэтому вам ВСЕГДА надо считать ОБА скаляра.
И если оба неотрицательны, то точка над отрезком.

Добавлено через 9 минут
Код реализации на основе Методы для плоской геометрии:

C#
22
23
24
25
26
27
28
29
30
31
32
33
        /// <summary>Вычисляет скалярное произведение векторов AB и AC.</summary>
        /// <param name="aX">Координата X точки A.</param>
        /// <param name="aY">Координата Y точки A.</param>
        /// <param name="bX">Координата X точки B.</param>
        /// <param name="bY">Координата Y точки B.</param>
        /// <param name="cX">Координата X точки C.</param>
        /// <param name="cY">Координата Y точки C.</param>
        /// <returns>Скалярное произведение векторов AB и AC.</returns>
        public static double Scalar(double aX, double aY, double bX, double bY, double cX, double cY)
        {
            return (cX - aX) * (bX - aX) + (cY - aY) * (bY - aY);
        }
C#
1
2
3
4
5
6
7
8
9
10
            double sca = Scalar(aX, aY, bX, bY, x, y);
            Console.WriteLine($"Скаляр из точки A {sca}");
 
            double scb = Scalar(bX, bY, aX, aY, x, y);
            Console.WriteLine($"Скаляр из точки B {scb}");
 
           if (sca < 0 || scb < 0)
               Console.WriteLine("Точка не над отрезком.");
           else
               Console.WriteLine("Точка над отрезком.");
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.10.2021, 11:26

Найти скалярное произведение двух n-мерных векторов X и Y
Найти скалярное произведение двух n-мерных векторов X и Y Спасибо

(x0,y0) и (x1,y1)- координаты двух векторов. Вычислить их сумму,разницу, скалярное произведение и длинны
Дано(x0,y0) и (x1,y1)- координаты двух векторов. Вычислить их сумму,разницу, скалярное произведение и длинны.

Скалярное умножение векторов
Как реализовать скалярное умножение векторов (A, B) для класса Vector с майном?

Скалярное произведение
Ребят, я прошу просто объяснить задание. Программировать ничего не надо! Как происходит скалярное произведение строки на столбец ? А...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
27
Ответ Создать тему
Опции темы

Новые блоги и статьи
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства. Жизнь действительно предъявляет каждому. . .
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru