Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 25.05.2019, 19:39   #1
Yelle
 
Регистрация: 28.01.2018
Сообщений: 7
Репутация: 10
По умолчанию движение/перемещение точки

помогите как реализовать движение точки или лучше ее перемещение из одного круга в другой
даже если рассматривать самый крайний круг с точкой,как поместить эту точку в соседний круг?
и чтобы это движение был овидно что она исчезла с одного круга и ушла в другой

Код:
#include "stdafx.h"
#include<Windows.h> 
#include<glut.h> //Для Linux и Windows
#include<iostream> 
#include <cmath>
#include<time.h>
#include<vector>

using namespace std;

void drawCircle(double x, double y, double r, int a)//функция для кругов
{
	glLineWidth(5); //толщина
	//glBegin(GL_POLYGON);
	glColor3ub(0, 255, 0);//цвет зеленый
	glBegin(GL_LINE_LOOP);

	for (int i = 0; i < a; i++)
	{
		double angle = 2.0 * 3.1415926 * double(i) / double(a);

		double dx = r * cosf(angle);
		double dy = r * sinf(angle);

		glVertex2f(x + dx, y + dy);
	}
	glEnd();
}

void display()
{
	glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
	glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); //рисуем
	glEnable(GL_POINT_SMOOTH);//сглаживание точек

	//точки
	glPointSize(10);
	glBegin(GL_POINTS);
	glColor3d(0, 0, 0);
	glVertex3d(-0.8, 0.0, 0); // первая точка
	glVertex3d(0.8, 0.0, 0);
	glVertex3d(0.32, -0.5, 0);
	glVertex3d(0.28, -0.5, 0);
	glEnd();

	//круги(позиции)							
	//1-влево/вправо 2-высота 3-размер/диаметр 4-количество точек
	drawCircle(-0.8, 0.0, 0.1, 30);				
	drawCircle(-0.3, 0.0, 0.1, 30);				
	drawCircle(0.8, 0.0, 0.1, 30);				
	drawCircle(0.3, 0.5, 0.1, 30);				
	drawCircle(0.3, -0.5, 0.1, 30);
	glFlush();
	glutSwapBuffers();
}

int main()
{
	glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);
	glutInitWindowSize(1200, 1000);//размер окна
	glutCreateWindow(" ");
	glClearColor(255, 255, 255, 0);//цвет фона окна
	glutDisplayFunc(display);
	glutMainLoop();
	glEnd();
}

Последний раз редактировалось Yelle; 25.05.2019 в 19:42.
Yelle вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Движение точки по нажатию dannae Windows Forms 4 09.12.2014 18:07
Рисование и перемещение точки на экране Aleks2215 Assembler 1 09.12.2010 21:51
даны две точки. организовать движение из точки А в точку Б окружности! Wi1D Помощь студентам 6 23.05.2009 19:55
Движение точки по окружности somwan Общие вопросы C/C++ 4 17.03.2009 17:30
движение точки на Canvas st01en Общие вопросы Delphi 32 09.02.2008 23:29


06:47.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.