Форум программистов, компьютерный форум CyberForum.ru

Движение точки в правильном n - угольнике - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Структура STUDENT http://www.cyberforum.ru/cpp-beginners/thread1185179.html
Составить программу формирования данных о студентах: ФИО, номер группы, оценки. Организовать выбор тех у кого есть неуд. и сортировать таких студентов по среднему баллу. Конкретно проблема заключается в том что не могу посчитать студентов с оценкой неуд. #include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv) { struct STUDENT {char name;int...
C++ Создать программу для ввода и вывода фамилий и оценок студентов. Отобрать студентов у которых нет 4и 5 ки Надо передать программу, здесь условие "отобрать тех у которых есть хотя бы одна двойка" #include<stdio.h> #include<conio.h> #include<iostream> #include<string.h> struct Student { char fam; int mark; http://www.cyberforum.ru/cpp-beginners/thread1185176.html
C++ Пакман на Си. Реализация таймера
Есть проблема с реализацией таймера обратного отсчета. Нужно делать определенное действие на протяжении 20 сек, когда проходит 20 сек нужно выполнять другое действие на протяжении 7 сек, а потом снова выполнять первое действие на протяжении 20 сек. и так по кругу. Подскажите куда смотреть. Нашел в библиотеке тайм difftime но не уверен в том что это оно. Подскажите пожалуйста что использовать? ...
Области, описываемые логическими выражениями C++
Помогите пожалуйста. Очень нужно сделать 2 задачи. Для данных областей составить линейную программу, которая печатает true, если точка с координатами (х, у) принадлежит закрашенной области, и false — в противном случае
C++ Если строки не равны, то соединить их http://www.cyberforum.ru/cpp-beginners/thread1185164.html
как мне сравнить строки? если они не равны, то соединить их #include <iostream> #include <string.h> using namespace std; int main(){ char str1="777"; char str2="888";
C++ Панель задач и все о ней Пишу небольшую программку с Win Api, так вот встал вопрос с панелью задач. У меня есть окно, я задаю ему размеры width=550 и полное высота экрана SetWindowPos(hwnd, NULL, 0, 0, width, GetSystemMetrics(SM_CYSCREEN), NULL); Данные о панеле задач получаю так RECT rect; HWND taskBar = FindWindow("Shell_traywnd", NULL); if (taskBar && GetWindowRect(taskBar, &rect)) подробнее

Показать сообщение отдельно
tegauss
30 / 24 / 24
Регистрация: 06.05.2014
Сообщений: 158
22.05.2014, 21:00     Движение точки в правильном n - угольнике
aristom,

1) для проверки столкновения последовательно проверяете принадлежность точки каждому из отрезков, образующих многоугольник

2) отражение:

пусть: V - вектор скорости точки; a - единичный вектор, параллельный стороне многоугольника, с которой произошло столновение; b - единичный вектор, ортогональный a.

тогда: dot(V, a) - проекция скорости точки на сторону многоугольника, при столкновении не меняется; dot(V, b) - проекция скорости на нормаль стороны, при столкновении меняет свой знак на противоположный.

таким образом, скорость точки после столкновения: V' = a * dot(V, a) - b * dot(V, b)

Спрашивайте, если что непонятно..
 
Текущее время: 14:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru