| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Интерполяция между двумя точками

Интерполяция между двумя точками

Ответ
Поиск в этой теме
Непрочитано 15.05.2009, 18:29 #1
Интерполяция между двумя точками
postbudka
 
Маркшейдер
 
Макеевка
Регистрация: 02.11.2008
Сообщений: 165

Есть ли программка (лисп) для интерполяции между двумя точками с указанными значениями.
Если есть, дайте пожалуйста ссылку (поиском пользовался, кое какие программы нашлись, но они выдают немного не тот конечный результат, который хотелось бы (простановка точек)).
Если нет, то не соблаговолят ли шарящие в лиспе товарищи помочь в написании. Думаю, что задача не очень сложная, особенно для тех, кто знает лисп.

Как я это представляю себе:
1. Указываем первую точку;
2. Вводим значение (высотную отметку, мощность и т.п.) первой точки;
3. Указываем вторую точку;
4. Вводим значение второй точки.
5. Вводим шаг интерполяции (допустим 0,5 или 1,0 м)
6. Результат - простановка точек между указанными вершинами согласно их (вершин) значений и шага (если бы ещё и подписывались - это вообще было бы круто!)

Плиз, очень надо!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Просмотров: 16459
 
Непрочитано 15.05.2009, 19:15
#2
sasha_lif

Дизайнер-конструктор
 
Регистрация: 29.05.2004
Kiev
Сообщений: 1,187
<phrase 1=


Интерполяция между двумя точками - ты хочешь прямую линию??? и на ней точки??, ил ичтобы грубо говоря, сплайном скругляло между НЕСКОЛЬКИМИ точками?

если первое (прямая линия) =то пробуй _divide или _measure , предварительно поставь стиль точки в какой-нибудь кружок

По второму случаю- не подскажу
__________________
Kiev, Ukraine
sasha_lif вне форума  
 
Непрочитано 15.05.2009, 19:48
#3
sbi


 
Регистрация: 27.04.2008
SPB
Сообщений: 3,285
Отправить сообщение для sbi с помощью Skype™


А понятие интерполяции знакомо? По общему счёту все кривые в каде апроксимилируются отрезками прямых с определенным шагом.
__________________
С уважением sbi
sbi вне форума  
 
Непрочитано 15.05.2009, 19:56
#4
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,337


_spline
по двум точкам интерполяцию не сделаешь...
для получения интерполяционного многочлена требуется как можно больше точек для точности
Хмурый вне форума  
 
Автор темы   Непрочитано 15.05.2009, 20:01
#5
postbudka

Маркшейдер
 
Регистрация: 02.11.2008
Макеевка
Сообщений: 165


Да, нужны точки на прямой, соединяющей 2 вершины, но без прямой. Команды divide и measure не подходят, т.к. они отталкиваются от одной из вершин и далее разбивают прямую на одинаковые отрезки. У меня другой вариант, попытаюсь объяснить подробней:
Есть 2 вершины, расстояние между ними 100 метров, отметка первой вершины +1,1 метра, отметка второй вершины +2,65 метра, шаг интерполирования 0,5 метра. Т.е. нужно проставить на прямой, соединяющей эти вершины, точки с отметками +1,5, +2,0 и 2,5 метра. В данном примере между вершинами будет 3 точки с расстояниями 25,8, 32,2, 32,2 и 9,8 метра между ними.

1. Вызываю команду
2. Указываю первую вершину
3. Ввожу "1.1"
4. Указываю вторую вершину
5. Ввожу "2.65"
6. Ввожу шаг "0.5"
Результат: 3 точки (в идеале подписанные) с расстояниями: вер.1 - т.+1.5 - 25,8 м; т.+1.5 - т.+2.0 - 32,2 м; т.+2.0 -т.+2.5 - 32,2 м; т.+2.5 - вер.2 - 9,8 м
Потом, получив таким образом кучу точек, я сам соединю их с одинаковыми отметками сплайном
Надеюсь объяснил подробно
postbudka вне форума  
 
Непрочитано 15.05.2009, 20:04
#6
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,337


это не интерполяция
не проще-ли использовать команду _offset
Миниатюры
Нажмите на изображение для увеличения
Название: SpxImage106.jpg
Просмотров: 467
Размер:	27.0 Кб
ID:	20438  

Последний раз редактировалось Хмурый, 15.05.2009 в 20:12.
Хмурый вне форума  
 
Автор темы   Непрочитано 15.05.2009, 20:11
#7
postbudka

Маркшейдер
 
Регистрация: 02.11.2008
Макеевка
Сообщений: 165


Ну хорошо, не интерполяция! Разбивка точек?! Или как это по науке назвать? Гипотетически лиспик можно сбацать???
postbudka вне форума  
 
Непрочитано 15.05.2009, 20:13
#8
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,337


Цитата:
Сообщение от postbudka Посмотреть сообщение
Ну хорошо, не интерполяция! Разбивка точек?! Или как это по науке назвать? Гипотетически лиспик можно сбацать???
см. моё предыдущее сообщение.
Хмурый вне форума  
 
Автор темы   Непрочитано 15.05.2009, 20:21
#9
postbudka

Маркшейдер
 
Регистрация: 02.11.2008
Макеевка
Сообщений: 165


Да я всё понимаю. Сам так делал. Но это сколько ж разрезов нужно построить, если у меня допустим 100 точек. Можно и без разрезов: длину между вершинами померял, калькулятор в руки и вперёд! Поэтому я и прошу (умоляю) сделать программку. Мне кажется так будет намного быстрее.
postbudka вне форума  
 
Непрочитано 15.05.2009, 20:29
#10
Рyslan


 
Регистрация: 25.07.2007
Сообщений: 2,508


2 бакса
Рyslan вне форума  
 
Непрочитано 15.05.2009, 20:36
#11
sbi


 
Регистрация: 27.04.2008
SPB
Сообщений: 3,285
Отправить сообщение для sbi с помощью Skype™


Цитата:
Сообщение от Рyslan Посмотреть сообщение
2 бакса
4 бакса, кто больше?
Да, забыл сказать, скобки не умею расставлять, а на другом языке можно?
__________________
С уважением sbi

Последний раз редактировалось sbi, 15.05.2009 в 20:44. Причина: Склероз
sbi вне форума  
 
Непрочитано 16.05.2009, 16:47
#12
CB

Конструирование в области нефтеразведки
 
Регистрация: 10.02.2006
Гомель
Сообщений: 321


Цитата:
Сообщение от postbudka Посмотреть сообщение
Ну хорошо, не интерполяция! Разбивка точек?! Или как это по науке назвать? Гипотетически лиспик можно сбацать???
"Сбацать" конечно же можно, только требуются дополнения к ТЗ ...
Поэтому для начала пока так:
Пусть имеются две точки
Код:
[Выделить все]
(setq pt '(0.0 1.1))
(setq pt1 '(100.0 2.65))
Далее пишеи простенькую программу, которая находит координату точки в зависимости от этих точек и значения высотной отметки
Код:
[Выделить все]
(defun test (a b y)
  ((lambda (k)
     (list (/ (- y (- (cadr a) (* k (car a)))) k) y)
   ) ;_ end of lambda
    (apply '/ (reverse (mapcar '- b a)))
  )
) ;_ end of defun
;;;(test pt pt1 1.1)
;;;(0.0 1.1)
;;;(test pt pt1 2.65)
;;;(100.0 2.65)
;;;(test pt pt1 1.5)
;;;(25.8065 1.5)
Дальше пока не понятно - кто должен указать программе, что начинать считать нужно с отметки 1.5?
Задаем пока вручную...
Код:
[Выделить все]
(setq lst
       (mapcar '(lambda (x)
                  (test pt pt1 x)
                ) ;_ end of lambda
               '(1.1 1.5 2. 2.5 2.65)
       ) ;_ end of mapcar
) ;_ end of setq
;;;-> ((0.0 1.1) (25.8065 1.5) (58.0645 2.0) (90.3226 2.5) (100.0 2.65))
Ну и
Цитата:
В данном примере между вершинами будет 3 точки с расстояниями 25,8, 32,2, 32,2 и 9,8 метра между ними.
Код:
[Выделить все]
((lambda (lst)
   (mapcar '- (cdr lst) lst)
 ) ;_ end of lambda
  (mapcar 'car lst)
)
-> (25.8065 32.2581 32.2581 9.67742)
Цитата:
Потом, получив таким образом кучу точек, я сам соединю их с одинаковыми отметками сплайном
???
CB вне форума  
 
Автор темы   Непрочитано 16.05.2009, 22:05
#13
postbudka

Маркшейдер
 
Регистрация: 02.11.2008
Макеевка
Сообщений: 165


Цитата:
Дальше пока не понятно - кто должен указать программе, что начинать считать нужно с отметки 1.5?
Она сама должна вычислить. Я так понимаю, нужно определить минимум (1.1) и далее первое значение с целым остатком от деления на шаг: 1.5/0.5=3, но эта отметка не должна быть больше второго значения (1.5=<2.65)
А результат работы этой программы: она просто определяет длины между точками или наносит их?
postbudka вне форума  
 
Непрочитано 17.05.2009, 14:00
#14
CB

Конструирование в области нефтеразведки
 
Регистрация: 10.02.2006
Гомель
Сообщений: 321


Код:
[Выделить все]
(defun C:test (/ pt pt1 y s)
  (setq pt (getpoint "\nПервая точка: "))
  (setq pt1 (getpoint "\nВторая точка: "))
  (setq s (getreal "\nШаг: "))
  (mapcar
    '(lambda (x)
       (entmakex
         (list '(0 . "POINT") (cons 10 x))
       ) ;_ end of entmakex
     ) ;_ end of lambda
    (list pt pt1)
  ) ;_ end of mapcar
  (setq y 0)
  ((lambda (y k / x)
     (while (< (cadr pt) y (cadr pt1))
       (setq x (+ (* y k) (- (car pt) (* k (cadr pt)))))
       (entmakex
         (list '(0 . "POINT") (cons 10 (list x y)))
       ) ;_ end of entmakex
       (setq y (+ y s))
     ) ;_ end of while
   ) ;_ end of lambda
    (while (<= y (cadr pt)) (setq y (+ y s)))
    (apply '/ (mapcar '- pt1 pt '(0 0)))
  )
) ;_ end of defun
CB вне форума  
 
Автор темы   Непрочитано 17.05.2009, 22:37
#15
postbudka

Маркшейдер
 
Регистрация: 02.11.2008
Макеевка
Сообщений: 165


А можно добавить запрос на ввод первого и второго значения для соответствующих точек?
postbudka вне форума  
 
Непрочитано 18.05.2009, 00:10
#16
CB

Конструирование в области нефтеразведки
 
Регистрация: 10.02.2006
Гомель
Сообщений: 321


Да добавить то можно, но
1. Это текстовые переменные или числа?
2. Где они должны быть задействованы?
CB вне форума  
 
Автор темы   Непрочитано 18.05.2009, 20:56
#17
postbudka

Маркшейдер
 
Регистрация: 02.11.2008
Макеевка
Сообщений: 165


1. Это числа;
2. Задействованы они должны быть только в данном конкретном случае. При интерполяции между двумя другими точками будут другие значения и т.д. (если я правильно понял вопрос).
postbudka вне форума  
 
Непрочитано 18.05.2009, 23:12
#18
Лентяй

Project Engineer
 
Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392


postbudka, держи лиспу, накорябаную для оцифровки кривых в ХУ-координатах. Выдает таблицу в excell. Требования: кривая должна быть полилинией.
Код:
[Выделить все]
(defun C:XY ( / adoc util LIQ VAP pt0 pt1 par_ln refs par xy n)
  (vl-load-com)
  (defun IntPnts (ln pt ang / xln)
    (setq xln (vla-addline csp (vlax-3d-point pt) (vlax-3d-point (polar pt ang 0.1)))
	  ips (vlax-safearray->list (vlax-variant-value (vla-IntersectWith ln xln acExtendOtherEntity))))
    (vla-delete xln)
    ips
  );defun
; 
  (setq adoc (vla-get-ActiveDocument (vlax-get-acad-object))
        util (vla-get-utility adoc))
  (vla-getentity util 'cur nil "\nВыбрать кривую: ")
  (vla-InitializeUserInput util 128)
  (setq kw1 (vla-getKeyWord util "Единицы Y [Actual/Fraction]: <Fraction>"))  
  (if (= kw "A") (setq VA (vla-getReal util "Ввести наибольшее значение: ")
		       VB (vla-getReal util "Ввести наименьшее значение: ")
		       DV (vla-getReal util "Ввести инкремент: "))
    (progn  (setq refs (vla-getInteger util "\nВвести число точек: "))));if 
  (setq pt0 (vlax-curve-getStartPoint cur)
	pt1 (vlax-curve-getEndPoint cur)
	csp (vla-ObjectIDtoObject adoc (vla-get-ownerID cur))		
;	refs (if (vl-catch-all-error-p (vl-catch-all-apply 'vla-getInteger (list util "\nNumber of Points <10>: ? "))) 10)
	par_ln (vla-addLightWeightPolyline csp (vlax-make-variant (vlax-safearray-fill (vlax-make-safearray vlax-vbDouble '(0 . 3))
		       (list (car pt0) (cadr pt0) (car pt1) (cadr pt1)))))
	par 0.000 XY nil n 0);setq
  (vla-InitializeUserInput util 128)
  (setq kw2 (vla-getKeyWord util "Калибровать ось X [Yes/No]: <No> ?")) 
  (if (= kw1 "") (setq kw1 "F")) (if (= kw2 "") (setq kw2 "N"))
  (if (= kw2 "N") (setq kw2 1)
    (progn (vla-getentity util 'cl nil "\Выбрать калибровочную линию: ")
      (setq cpt (vlax-safearray->list (vlax-variant-value (vla-IntersectWith cl par_ln 0)))
	    cv (/ (vla-getReal util "Ввести калибровочное значение: ") (vlax-curve-getParamAtPoint par_ln cpt))));if
  (while (< par 1.000)    
    (setq pnt (vlax-curve-getPointAtParam par_ln par))
    (if (= kw "A") (setq X (vlax-curve-getParamAtPoint par_ln (IntPnts par_ln (IntPnts cur pnt 0) (/ pi 2)))
			 XY (cons (list (* cv X) (+ VB (* par (- VA VB)))) XY)
			 par (+ par (/ DV (- VA VB))))
      (setq X (IntPnts cur pnt (/ pi 2)
	    XY (cons (list par (+ VB (* (vlax-curve-getParamAtPoint par_ln X) (- TA TB)))) XY)
	    (setq par  (+ par (/ 1.000 refs)))))));while
  (setq XY (reverse XY))
  (vla-delete par_ln)

  (setq ch_ex (vlax-get-or-create-object "Excel.Application"))
  (mapcar '(lambda (x y) (vlax-put-property ch_ex x y)) '(SheetsInNewWorkbook Visible) '(1 :vlax-true))
  (setq ch_shs (vlax-get-property (vlax-invoke-method (vlax-get-property ch_ex 'Workbooks) 'Add) 'Sheets)
	ch_csh (vlax-get-property ch_shs 'Item 1))
  (vlax-put-property ch_csh 'Name "Кривая")

  (while (<= n (length XY))
    (setq col (mapcar '(lambda (x) (strcat x (itoa (1+ n)))) '("A" "B" "C"))
	  rngs (mapcar '(lambda (x) (vlax-get-property ch_ex "Range" x)) col))
    (mapcar '(lambda (x y) (vlax-put-property x "value2" y)) rngs
	    (if (= n 0) '("Точка" "X" "Y") (cons n (nth (1- n) XY))))
    (setq n (1+ n)));while

  (mapcar '(lambda (x) (if (and x (not (vlax-object-released-p x))) (vlax-release-object x)))
	  (list ch_csh ch_shs ch_ex))
  (gc)
);end
Лентяй вне форума  
 
Непрочитано 19.05.2009, 10:53
#19
CB

Конструирование в области нефтеразведки
 
Регистрация: 10.02.2006
Гомель
Сообщений: 321


Цитата:
Сообщение от postbudka Посмотреть сообщение
если я правильно понял вопрос.
Наверное не правильно. Вот что я имел в виду:
1. Запрос на на ввод первого и второго значения можно сделать по разному

Код:
[Выделить все]
 
(getstring "\nВведите высотную отметку для первой точки: ")
 
-> Введите высотную отметку для первой точки: 1.1
"1.1"
или
Код:
[Выделить все]
 
(getreal "\nВведите высотную отметку для первой точки: ")
-> Введите высотную отметку для первой точки: 1.1
1.1
Видно, что первый ввод - это текст, второй - число.
2. Теперь главное - ДЛЯ ЧЕГО ЭТО НУЖНО. Если в программу вводится переменная - она должна где-то использоваться. Вопрос - где?
Если нужно просто подписать эти значения над точками - должен быть текст.
Если нужно дальше что-то считать, лучше число (хотя текст перевести в число можно (rtos 1.1) -> "1.1")
Число (ИМХО) можно в принципе применить для пересчета значений высотных отметок. Что я имею в виду.
Пусть, к примеру, начальная точка имеет координаты '(30 15), конечная '(100 60).
Делаем запрос на на ввод первого значения - например 3.
Т.е. 15 соответствует значению 3 -> k= 15/3 = 5.
Отсюда вопрос - зачем делать запрос на на ввод второго значения, оно вычисляется - 60/5=12 ???

Последний раз редактировалось CB, 19.05.2009 в 11:13.
CB вне форума  
 
Автор темы   Непрочитано 19.05.2009, 19:09
#20
postbudka

Маркшейдер
 
Регистрация: 02.11.2008
Макеевка
Сообщений: 165


to CB:
Мы наверное друг друга немного недопонимаем. Крутимся где-то рядом. Попытаюсь максимально подробно описать ситуацию: я работаю на шахте, есть план горных выработок с нанесенными скважинами по шахтному полю. Мне нужно построить изомощности непосредственной кровли пласта - сланца. По каждой скважине есть значение мощности сланца. Изомощности мне нужно провести на всём поле через каждые 0,5 метра (это шаг интерполяции, в данном случае он равен 0,5, в другом случае может быть иным, поэтому и нужен запрос на ввод значения шага). Указывая первую точку, я указывая одну скважину, указывая вторую точку - вторую скважину. Вводимые значения мощностей - ЧИСЛА, их подписывать не надо и далее эти значения нигде использоваться не будут. Подписать желательно было бы те точки, которые находятся МЕЖДУ скважинами для лучшей ориентации при дальнейшем соединении точек с одинаковыми отметками. Вот эти подписи - ТЕКСТ. Далее я указываю следующую пару точек и их значения, получаю ещё точки. И так далее по всему полю. Потом вручную соединяю все точки о одинаковым значением сплайном.
Не совсем, вернее совсем не врубился во фразу:
Цитата:
Пусть, к примеру, начальная точка имеет координаты '(30 15), конечная '(100 60).
Делаем запрос на на ввод первого значения - например 3.
Т.е. 15 соответствует значению 3 -> k= 15/3 = 5.
Отсюда вопрос - зачем делать запрос на на ввод второго значения, оно вычисляется - 60/5=12 ???
Значения крайних точек абсолютно самостоятельные и не вычисляются относительно друг друга.
postbudka вне форума  
 
Непрочитано 19.05.2009, 22:11
#21
sbi


 
Регистрация: 27.04.2008
SPB
Сообщений: 3,285
Отправить сообщение для sbi с помощью Skype™


Цитата:
Сообщение от postbudka Посмотреть сообщение
to CB:
Мы наверное друг друга немного недопонимаем. Крутимся где-то рядом. Попытаюсь максимально подробно описать ситуацию: я работаю на шахте, есть план горных выработок с нанесенными скважинами по шахтному полю. Мне нужно построить изомощности непосредственной кровли пласта - сланца. По каждой скважине есть значение мощности сланца. Изомощности мне нужно провести на всём поле через каждые 0,5 метра (это шаг интерполяции, в данном случае он равен 0,5, в другом случае может быть иным, поэтому и нужен запрос на ввод значения шага). Указывая первую точку, я указывая одну скважину, указывая вторую точку - вторую скважину. Вводимые значения мощностей - ЧИСЛА, их подписывать не надо и далее эти значения нигде использоваться не будут. Подписать желательно было бы те точки, которые находятся МЕЖДУ скважинами для лучшей ориентации при дальнейшем соединении точек с одинаковыми отметками. Вот эти подписи - ТЕКСТ. Далее я указываю следующую пару точек и их значения, получаю ещё точки. И так далее по всему полю. Потом вручную соединяю все точки о одинаковым значением сплайном.
Не совсем, вернее совсем не врубился во фразу:
Значения крайних точек абсолютно самостоятельные и не вычисляются относительно друг друга.
Извите, что вклиниваюсь в Вашу переписку
Тяжелый случай, решать проблемы изополей методом "интерполяции", с помощью "голого акада", не понимая при этом, какой формы должна быть кривая, с точки зрения науки о земле и, вдобавок, не формулируя вопрос. "Крутимся где-то рядом". Ну хочется и все тут.
__________________
С уважением sbi
sbi вне форума  
 
Автор темы   Непрочитано 19.05.2009, 22:31
#22
postbudka

Маркшейдер
 
Регистрация: 02.11.2008
Макеевка
Сообщений: 165


to sbi:
Зачем так всё усложнять? Причём тут наука о земле, кривые? Нужно разбить условную прямую между двумя точками. Всё! Объяснял максимально подробно как мог.
Цитата:
Ну хочется и все тут.
Не хочется - и не надо.
postbudka вне форума  
 
Непрочитано 20.05.2009, 02:18
#23
KAI

геологоразведка, строительство
 
Регистрация: 14.10.2003
Магадан
Сообщений: 311


Цитата:
Сообщение от postbudka Посмотреть сообщение
to sbi:
Нужно разбить условную прямую между двумя точками. Всё! Объяснял максимально подробно как мог.
Может это подойдет?
http://geol-dh.ru/kai_stru.html#drawing_sp
Миниатюры
Нажмите на изображение для увеличения
Название: SLOPE.jpg
Просмотров: 184
Размер:	41.6 Кб
ID:	20717  
__________________
Лень - великий двигатель прогресса!
KAI вне форума  
 
Непрочитано 20.05.2009, 10:55
#24
john644


 
Регистрация: 06.05.2009
Сообщений: 18


Кажется сюда. Нужно обрезать линию по х
Наверное что-то у меня с математикой плохо совсем Посмотрите и подскажите пожалуйста
Код:
[Выделить все]
(defun c:obrez ()
(setq nabpln01 nil)
(setq t1 (getpoint "Укажите первую точку"))
(setq nabpln01 (cons t1 nabpln01))
(setq t2 (getpoint "Укажите 2-ую точку"))
(setq nabpln01 (cons t2 nabpln01))
(setq delt0x (getreal "Введите обрезание по х "))
(setq nabpln01 (reverse nabpln01))
(command "_line" (car nabpln01) (cadr nabpln01) "")
   (setq y001 (+ (cadar nabpln01)(*(- (caadr nabpln01)delt0x)
                  (/(- (cadadr nabpln01)(cadar nabpln01))(- (caadr nabpln01)(caar nabpln01))))))
     (setq npln01 (list delt0x y001 0.0))
       (setq nabpln1 (cons npln01 nabpln1))
(command "_line" (car nabpln1) (cadr nabpln01) "")
)

Последний раз редактировалось john644, 21.05.2009 в 10:01.
john644 вне форума  
 
Непрочитано 20.05.2009, 13:27
#25
E-degtyarev

Помогаю, кому делать нечего.
 
Регистрация: 27.03.2009
Русская деревня
Сообщений: 394


Вот набросал на скорую руку, без "защиты от дурака".
Попробуйте, может пригодится.
Код:
[Выделить все]
(defun c:iso ()
(setq p_1 (getpoint "\n Укажите первую точку:"))
(setq m_1 (getreal "\n Мощность в точке 1:"))
(setq p_2 (getpoint p_1 "\n Укажите вторую точку:"))
(setq m_2 (getreal "\n Мощность в точке 2:"))
(setq sh_1 (getreal "\n Шаг разметки:"))
(setq ugol (angle p_1 p_2))
(setq rasst (distance p_1 p_2))
(setq perepad (- m_2 m_1))
(setq sh_2 (/ (* perepad sh_1) rasst))
(setq kolith (fix (/ rasst sh_1)))
(setq sh_3 (+ m_1 sh_2))
(repeat	kolith
  (setq p_1 (polar p_1 ugol sh_1))
  (command "_point" p_1)
  (setq p_t (polar p_1 0.0 5))
  (command "_text" p_t "5.0" "0.0" (rtos sh_3 2 2))
  (setq sh_3 (+ sh_3 sh_2))
)
)
E-degtyarev вне форума  
 
Автор темы   Непрочитано 20.05.2009, 21:44
#26
postbudka

Маркшейдер
 
Регистрация: 02.11.2008
Макеевка
Сообщений: 165


to KAI: Господи, ну наконец-то! Подойдёт и ещё как. То что нужно. Только один вопрос: эта программка (функция) идёт в поставляемом комплексе или её можно как-то отдельно "вырвать"?
to john644: Не смог запустить прогу
to E-degtyarev: Программа просто разбивает линию между вершинами на кучу точек с расстояниями между ними, равными 1 (хотя шаг вводил разный). В чём разница между ней и командой "Поделить"?
postbudka вне форума  
 
Непрочитано 21.05.2009, 02:06
#27
KAI

геологоразведка, строительство
 
Регистрация: 14.10.2003
Магадан
Сообщений: 311


Цитата:
Сообщение от postbudka Посмотреть сообщение
to KAI: Только один вопрос: эта программка (функция) идёт в поставляемом комплексе или её можно как-то отдельно "вырвать"?
Можно отдельно. Связь по Email.
__________________
Лень - великий двигатель прогресса!
KAI вне форума  
 
Непрочитано 21.05.2009, 10:00
#28
john644


 
Регистрация: 06.05.2009
Сообщений: 18


Цитата:
Сообщение от postbudka Посмотреть сообщение
to john644: Не смог запустить прогу
Исправил, так лучше?
john644 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Интерполяция между двумя точками

Размещение рекламы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
арифметические действия между двумя текстовыми элементами RЯков AutoCAD 31 09.09.2016 11:13
Вопрос по 3D: Как образмерить угол между двумя отрезками, находящимися в разных плоскостях? k8t AutoCAD 21 03.11.2015 09:29
создание касательной между двумя окружностями фрекен_бок AutoCAD 1 21.02.2009 22:14
Как определить расстояние между 2 точками по spline? Хотабыч Программирование 5 22.01.2006 15:33