Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Подсчёт изолиний 
:(
    Опции темы
Karta
Дата 27.4.2011, 22:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 4.6.2009

Репутация: нет
Всего: 0



Доброго времени суток всем!
Я только начала разбираться с С#, пытаюсь реализовать программу с подсчётом изолиний, что не очень выходит, ошибки выдает, не знаючто исправлять то... Может кто нибудь подскажет? Буду оч благодарна....

Код


using System;
using System.Drawing;

namespace isoline
{
    internal class GraphicsImageGenerator
    {
        public GraphicsImageGenerator()
        {
            const double minXY = 0;
            const double maxXY = Math.PI * 2;
            const double e = 0.01;
            double intervalXY = maxXY - minXY;

            Bitmap = new Bitmap(400, 400);
            double[] levels = { -1, -0.75, -0.5, -0.25, 0, 0.25, 0.5, 0.75, 1 };

            for (int i = 0; i < Bitmap.Width; i++)
            {
                for (int j = 0; j < Bitmap.Height; j++)
                {
                    for (int k = 0; k < levels.Length; k++)
                    {
                        double x = minXY + intervalXY * i / Bitmap.Width;
                        double y = minXY + intervalXY * j / Bitmap.Height;
                        double zn = Z(x, y);
                        if (zn >= levels[k] - e && zn <= levels[k] + e)
                        {
                            var c = (int)(255 * Math.Abs(zn - levels[k]) / e);
                            Bitmap.SetPixel(i, Bitmap.Height - j - 1, Color.FromArgb(c, c, c));
                        }
                    }
                }
            }
        }

        public Bitmap Bitmap { get; private set; }

        private static double Z(double x, double y)
        {
            return Math.Sin(x) * Math.Cos(y);
        }
    }
}




Это сообщение отредактировал(а) Karta - 27.4.2011, 22:23
PM MAIL   Вверх
ReFleX
Дата 27.4.2011, 22:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 499
Регистрация: 26.9.2004
Где: Таллинн

Репутация: нет
Всего: 3



Какие ошибки?
PM WWW   Вверх
Karta
Дата 27.4.2011, 22:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 4.6.2009

Репутация: нет
Всего: 0



1. using System.Drawing; //имя типа или пространства имён "Drawing" отсутствует в пространстве имён system (пропущена ссылка на сборку?)
2.  Bitmap = new Bitmap(400, 400);//Bitmap является "свойство", но используется как "тип"
3.  Bitmap.SetPixel(i, Bitmap.Height - j - 1, Color.FromArgb(c, c, c));// элемент "Color" не существ. в текущем контексте
PM MAIL   Вверх
WarHog
Дата 27.4.2011, 23:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 20.10.2007
Где: Воронеж

Репутация: нет
Всего: 2



Привет,

Цитата

1. using System.Drawing;

проверь наличие в референсах проекта сборки System.Drawing

Цитата

2.  Bitmap = new Bitmap(400, 400);

пропущен объявление переменной, должно быть что-то вроде
Код

Bitmap bitmap = new Bitmap(400, 400);


3-е после этого должно само уйти
--------------------
PM MAIL   Вверх
ReFleX
Дата 27.4.2011, 23:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 499
Регистрация: 26.9.2004
Где: Таллинн

Репутация: нет
Всего: 3



Добавь в References библиотеку System.Drawing

Добавлено через 3 минуты и 35 секунд
Цитата(WarHog @  27.4.2011,  23:20 Найти цитируемый пост)
пропущен объявление переменной, должно быть что-то вроде

Переменная уже есть как public:

public Bitmap Bitmap { get; private set; }

Так что ничего объявлять не надо.
PM WWW   Вверх
Karta
Дата 27.4.2011, 23:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 4.6.2009

Репутация: нет
Всего: 0



может мне эту строку  public Bitmap Bitmap { get; private set; } нужно поставить перед  Bitmap = new Bitmap(400, 400) ?
И второе: если нету System.Drawing, откуда его можно взять?

PM MAIL   Вверх
ReFleX
Дата 27.4.2011, 23:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 499
Регистрация: 26.9.2004
Где: Таллинн

Репутация: нет
Всего: 3



user posted image
user posted image
PM WWW   Вверх
VSB
Дата 28.4.2011, 23:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 113
Регистрация: 23.8.2007

Репутация: 1
Всего: 2



Karta, нужно не называть переменную именем класса
PM MAIL   Вверх
Karta
Дата 19.5.2011, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 4.6.2009

Репутация: нет
Всего: 0



"Ошибка    1    Программа "C:\Documents and Settings\Администратор\Мои документы\Visual Studio 2005\Projects\isoline\isoline\obj\Debug\isoline.exe" не содержит статического метода "Main", подходящего для точки входа"

Этот класс непременно нужно добавить и что тогда он должен содержать?

PM MAIL   Вверх
ReFleX
Дата 19.5.2011, 18:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 499
Регистрация: 26.9.2004
Где: Таллинн

Репутация: нет
Всего: 3



Main() главный метод с которого всё запускается. Он должен быть!
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0747 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.