Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 5.00/18: Рейтинг темы: голосов - 18, средняя оценка - 5.00
 Аватар для Fa4stik
7 / 7 / 1
Регистрация: 04.04.2020
Сообщений: 262

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

02.10.2021, 19:05. Показов 4445. Ответов 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
4694 / 2702 / 734
Регистрация: 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
 Аватар для Элд Хасп
16158 / 11278 / 2891
Регистрация: 21.04.2018
Сообщений: 33,164
Записей в блоге: 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 28.07.2026
27. 07. 2026г. Intel Core 2 Duo исполнилось 20 лет Новости компьютерного мира и их обсуждение (4) Салют, шампанское, овации! :drink:
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр. Дословно, отклонённая. . .
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2. Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru