Форум программистов, компьютерный форум, киберфорум
Наши страницы

C# Windows Forms

Войти
Регистрация
Восстановить пароль
 
Tenass
7 / 7 / 0
Регистрация: 21.03.2010
Сообщений: 398
#1

Нарисовать параболоид вращения четвертого порядка - C#

15.10.2015, 16:49. Просмотров 430. Ответов 1
Метки нет (Все метки)

Собственно такая задача и стоит - нарисовать параболоид вращения четвертого порядка. Нашел сайт на котором уроки отрисовки фигур в opengl. Только вот загвоздка, есть формулы описания, но не могу понять какие именно из них нужно взять и запрограммировать. Может кто поможет. На изображении предоставлены эти формулы. Спасибо заранее кто откликнется.
0
Миниатюры
Нарисовать параболоид вращения четвертого порядка  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.10.2015, 16:49
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Нарисовать параболоид вращения четвертого порядка (C#):

.NET 4.x Аппроксимировать параболоид выпуклым многогранником - C#
Здравствуйте! есть задание: аппроксимировать параболоид выпуклым многогранником, обеспечить удаление невидимых линий и реализовать простую...

Дан параболоид вращения и круглый цилиндр - Геометрия
помогите пожалуйста решить одну из следующих задач: Дан параболоид вращения x^2+y^2=2pz и круглый цилиндр (x-a)^2+z^2=r^2 Написать...

Уравнение четвертого порядка - Алгебра
подскажите пожалуйста. каким методом решать это уравнение! {({x}^{2}-2x)}^{2}+{(x-1)}^{2}=1

Диффур четвертого порядка - Дифференциальные уравнения
y''''-16y=x*e^x+2sin2x-3cos2x Как решать данный диффур ? Заранее спасибо !

Уравнение четвертого порядка - C (СИ)
8. Решить методами Эйлера и Рунге – Кутты четвертого порядка на отрезке с шагом дифференциальное уравнение помогите пожалуйста(

Вычислить определитель четвертого порядка - Алгебра
Ребят нужна помощь! а то это на зачёт нести, я не знаю как делать! Болел в то время когда проходили! 6-ой Вариант(на фото под цифрой 6)!

1
Storm23
Эксперт .NETАвтор FAQ
5555 / 3412 / 1029
Регистрация: 11.01.2015
Сообщений: 4,516
Записей в блоге: 31
15.10.2015, 20:03 #2
Цитата Сообщение от Tenass Посмотреть сообщение
нарисовать параболоид вращения четвертого порядка
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
using System;
using System.Drawing;
using System.Windows.Forms;
 
namespace WindowsFormsApplication318
{
    public partial class LineMover : Form
    {
        private TrackBar tbRotate;
 
        public LineMover()
        {
            InitializeComponent();
 
            SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.OptimizedDoubleBuffer | ControlStyles.UserPaint, true);
 
            tbRotate = new TrackBar {Parent = this, Maximum = 90};
            tbRotate.ValueChanged += delegate { Invalidate(); };
 
            ResizeEnd += delegate { Invalidate(); };
            Size = new Size(400, 500);
        }
 
        protected override void OnPaint(PaintEventArgs e)
        {
            base.OnPaint(e);
 
            e.Graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
            e.Graphics.ScaleTransform(1, -1);
            e.Graphics.TranslateTransform(Width/2, -Height + 120);
 
            var to = 70;
            var stepR = 2f;
            var stepA = 0.3f;
            var rotate = (Math.PI / 2) * tbRotate.Value / 90;
            var cosR = (float)Math.Cos(rotate);
            var sinR = (float)Math.Sin(rotate);
 
            for (float r = 0; r <= to; r+= stepR)
            for (float a = 0; a < 2 * Math.PI; a+= stepA)
            {
                //считаем точки параболоида
                var p = CalcPoint(r, a);
                var p1 = CalcPoint(r - stepR, a);
                var p2 = CalcPoint(r, a - stepA);
 
                //поворочиваем точки согласно углу проекции
                p = Rotate(p, cosR, sinR);
                p1 = Rotate(p1, cosR, sinR);
                p2 = Rotate(p2, cosR, sinR);
 
                //отрисовываем
                e.Graphics.DrawLine(Pens.Black, p.X, p.Y, p1.X, p1.Y);
                e.Graphics.DrawLine(Pens.Black, p.X, p.Y, p2.X, p2.Y);
 
            }
        }
 
        Point3 Rotate(Point3 p, float cosR, float sinR)
        {
            return new Point3() {X = p.X, Y = p.Y*cosR + p.Z*sinR, Z = -p.Y*sinR + p.Z*cosR};
        }
 
        Point3 CalcPoint(float r, float a)
        {
            var c = 100000f;
            var z = r * r * r * r / c;
            var x = r * Math.Cos(a);
            var y = r * Math.Sin(a);
 
            return new Point3() { X = (float)x, Y = (float)y, Z = z };
        }
    }
 
    public class Point3
    {
        public float X;
        public float Y;
        public float Z;
    }
}
Нарисовать параболоид вращения четвертого порядка
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.10.2015, 20:03
Привет! Вот еще темы с ответами:

Найти значения полинома четвертого порядка - Free Pascal
здравствуйте помогите дополнять программу Текст программа: Program Lab9; Uses Crt; Const n=8; m=4; x:array of...

Метод Рунге-Кутта четвертого порядка - C++
Доброго времени суток. Задание по выч. мату. координаты х рассчитываются просто по шагу, но у присваивается значение начальной точки и не...

Решение дифференциального уравнения методом Рунге-Кутта четвертого порядка - Pascal
Решить дифференциальное уравнение y'-(y/x) = x*sin(x) X принадлежит y(пи/2)= пи y= 2x-x*cos(x)

Решение дифференциального уравнения методами Эйлера и Рунге-Кутты четвертого порядка - Matlab
Суть задания такова: Решить методами Эйлера и Рунге – Кутты четвертого порядка на отрезке дифференциальное уравнение y'=x^2+y^2 при ...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru