20.11.2019, 23:29 [+3 UTC]
в нашей команде: 3 984 чел. | участники онлайн: 1 (рекорд: 21)

:: РЕГИСТРАЦИЯ

задать вопрос

все разделы

правила

новости

участники

доска почёта

форум

блоги

поиск

статистика

наш журнал

наши встречи

наша галерея

отзывы о нас

поддержка

руководство

Версия системы:
7.78 (18.11.2019)
JS-v.1.34 | CSS-v.3.35

Общие новости:
28.04.2019, 09:13

Форум:
16.11.2019, 20:23

Последний вопрос:
20.11.2019, 14:55
Всего: 151022

Последний ответ:
20.11.2019, 15:35
Всего: 259434

Последняя рассылка:
20.11.2019, 16:45

Писем в очереди:
0

Мы в соцсетях:

Наша кнопка:

RFpro.ru - здесь вам помогут!

Отзывы о нас:
29.10.2011, 00:02 »
Киселёва Алёна aka Verena
Спасибо! Особенно за подправленную версию smile [вопрос № 184327, ответ № 268597]
31.05.2016, 11:57 »
malich.e
Спасибо ! Дана исчерпывающая информация. Благодарю за помощь . [вопрос № 189520, ответ № 273899]

РАЗДЕЛ • .NET Framework / C# / Java

Создание программ на программной платформе .NET Framework и языках С# и Java.

[администратор рассылки: Коцюрбенко Алексей Владимирович (Модератор)]

Лучшие эксперты в этом разделе

Коцюрбенко Алексей Владимирович
Статус: Модератор
Рейтинг: 1366
Зенченко Константин Николаевич
Статус: Старший модератор
Рейтинг: 615
solowey
Статус: Бакалавр
Рейтинг: 214

Перейти к консультации №:
 

Консультация онлайн # 196958
Раздел: • .NET Framework / C# / Java
Автор вопроса: Kseniia (Посетитель)
Отправлена: 04.11.2019, 22:21
Поступило ответов: 1

Здравствуйте! У меня возникли сложности с таким вопросом:
Необходимо реализовать программу удаления невидимых граней с помощью z-буфера. Имеется код с реализованным построчным проходом, но есть непонятные моменты, а именно вот эта проверка
// Проверяем попадает ли пиксель в треугольник
if (x >= (y - triangle.b1) / triangle.k1)
{
if ((triangle.sign2 == true && y < triangle.k2 * x + triangle.b2) || (triangle.sign2 == false && y > triangle.k2 * x + triangle.b2))
{
if ((triangle.sign3 == true && y < triangle.k3 * x + triangle.b3) || (triangle.sign3 == false && y > triangle.k3 * x + triangle.b3))

Приложение:

-----
 Прикрепленный файл: скачать (RAR) » [206.8 кб]

Состояние: Консультация закрыта

Ответ # 279083 от solowey (Бакалавр)

Здравствуйте, Kseniia!

                        // Проверяем попадает ли пиксель в треугольник
                        if (x >= (y - triangle.b1) / triangle.k1)
                        {
                            if ((triangle.sign2 == true && y < triangle.k2 * x + triangle.b2) || (triangle.sign2 == false && y > triangle.k2 * x + triangle.b2))
                            {
                                if ((triangle.sign3 == true && y < triangle.k3 * x + triangle.b3) || (triangle.sign3 == false && y > triangle.k3 * x + triangle.b3))

Тут как указано в комментарии идет проверка на нахождение точки в треугольнике, приведенного к плоскости X-Y. Из трехмерной системы, проецируется на двухмерную.

Раскраска идет построчно, как в телевизоре. Как только точка оказывается в плоскости треугольника, происходит изменение белого цвета на цвет треугольника. Слева на право, сверху - вниз.


Консультировал: solowey (Бакалавр)
Дата отправки: 11.11.2019, 09:15

-----
 Прикрепленный файл (кликните по картинке для увеличения):

Рейтинг ответа:

+1

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Мини-форум консультации № 196958

solowey
Бакалавр

ID: 400484

# 1

= общий = | 05.11.2019, 12:38 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

                        // Проверяем попадает ли пиксель в треугольник
                        if (x >= (y - triangle.b1) / triangle.k1)
                        {
                            if ((triangle.sign2 == true && y < triangle.k2 * x + triangle.b2) || (triangle.sign2 == false && y > triangle.k2 * x + triangle.b2))
                            {
                                if ((triangle.sign3 == true && y < triangle.k3 * x + triangle.b3) || (triangle.sign3 == false && y > triangle.k3 * x + triangle.b3))

Тут как указано в комментарии идет проверка на нахождение точки в треугольнике, приведенного к плоскости X-Y. Из трехмерной системы, проецируется на двухмерную.

Раскраска идет построчно, как в телевизоре. Как только точка оказывается в плоскости треугольника, происходит изменение белого цвета на цвет треугольника. Слева на право, сверху - вниз.

-----
 Прикрепленный файл (кликните по картинке для увеличения):

 

Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Яндекс Rambler's Top100

главная страница | поддержка | задать вопрос

Время генерирования страницы: 0.22339 сек.

© 2001-2019, Портал RFPRO.RU, Россия
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.78 от 18.11.2019
Версия JS: 1.34 | Версия CSS: 3.35