Вопрос скорее всего простой, но в книжке ответа не нашел
...
Хочу задать структуру Matrix3D, которая по сути является просто массивом double[3,3]. Подскажите, как это звучит на C#?
Здравствуйте, Cyberdrill, Вы писали:
C>Вопрос скорее всего простой, но в книжке ответа не нашел ...
C>Хочу задать структуру Matrix3D, которая по сути является просто массивом double[3,3]. Подскажите, как это звучит на C#?
Да так и звучит double[3,3]
А вообще есть вот:
http://msdn.microsoft.com/en-us/library/system.drawing.drawing2d.matrix_members.aspx
,что быть может Вас удовлетворит.
Здравствуйте, Nuseraro, Вы писали:
N>Да так и звучит double[3,3]
N>А вообще есть вот:
N>http://msdn.microsoft.com/en-us/library/system.drawing.drawing2d.matrix_members.aspx
N>,что быть может Вас удовлетворит.
Спасибо за ответ. Но неужели нет способа как-нибудьописать структуру:
struct Matrix3D ..... , которая по сути является double[3,3], так, чтобы в коде затем:
Matrix3D matrix=new Matrix3D();
Может это бзик, но хочется почему-то именно так... double[,] не красиво )
А в Microsoftовской ссылке смущает, что пространство имен Drawing2D, когда я планирую операции в 3D пространстве... Да и вобще, мне просто нужна структура...
Здравствуйте, Cyberdrill, Вы писали:
C>Здравствуйте, Nuseraro, Вы писали:
N>>Да так и звучит double[3,3]
N>>А вообще есть вот:
N>>http://msdn.microsoft.com/en-us/library/system.drawing.drawing2d.matrix_members.aspx
N>>,что быть может Вас удовлетворит.
C>Спасибо за ответ. Но неужели нет способа как-нибудьописать структуру:
C>struct Matrix3D ..... , которая по сути является double[3,3], так, чтобы в коде затем:
C>Matrix3D matrix=new Matrix3D(); Может это бзик, но хочется почему-то именно так... double[,] не красиво )
C>А в Microsoftовской ссылке смущает, что пространство имен Drawing2D, когда я планирую операции в 3D пространстве... Да и вобще, мне просто нужна структура...
Ну насколько помню Matrix3D буит double[4,4] (ибо точка есть {x,y,z,1}а вектор {x,y,z,0} или наоборот — непомню)
struct Matrix3D
{
double[,] m_Matrix = new double[4,4];
public double this[int r,int c]
{
get;set;
}
//ну и так далее
}
Здравствуйте, Cyberdrill, Вы писали:
C>Хочу задать структуру Matrix3D, которая по сути является просто массивом double[3,3]. Подскажите, как это звучит на C#?
Ну так объявите класс, содержащий double[3,3] (хотя матрицы преобразований в 3д, например, имеют размерность 4х4) в виде члена и определите индексер так, чтобы он дергал данные из этого дабла. Правда, может получиться оверхед небольшой, но, думаю, оптимизатор тут справляется.